Mascarada VPN e NAT

0

Estou tentando configurar um VPS para encaminhar o tráfego de um cliente openvpn para a Internet, enquanto redireciono o tráfego da porta 80 de volta para o cliente. Eu segui este guia para configurar o servidor e criar uma configuração do cliente. No VPS eu tenho as regras do iptables:

-t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

e

-t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.0.6

A primeira regra é do guia e funciona bem. A segunda regra permite que eu me conecte ao cliente VPN na porta 80 da Internet, mas as solicitações http do cliente para a internet falham (https stills funciona e passa pela VPN). Alguém pode recomendar uma configuração de trabalho para esse problema ou explicar por que isso não funciona?

Editar: configuração VPS

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source        destination  

Chain FORWARD (policy ACCEPT)
target     prot opt source        destination  

Chain OUTPUT (policy ACCEPT)
target     prot opt source        destination  

# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source        destination  
DNAT       tcp  --  0.0.0.0/0     0.0.0.0/0    tcp dpt:80 to:10.8.0.6

Chain INPUT (policy ACCEPT)
target     prot opt source        destination  

Chain OUTPUT (policy ACCEPT)
target     prot opt source        destination  

Chain POSTROUTING (policy ACCEPT)
target     prot opt source        destination  
MASQUERADE  all  --  10.0.0.0/8    0.0.0.0/0   

# cat /proc/sys/net/ipv4/ip_forward
1
    
por user47122 08.12.2016 / 19:29

1 resposta

1

A regra de pré-detalhamento não especificou uma interface ou um destino, portanto, os pedidos HTTP provenientes do cliente VPN sobre o tun0 estavam sendo enviados de volta para si mesmo.

Uma configuração de trabalho é

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i eth0 -d $eth0_addr --dport 80 -j DNAT --to 10.8.0.6
    
por 08.12.2016 / 23:02