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
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.
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--
}
Obrigado.
======================
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
Tags openvpn freeradius freeradius2