openvpn radius-plugin не назначает фрейм-IP-адрес от freeradius клиентам

Я новичок в openvpn. У меня есть установка openvpn на ubuntu 14.04, у которой есть бэкэнд радиуса AAA для аутентификации, авторизации и учета. В дополнение к этому мы настроили freeradius для назначения IP-адресов из пула в качестве frame-ip-address. Из журналов радиуса видно, что freeradius возвращает framed-ip-address в ответ на сообщение запроса доступа, когда аутентификация и авторизация успешны, но openvpn, похоже, игнорирует его и использует свой собственный пул IP, указанный в директиве сервера. Я хочу, чтобы openvpn уважал IP-адрес во фрейме, возвращаемый freeradius, но это не так. Поскольку у меня нет предыдущего опыта работы с 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

Radius Plugin:

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

шлюз по умолчанию также может

дайте мне знать, если вы хотите распечатать другую информацию.

Спасибо

1
задан 24 October 2018 в 11:43
1 ответ

Укажите директиву client-config-dir . Это то место, куда подключаемый модуль radius поместит файлы, которые будут использоваться openvpn для назначения ip.

Например. client-config-dir клиенты

1
ответ дан 3 December 2019 в 23:42

Теги

Похожие вопросы