No seu conector VPN, tente configurar a regra de mascaramento da seguinte forma
iptables -t nat -I POSTROUTANDO -o tun0 -j SNAT - para-fonte 192.168.2.6
Eu tenho uma conexão VPN com um servidor em um local remoto. Eu quero que outros PCs sejam capazes de alcançar o servidor na localização remota através do conector VPN. Mas eu não posso chegar onde eu quero.
Esta é a situação:
VPN Server (and also the webserver): 10.0.0.2
^
|
Router: 192.168.1.127 & 10.0.0.1 (openssh port is forwarded to 10.0.0.2)
^
|
|
VPN Connector: 192.168.1.148
^
|
Client pc: 192.168.1.129
Além disso, o ip das redes vpn (chamado tun0) são: Servidor VPN: 192.168.2.1 Conector VPN: 192.168.2.6
Então, se eu fizer login no VPN Connector, e fizer um wget 192.168.2.1:4848, ele funcionará bem.
Isso é bom, a conexão vpn funciona.
Mas o que eu quero fazer é: no PC cliente, vá para o navegador e vá para 192.168.1.148:4848. (esse é o conector vpn). Em seguida, o conector deve encaminhá-lo para o vpn mostrando-me o servidor web em 192.168.2.1 (o servidor vpn).
Esta é a configuração do meu IPTables:
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.148 --dport 4848 -m state --state NEW,ESTABLISHED,RELATED -j DNAT -to 192.168.2.1:4848
iptables -t nat -A POSTROUTING -o tun0 MASQUERADE
Então, eu sou relativamente novo no iptables, o que eu sinto falta?
Se eu fizer um tcpdump no conector vpn no tun0, posso ver que os pacotes vão através dele?
13:31:02.850057 IP 192.168.1.129.52870 > 192.168.2.1.1337: Flags [S], seq 538959383, win 8192, options [mss 1460,nop,nop,sackOK], length 0
Mas se eu fizer um tcpdump no servidor VPN no tun0, nada está acontecendo.
Sinto muito que este seja um longo post, mas o que estou fazendo de errado? Por favor ajude!
No seu conector VPN, tente configurar a regra de mascaramento da seguinte forma
iptables -t nat -I POSTROUTANDO -o tun0 -j SNAT - para-fonte 192.168.2.6