Eu tenho uma máquina Linux em uma rede segregada em que eu VPN. Quando eu VPN em, eu sou atribuído um IP virtual pelo servidor VPN como 192.168.251.x
Descobri que, quando eu conecto a VPN, posso fazer caixas de RDP para o Windows sem problemas. Ping, http, rdp, etc. todo o trabalho. No entanto, a caixa do Linux não está acessível imediatamente. Na verdade, eu tenho que primeiro o RDP em uma máquina que já está na rede segregada, e então eu posso ssh na caixa do Linux.
Isso me diz que a caixa do Linux está aceitando apenas o tráfego de dispositivos que já estão em sua sub-rede nativa e que eu preciso dizer para aceitar tráfego da sub-rede VPN virtual da qual os dispositivos externos serão originados.
Eu tentei esta regra:
sudo iptables -A INPUT -p tcp -s 192.168.251.0/24 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Onde 192.168.251.0/24 é a sub-rede VPN virtual. Mas ainda não consigo pingar a caixa do Linux ainda da minha máquina host conectada. Então, adicionei a regra errada ou a adicionei incorretamente. Alguma dica / orientação?
user@HOST:~> uname -a
Linux HOST 3.0.51-0.7.9-default #1 SMP Thu Nov 29 22:12:17 UTC 2012 (f3be9d0) x86_64 x86_64 x86_64 GNU/Linux
user@HOST:~> cat /proc/version Linux
version 3.0.51-0.7.9-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP Thu Nov 29 22:12:17 UTC 2012 (f3be9d0)
Estou adicionando a regra errada ou faltando uma regra?
EDITAR:
Meus iptables atuais:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.251.0/24 anywhere ctstate NEW,ESTABLISHED
Além disso, uma captura de pacotes do tráfego icmp e http / s mostra o tráfego do meu cliente VPN indo para a máquina Linux, mas nunca nenhum tráfego de retorno da máquina Linux. Nem mesmo uma resposta com "invalid XXX" ou qualquer coisa. Isso indica que o tráfego está caindo, se não me engano.
EDITAR:
user@HOST:~> ip route sh
127.0.0.0/8 dev lo scope link
169.254.0.0/16 dev eth0 scope link
192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.219
user@HOST:~> sudo iptables --list
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere 192.168.251.0/24 ctstate ESTABLISHED
EDITAR:
A solução para mim foi executar:
sudo ip route add default via 192.168.20.1
Depois consegui fazer ping e telnet para a caixa diretamente via VPN.