Redirecionar IP para outro IP usando iptables

0

Eu tenho uma máquina conectada a um servidor openvpn no endereço 1.2.3.4. Minha máquina tem um IP 192.168.1.0/24 e pode alcançar o endereço 1.2.3.4. Uma vez que eu me conecto ao servidor openvpn, uma nova interface tun0 é criada e o endereço IP 192.168.0.6 é atribuído a ela. Eu posso pingar a máquina que hospeda a VPN no endereço IP 192.168.0.1. O tráfego passa pela interface tun0 conforme o esperado.

Posso definir algumas regras do iptables para forçar o tráfego a passar pelo tun0 mesmo se eu pingar diretamente 1.2.3.4? Em particular, eu gostaria de limitar isso apenas à porta 80 de 1.2.3.4

    
por Blindstealer 08.09.2017 / 21:29

1 resposta

0

Então, primeiro precisamos mudar nossa rota padrão. A execução de ip route deve mostrar que a rota padrão atual é o gateway da rede 192.168.0.0/24 VPN. Isso precisa ser alterado (enquanto conectado à VPN) removendo a rota padrão atual e criando uma nova apontando para o gateway / roteador de sua rede local (não vpn). Portanto, se o seu gateway de rede local for 172.16.2.1 , você executará:

  • sudo ip route del default
  • sudo ip route default via 172.16.2.1

Agora, se você executar ip route e route -n , deverá ver que a nova rota padrão está apontando para sua rede local e, por padrão, nenhum tráfego deve passar por seu túnel VPN.

Agora podemos seguir redirecionando todo o tráfego de saída na porta 80/443 para o gateway da sua VPN.

  • sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:80
  • sudo iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to-destination 192.168.0.1:443

Agora, isso deve encaminhar / redirecionar qualquer tráfego da Web que esteja saindo para o gateway / roteador padrão da sua VPN e para que todos os outros tráfegos saiam localmente por padrão.

Experimente-me e deixe-me saber se ele acha o que você está procurando!

    
por 09.09.2017 / 05:04