root@p10:/proc/net# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
OVH Public Cloud Server, on OpenStack
Olá a todos,
Eu tenho comportamentos estranhos com minha instalação do iptables / NAT / 16.04.
O OpenVPN está configurado para receber conexões e funciona corretamente. Por algumas razões históricas, os pacotes de VPN têm que ser egressados e traduzidos na interface pública WAN ens33 (e usar seu endereço como fonte).
Mas o comportamento da Masquerade não é consistente.
Por exemplo, habilito a Masquerade, mas não funciona imediatamente. Após alguns minutos (variável), começará a funcionar. Então eu removo a Máscara, e ela continua funcionando, por alguns minutos ou mais.
Tudo isso torna difícil para mim diagnosticar e implementar recursos adicionais (as metas de destino são 2 VPNs NATed em 2 endereços IP públicos diferentes)).
Eu realmente não entendo o que está acontecendo. Se alguém tiver uma pista, por favor ajude!
Aqui está o detalhe:
ens3 Link encap:Ethernet HWaddr
inet addr:54.38.X.X
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.99.0.1 P-t-P:10.99.0.2 Mask:255.255.255.255
root@p10:/proc/net# iptables -L -vnx
Chain INPUT (policy DROP 53737 packets, 2988971 bytes)
pkts bytes target prot opt in out source destination
6120 612989 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
(...)
Chain FORWARD (policy ACCEPT 433 packets, 39648 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 10153 packets, 1034888 bytes)
pkts bytes target prot opt in out source destination
root@p10:/proc/net# iptables -t nat -L -vnx
Chain PREROUTING (policy ACCEPT 8367 packets, 465763 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2 packets, 152 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
4 272 MASQUERADE all -- * * 0.0.0.0/0 0.0.0.0/0
root@p10:/proc/net# sysctl -a | grep "\.forwarding" | grep ipv4
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.ens3.forwarding = 1
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.tun0.forwarding = 1
No meu cliente VPN do Windows, as rotas são enviadas, por exemplo, para enviar pacotes para um endereço de teste 194.51.3.65 através da VPN:
Route print
194.51.3.65 255.255.255.255 10.99.5.118 10.99.5.117 291
C:\Windows\system32>ping 194.51.3.65
Envoi d’une requête 'Ping' 194.51.3.65 avec 32 octets de données :
Réponse de 194.51.3.65 : octets=32 temps=26 ms TTL=48
Statistiques Ping pour 194.51.3.65:
Paquets : envoyés = 1, reçus = 1, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 26ms, Maximum = 26ms, Moyenne = 26ms
Ctrl+C
^C
C:\Windows\system32>tracert -d 194.51.3.65
Détermination de l’itinéraire vers 194.51.3.65 avec un maximum de 30 sauts.
1 16 ms 15 ms 25 ms 10.99.0.1
2 19 ms 20 ms 17 ms 54.38.X.X
3 18 ms 21 ms 17 ms 158.69.61.222
4 61 ms 78 ms 15 ms 51.255.245.126
5 14 ms 16 ms 35 ms 10.97.155.39
Como você pode ver, os pacotes de teste de ping são enviados via VPN e funcionam bem.
Agora, o comportamento estranho que tenho é este:
ou removo a Mascarada, mas os pings continuam funcionando
ou eu removo a Máscara e os pings param de funcionar, mas quando eu reativo a Máscara, eles não funcionam em nenhum . Às vezes tenho que esperar 10 segundos, às vezes 5 minutos.
Além disso, tenho outras coisas estranhas:
Eu posso ver conntracks:
raiz @ p10: / proc / net # conntrack -L (...) conntrack v1.4.3 (conntrack-tools): 3 entradas de fluxo foram mostradas.
Mas não consigo ver as sessões NAT:
raiz @ p10: / proc / net # netstat-nat Não foi possível ler informações sobre conexões do kernel, certifique-se de que o netfilter esteja ativado no kernel ou por módulos. root @ p10: / proc / net #