Я новичок в openvpn. У меня есть установка openvpn на ubuntu 14.04, у которой есть бэкэнд радиуса AAA для аутентификации, авторизации и учета. В дополнение к этому мы настроили freeradius для назначения IP-адресов из пула в качестве frame-ip-address. Из журналов радиуса видно, что freeradius возвращает framed-ip-address в ответ на сообщение запроса доступа, когда аутентификация и авторизация успешны, но openvpn, похоже, игнорирует его и использует свой собственный пул IP, указанный в директиве сервера. Я хочу, чтобы openvpn уважал IP-адрес во фрейме, возвращаемый freeradius, но это не так. Поскольку у меня нет опыта работы с 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--
}
Спасибо.
======================
Я внес следующие изменения в config.
topology subnet
push "topology subnet"
client-config-dir clients
После добавления client-config-dir назначается ip-адрес в рамке. Как упоминалось ранее, сейчас из моих клиентов я ничего не могу просматривать. Кажется, трафик не может быть правильно маршрутизирован. Кажется, есть проблема с маршрутизацией или топологией или что-то еще, что я ожидаю, что openvpn обработает, но это не так. Вот соответствующая информация, которая поможет его понять.
IP-адрес, назначенный клиенту openvpn, является общедоступным IP-адресом, маршрутизация которого настроена на шлюзе машины. Тот же IP-адрес клиента работает правильно при использовании с strongswan. Это означает, что он правильно маршрутизируемый. Но с 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)
соответствующий вывод маршрута -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
шлюз по умолчанию также может быть опрошен.
дайте мне знать, если вы хотите распечатать другую информацию.
Спасибо
Укажите клиент-конфигурация-каталог директива. Это то место, куда плагин radius поместит файлы, которые будут использоваться openvpn для назначения ip.
Например. client-config-dir клиенты