Estou tentando conectar duas redes por meio do OpenVPN.
Os gateways podem fazer ping uns aos outros, mas não podem acessar outros computadores na rede em que estão ingressando. Os logs não mostram nenhum erro e a conexão é estabelecida.
O que estou perdendo aqui? Parece que muitos estão tendo esse problema por várias razões, mas depois de mais de 50 tentativas eu desisti e decidi perguntar:)
Rede 1:
dev tun
port 1194
ifconfig 10.8.222.40 10.8.222.41
route 10.2.1.0 255.255.255.0 vpn_gateway
comp-lzo
keepalive 10 60
persist-key
persist-tun
user nobody
group nobody
secret /etc/openvpn/static.key
ip route
default via 10.0.1.1 dev eth0
10.0.1.0/27 dev eth0 proto kernel scope link src 10.0.1.9
10.2.1.0/24 via 10.8.222.41 dev tun0
10.3.0.0/24 via 10.3.0.2 dev tun2
10.3.0.2 dev tun2 proto kernel scope link src 10.3.0.1
10.8.222.41 dev tun0 proto kernel scope link src 10.8.222.40
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.42.1
Rede 2
dev tun
port 1194
remote my_ext_ip 1194
ifconfig 10.8.222.41 10.8.222.40
route 10.0.0.0 255.254.0.0 vpn_gateway
comp-lzo
keepalive 10 60
persist-key
persist-tun
user nobody
group nobody
secret /etc/openvpn/static.key
ip route
default via 10.2.1.1 dev eth0
10.0.0.0/15 via 10.8.222.40 dev tun0
10.2.1.0/24 dev eth0 proto kernel scope link src 10.2.1.9
10.8.222.40 dev tun0 proto kernel scope link src 10.8.222.41
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.42.1
172.27.224.0/22 dev as0t0 proto kernel scope link src 172.27.224.1
172.27.228.0/22 dev as0t1 proto kernel scope link src 172.27.228.1
172.27.232.0/22 dev as0t2 proto kernel scope link src 172.27.232.1
172.27.236.0/22 dev as0t3 proto kernel scope link src 172.27.236.1
Atualização:
Aqui está o que eu tenho no iptables:
Ambas as redes:
iptables -I FORWARD -i eth0 -o tun0 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
Rede 1:
iptables -t nat -A POSTROUTING -s "10.0.0.0/15" -o "eth0" -j MASQUERADE
iptables -A FORWARD -p tcp -s 10.0.0.0/15 -d 0.0.0.0/0 -j ACCEPT
Rede 2:
iptables -t nat -A POSTROUTING -s "10.2.1.0/24" -o "eth0" -j MASQUERADE
iptables -A FORWARD -p tcp -s 10.2.1.0/24 -d 0.0.0.0/0 -j ACCEPT
\
Atualização 2:
Entrando no túnel: # tcpdump -i tun0
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
01:01:15.181262 IP ip-10-8-222-41.ec2.internal > ip-10-0-1-5.ec2.internal: ICMP echo request, id 28767, seq 1, length 64
Saindo do túnel: # tcpdump -i tun0
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
01:03:44.304930 IP 10.8.222.41 > 10.0.1.5: ICMP echo request, id 28784, seq 1, length 64
Interfaces de comutação # tcpdump -i eth0
01:08:56.093291 IP 10.8.222.41 > 10.0.1.5: ICMP echo request, id 28785, seq 3, length 64