lxd com o servidor openvpn não aplica a regra nat iptables

0

Estou tentando configurar o openvpn em um dos meus contêineres lxd para permitir o acesso à rede do contêiner. O servidor parece funcionar e eu consigo acessar (ping) contêineres que têm uma rota estática apontando para o servidor openvpn para minha rede externa / de origem.

Eu gostaria de não ter que alterar a tabela de roteamento de cada contêiner e pensei em ocultar os clientes vpn por trás do servidor vpn usando NAT.

iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -d 10.144.79.0/24 -j SNAT --to-source 10.144.79.127

ou

iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -d 10.144.79.0/24 -j MASQUERADE

Produz uma regra que, acredito, deve conseguir isso. Mas ping pacotes do cliente vpn ainda parecem vir do 10.8.0.0/24-adress atribuído, em vez de serem mascarados para 10.144.79.127.

A primeira regra produz:

root@openvpn:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

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         
SNAT       all  --  10.8.0.0/24          10.144.79.0/24       to:10.144.79.127

Mas o tcpdump no alvo de ping em 10.144.79.0/24 ainda se parece com:

13:56:10.930826 IP 10.8.0.6 > 10.144.79.212: ICMP echo request, id 33133, seq 10093, length 64
13:56:10.930855 IP 10.144.79.212 > 10.8.0.6: ICMP echo reply, id 33133, seq 10093, length 64

O que obviamente só funciona se .212 souber encaminhar 10.8.0.0/24 sobre 10.144.79.127 .

O encaminhamento está ativo:

root@openvpn:~# cat /proc/sys/net/ipv4/ip_forward
1
root@openvpn:~# sysctl -p
net.ipv4.ip_forward = 1

Eu configurei três virtualbox vm's para verificar se eu posso fazer o NAT funcionar quando o LXD não faz parte da equação, e isso funciona como esperado.

Por que o contêiner ignora a regra POSTROUTING?

    
por azzid 01.10.2017 / 19:32

0 respostas