Roteador (e mascaramento) somente de IP específico

0

Eu quero que todo o tráfego proveniente de 192.168.2.10 na interface eth0 seja mascarado e encaminhado pela interface tun0. Eu quero que a resposta volte através do tun0. Não quero que outro tráfego na interface eth0 seja afetado. Isso é o que eu tenho:

# iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
# iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth0 -s 192.168.2.10/32 -o tun0 -j ACCEPT
# ip rule add from 192.168.2.10/32 table 100
# ip route add default via 10.8.0.1 table 100

Esta configuração está correta? Parece estar trabalhando mas o tráfico parece muito estranho em iftop. Parece que o tráfego de saída está passando por tun0, mas a resposta está chegando em eth0, embora eu possa estar lendo errado ou pode ser causado por configuração incorreta do outro lado.

    
por Stefan D 31.07.2016 / 06:30

1 resposta

0

Você não pode alterar diretamente por meio de qual interface as respostas chegam - o destinatário não toma essa decisão, o remetente faz (assim como os intermediários).

No entanto, você deve certificar-se de que os pacotes enviados estejam sendo mascarados com o endereço de origem correto. Se não for o caminho certo, considere usar -j SNAT com um endereço de origem configurado explicitamente, em vez de confiar na -j MASQUERADE autoselection.

Em outras palavras, para fazer as respostas chegarem via tun0, os pacotes originais devem ter um endereço 'fonte' que normalmente seria alcançado via tun0.

    
por 31.07.2016 / 12:59