Um servidor OpenVPN está sendo executado em um Raspberry Pi com Raspbian GNU Linux 8. A interface wlan0
do Pi está associada ao endereço IP 192.168.1.12. O Pi tem acesso à internet através do wlan0 via gateway 192.168.1.1. O Pi também é equipado com um adaptador ethernet eth0
com endereço IP 192.168.2.2. A fim de expor a conexão com a internet para os computadores conectados via VPN, eu fiz
sudo iptables -t nat -A POSTROUTING -o wlan0 -s 10.8.0.0/24 -j MASQUERADE
Eu inicio o servidor VPN para fins de teste na linha de comando com
/usr/sbin/openvpn --writepid /run/whatever --cd /etc/openvpn/ --config openvpn.conf
Outra máquina do Windows 8.1 tem a versão 2.3.11 do OpenVPN Client instalada e pode acessar o Pi através da interface wlan0
e eth0
.
A conexão com o servidor OpenVPN da máquina Windows pode ser estabelecida com sucesso nas duas interfaces.
O problema:
Se a máquina do Windows se conecta ao servidor VPN através da interface eth0, a internet está acessível. Porém, ao mudar o ip do servidor na configuração do cliente para o da interface wlan0 do Pi, a internet não funciona mais. Eu tentei desativar o firewall ZoneAlarm no computador cliente e liberar todos os iptables no Pi (exceto a diretiva POSTROUTING), sem sucesso.
O OpenVPN log file
(nível detalhado 9) mostra
Sun Jul 31 18:21:58 2016 us=515039 ux32/192.168.1.11:53346 STATE S_NORMAL_OP
Sun Jul 31 18:21:58 2016 us=515133 ux32/192.168.1.11:53346 ACK
reliable_can_send active=0 current=0 : [46]
Sun Jul 31 18:21:58 2016 us=515267 ux32/192.168.1.11:53346 ACK reliable_send_timeout 604800 [46]
Sun Jul 31 18:21:58 2016 us=515356 ux32/192.168.1.11:53346 TLS: tls_process: timeout set to 1096
Sun Jul 31 18:21:58 2016 us=515485 ux32/192.168.1.11:53346 TLS: tls_multi_process: i=1 state=S_INITIAL, mysid=8f6b297a 6d672983, stored-sid=00000000 00000000, stored-ip=[undef]
Sun Jul 31 18:21:58 2016 us=515616 ux32/192.168.1.11:53346 TLS: tls_multi_process: i=2 state=S_UNDEF, mysid=00000000 00000000, stored-sid=00000000 00000000, stored-ip=[undef]
Sun Jul 31 18:21:58 2016 us=515754 ux32/192.168.1.11:53346 RANDOM USEC=152453
Sun Jul 31 18:21:58 2016 us=515886 ux32/192.168.1.11:53346 SCHEDULE: schedule_add_modify wakeup=[Sun Jul 31 18:22:14 2016 us=102908] pri=1004941034
Sun Jul 31 18:21:58 2016 us=515977 MULTI TCP: multi_tcp_post TA_TIMEOUT -> TA_UNDEF
Sun Jul 31 18:21:58 2016 us=516098 SCHEDULE: schedule_find_least wakeup=[Sun Jul 31 18:22:14 2016 us=102908] pri=158513910
Aqui a configuração do servidor OpenVPN:
dev tun
proto tcp
port 1194
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
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "route 0.0.0.0 0.0.0.0"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option WINS 208.67.220.220"
client-to-client
status /var/log/openvpn-status.log
log-append /var/log/openvpn
persist-key
persist-tun
verb 9
E a configuração do cliente OpenVPN:
dev tun
client
proto tcp
remote 192.168.1.12 1194 [no inet] / 192.168.2.2 1194 [inet]
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert ux32.crt
key ux32.key
verb 3
A única mudança entre a configuração de trabalho e a não de trabalho é a alteração do endereço IP do servidor via remote
.
A tabela de roteamento no computador cliente:
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.11 281
0.0.0.0 0.0.0.0 10.8.0.5 10.8.0.6 20
0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 20
10.8.0.4 255.255.255.252 Auf Verbindung 10.8.0.6 276
10.8.0.6 255.255.255.255 Auf Verbindung 10.8.0.6 276
10.8.0.7 255.255.255.255 Auf Verbindung 10.8.0.6 276
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.1.11 306
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.195.1 306
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.235.1 306
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
192.168.1.0 255.255.255.0 Auf Verbindung 192.168.1.11 281
192.168.1.11 255.255.255.255 Auf Verbindung 192.168.1.11 281
192.168.1.12 255.255.255.255 192.168.1.1 192.168.1.11 25
192.168.1.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
192.168.195.0 255.255.255.0 Auf Verbindung 192.168.195.1 276
192.168.195.1 255.255.255.255 Auf Verbindung 192.168.195.1 276
192.168.195.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
192.168.235.0 255.255.255.0 Auf Verbindung 192.168.235.1 276
192.168.235.1 255.255.255.255 Auf Verbindung 192.168.235.1 276
192.168.235.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 10.8.0.6 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.195.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.235.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.1.11 281
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 10.8.0.6 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
===========================================================================
Deixe-me saber se alguma outra informação é relevante para resolver o problema. Eu sou grato por qualquer conselho.