openvpn radius-plugin 不會將 freeradius 中的 framed-ip-address 分配給客戶端
我是openvpn的新手。我在 ubuntu 14.04 上有一個 openvpn 設置,它有一個用於身份驗證、授權和記帳的半徑 AAA 後端。除此之外,我們還配置了 freeradius 以將池中的 ips 分配為 framed-ip-address。從半徑日誌來看,當身份驗證和授權成功時,freeradius 似乎返回 framed-ip-address 以響應訪問請求消息,但 openvpn 似乎忽略它並使用伺服器指令中指定的自己的 ip 池。我想要的是openvpn尊重freeradius返回的框架IP地址,但事實並非如此。由於我之前沒有使用 openvpn 的經驗,因此我希望得到專家的幫助。
這是我認為有問題的配置的 openvpn 方面。
OpenVPN 配置:
local 192.168.7.100 mode server port 443 proto tcp dev tun tcp-queue-limit 256 tun-mtu 1500 mssfix 1460 sndbuf 0 rcvbuf 0 cipher AES-256-CBC ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 plugin /etc/openvpn/rad/radiusplugin.so /etc/openvpn/rad/443.cnf client-cert-not-required username-as-common-name server 10.10.0.0 255.255.0.0 ;ifconfig-pool 10.0.0.0 10.1.255.254 ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" reneg-sec 0 keepalive 60 120 tcp-nodelay comp-lzo persist-key persist-tun status /etc/openvpn/443.log 1 status-version 1 verb 4 management 192.168.7.100 7505
半徑外掛:
NAS-Identifier=openvpn_tcp_443 Service-Type=5 Framed-Protocol=1 NAS-Port-Type=5 NAS-IP-Address=192.168.7.100 OpenVPNConfig=/etc/openvpn/tcp_443.conf subnet=255.255.255.0 overwriteccfiles=true nonfatalaccounting=false server { acctport=1813 authport=1812 name=192.168.7.102 retry=1 wait=1 sharedsecret=--redacted-- } server { acctport=1813 authport=1812 name=192.168.7.103 retry=1 wait=1 sharedsecret=--redacted-- }
謝謝你。
======================
更新
我對配置進行了以下更改。
topology subnet push "topology subnet" client-config-dir clients
添加 client-config-dir 後,正在分配 framed-ip-address。如前所述,現在從我的客戶那裡,我無法瀏覽任何內容。似乎無法正確路由流量。似乎存在路由問題或拓撲或其他我希望 openvpn 處理的問題,但事實並非如此。以下是可以幫助其理解的相關資訊。
分配給openvpn客戶端的ip是公網ip,路由設置在本機網關上。與 strongswan 一起使用時,相同的客戶端 ip 可以正常工作。這意味著它可以正確路由。但是對於openvpn,它不會。
伺服器機器上 ifconfig 的相關輸出。
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.10.0.1 P-t-P:10.10.0.1 Mask:255.255.255.0 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
route -n 的相關輸出
0.0.0.0 --redacted-- 0.0.0.0 UG 0 0 0 em2 10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 --redacted-- 0.0.0.0 255.255.255.248 U 0 0 0 em2
rp_filter 資訊:
root@us1-ps1:~# sysctl -a | grep rp_filter net.ipv4.conf.all.arp_filter = 0 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.arp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.em1.arp_filter = 0 net.ipv4.conf.em1.rp_filter = 0 net.ipv4.conf.em2.arp_filter = 0 net.ipv4.conf.em2.rp_filter = 0 net.ipv4.conf.lo.arp_filter = 0 net.ipv4.conf.lo.rp_filter = 0 net.ipv4.conf.tun0.arp_filter = 0 net.ipv4.conf.tun0.rp_filter = 0 root@us1-ps1:~# ping 10.10.0.1 PING 10.10.0.1 (10.10.0.1) 56(84) bytes of data. 64 bytes from 10.10.0.1: icmp_seq=1 ttl=64 time=0.058 ms 64 bytes from 10.10.0.1: icmp_seq=2 ttl=64 time=0.037 ms
網際網路工作正常。
root@us1-ps1:~# ping google.com PING google.com (172.217.0.46) 56(84) bytes of data. 64 bytes from lga15s43-in-f14.1e100.net (172.217.0.46): icmp_seq=1 ttl=51 time=20.3 ms 64 bytes from lga15s43-in-f14.1e100.net (172.217.0.46): icmp_seq=2 ttl=51 time=20.2 ms 64 bytes from lga15s43-in-f14.1e100.net (172.217.0.46): icmp_seq=3 ttl=51 time=20.2 ms ^C --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 20.216/20.279/20.338/0.171 ms
預設網關也可以ping通。
如果您想列印其他資訊,請告訴我。
謝謝
指定client-config-dir指令。是半徑外掛將放置openvpn用於分配IP的文件的位置。
例如。客戶端配置目錄客戶端