Rota apenas tráfego ssh através de VPN

4

É possível encaminhar o serviço SSH de um computador por meio de uma conexão VPN, mas permitir que TODOS os outros dados saiam pelo endereço da WAN? Que tipo de mágica iptables precisa ser feita para conseguir isso?

Dados SSH → passam pela VPN
TODOS os outros dados → passam pela rota padrão

    
por Juan Adrián Cubillo 21.05.2013 / 18:40

1 resposta

3

Minha resposta está relacionada à resposta da questão relacionada, mas mais complicada e não testada.

Você precisa do pacote iproute2 instalado.

Adicione a /etc/iproute2/rt_tables da linha

200 vpn-route

e, em seguida, escrever um script que você chama depois de VPN é inicializado:

# set default gateway of vpn-route
ip route add default via $VPNGATEWAY dev $VPNINTERFACE table vpn-route
# use this for marked packages
ip rule add fwmark 0x1 table vpn-route
# mark outgoing ssh packages
iptables -t mangle -A OUTPUT -o $WANINTERFACE -p tcp --dport 22 -j MARK --set-mark 1
# rewrite source address
iptables -t nat -A POSTROUTING -o $VPNINTERFACE -j MASQUERADE

É claro que você precisa substituir as variáveis $... pelos seus valores reais.

PS: Se o seu IP na interface WAN for fixo, você pode substituir a última linha por      iptables -A POSTROUTING -t nat -o $WANINTERFACE -p tcp --dport 22 -j SNAT --to $WANIP

    
por 21.05.2013 / 19:37