Tráfego de roteamento no ubuntu de lan através de tun-interface

0

Estou tentando rotear algum tráfego por ip da minha LAN local por meio de uma instância do Ubuntu Server executando o openconnect para um servidor remoto.

     Client             Router      Ubuntu Server (ens160)  tun0   remote resource
| 192.168.1.x | -> | 192.168.1.1 | -> | 192.168.1.38 | -> | VPN | -> | 1.1.1.1 |

Minhas rotas são assim:

Destination    Gateway     Genmask         Flags Metric Ref    Use  Iface
0.0.0.0        0.0.0.0     0.0.0.0         U     0      0      0    tun0
1.3.4.0        0.0.0.0     255.255.255.0   U     0      0      0    tun0   (vpn dhcp range)
1.4.5.6        192.168.1.1 255.255.255.255 UGH   0      0      0    ens160 (ip from remote)
192.168.1.0    0.0.0.0     255.255.255.0   U     0      0      0    ens160
192.168.122.0  0.0.0.0     255.255.255.0   U     0      0      0    virbr0

Eu consegui encaminhar o tráfego para 1.1.1.1 para o meu servidor Ubuntu em 192.168.1.38 . Uma rota de rastreio do cliente verifica isso.

Tracing route to [1.1.1.1] over a maximum of 30 hops:
  1    <1 ms    <1 ms    <1 ms  192.168.1.1
  2    <1 ms    <1 ms    <1 ms  192.168.1.38
  3     *        *        *     Request timed out.

Assim, o tráfego pára no Ubuntu Server na interface ens160 (presumo). É aqui que estou perdido. Eu procurei por soluções, mas estou um pouco confuso com a infinidade de opções que tenho aqui. Originalmente, eu só queria adicionar uma rota estática dizendo src lan through tun0 , mas o gateway é 0.0.0.0 ? Então eu vejo a terceira rota é um ip pertencente ao local vpn remoto. Então eu presumo que este é um caminho através da minha WAN para a VPN.

Eu habilitei o encaminhamento de ip. E tentei adicionar uma regra masquarade e nat com o iptables. Mas tenho certeza que estraguei tudo de alguma forma.

iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE  
iptables -A FORWARD --in-interface ens160 -j ACCEPT

Agradeço qualquer ajuda.

    
por chriskvik 18.11.2016 / 02:04

1 resposta

1

Parece que você precisa ativar o encaminhamento no kernel. Executar:

# sysctl -w net.ipv4.ip_forward=1
or
# echo 1 > /proc/sys/net/ipv4/ip_forward

veja se funciona.

Adicione net.ipv4.ip_forward=1 a /etc/sysctl.d/80-forward.conf (ou algo assim) para sobreviver após a reinicialização.

Editar

Talvez você tenha esquecido de permitir que o tráfego volte à cadeia FORWARD. Tente isto:

# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Assim, o tráfego pode voltar.

    
por 18.11.2016 / 04:14