Configurei um servidor OpenVPN (VPN ip = 10.8.0.1) em um servidor com ip público. E tenho uma estação de trabalho (Ubuntu) no meu laboratório com ip escolar que pode acessar recursos da intranet da escola.
Quero que meu telefone Android e PC com Windows possam acessar esses recursos. Então eu:
Configuração do servidor OpenVPN:
dev tun
topologia subnet
server 10.8.0.0 255.255.255.0
client-config-dir /etc/openvpn/server/ccd
push "route 10.8.0.0 255.255.255.0"
push "route-gateway 10.8.0.3"Conecte minha estação de trabalho ao servidor e obtenha um ip 10.8.0.3, sua configuração ccd (equivalente à configuração do cliente) é:
ifconfig-push 10.8.0.3 255.255.255.0
Na estação de trabalho, usei iptables e adicionei alguns itens:
$ sudo iptables -t filter -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s 10.8 .0.0/24 -o wlx0810752b55c9 -j MASCARADAA configuração do ccd do meu pc em casa é:
ifconfig-push 10.8.0.5 255.255.255.0
push "route-gateway 10.8.0.3"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"Resultado1 O PC não consegue se conectar à Internet. A tabela de rotas desse pc é:
impressão de rota -4
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.21 35
0.0.0.0 128.0.0.0 10.8.0.3 10.8.0.5 291
128.0.0.0 128.0.0.0 10.8.0.3 10. 8.0.5 291
os dois últimos itens são o que "redirect-gateway def1" adicionou, sem remover o gateway padrão original. Estou curioso para saber por que def1 funciona para redirecionar o tráfego? Como o gateway padrão original ainda está lá e com uma métrica melhor, nenhum tráfego passaria pela VPN.
Resultado 2 Meu telefone Android também não pode.
$ busybox ip route show table all
default via 10.183.93.203 dev ccmni0 table 1002
default dev tun0 src 10.8.0.4
10.8.0.0/24 dev tun0 table 1015
10.8.0.0/24 dev tun0 src 10.8.0.4 ...
Certifiquei-me de que a estação de trabalho não recebeu o tráfego:
$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
$
Já passei por muitos tópicos sobre isso sem nenhuma solução funcional. Então, qualquer um pode me ajudar, qualquer sugestão será apreciada!
Responder1
No diretório ccd do servidor o arquivo da estação de trabalho deve conter iroute Tente isso por favor, estou tentando fazer a mesma coisa sem usar o servidor de acesso e usando um cliente linux como gateway conforme mostrado aqui https://www.youtube.com/watch?v=b7qr0laM8kA