openvpn radius-plugin não atribui endereço ip-framed de freeradius para clientes

1

Eu sou novo no openvpn. Eu tenho uma configuração de openvpn no Ubuntu 14.04 que tem um back-end de raio AAA para autenticação, autorização e contabilidade. Além disso, configuramos o freeradius para atribuir ips a partir de um pool como endereço ip-frame. A partir dos logs radius, parece que o freeradius retorna o endereço ip-frame em resposta à mensagem de solicitação de acesso quando a autenticação e a autorização é bem-sucedida, mas o openvpn parece ignorá-la e usa seu próprio pool ip especificado na diretiva do servidor. O que eu quero é que o openvpn respeite framed-ip-address retornado pelo freeradius, mas isso não acontece. Desde que eu não tenho experiência prévia com openvpn, gostaria de receber ajuda de especialistas.

Aqui está o meu lado openvpn da configuração que eu acho que tem um problema.

Configuração do 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

Plugin do Radius:

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--
}

Obrigado.

======================

Atualizar

Eu fiz as seguintes alterações na configuração.

topology subnet

push "topology subnet"

client-config-dir clients

Depois de adicionar client-config-dir, o endereço ip-frame está sendo atribuído. Como mencionei anteriormente, agora dos meus clientes, não consigo navegar por nada. Parece que o tráfego não pode ser roteado corretamente. Parece haver um problema de roteamento ou a topologia ou qualquer outra coisa que eu espero que o openvpn manipule, mas isso não acontece. Aqui estão as informações relevantes que podem ajudá-lo a entender.

O ip atribuído ao cliente openvpn é um ip público cujo roteamento é definido no gateway da máquina. O mesmo ip do cliente funciona corretamente quando usado com o strongswan. O que significa que é adequadamente roteável. Mas com o openvpn, isso não acontece.

saída relevante do ifconfig na máquina do servidor.

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)

saída relevante da rota -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

a informação 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

A Internet está funcionando corretamente.

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
O

gateway padrão também pode ser pingado.

deixe-me saber se você deseja imprimir outras informações.

Obrigado

    
por 4_dev 15.08.2016 / 13:31

1 resposta

1

Especifique a diretiva client-config-dir . É onde o plugin radius colocará os arquivos que serão utilizados pelo openvpn para atribuir o ip.

clientes client-config-dir

    
por 16.08.2016 / 19:30