
Sou novo nisso - desculpe minha ignorância. Examinei muitas outras perguntas semelhantes sem sucesso.
Tentando configurar uma VPN StrongSwan de forma que o cliente C possa se conectar ao host H, receber um endereço IP virtual e acessar a rede de H. (Devido a limitações práticas durante a configuração e teste, C e H estão atualmente na mesma rede - na verdade, são VMs no mesmo PC físico, com a rede no modo Bridged, portanto, obtêm seus próprios endereços IP.)
Usando StrongSwan 5.3.0, Ubuntu 14.04 (em C e H).
Eu corro ipsec up home
em C e a conexão parece estar estabelecida. H pode executar ping no endereço IP virtual atribuído a C (192.168.0.1) e C pode ver os pings indo para seu endereço IP virtual (confirmado usando tcpdump).
No entanto, até onde posso entender, todo o tráfego em C ainda passa direto pela conexão de rede de C, não pelo túnel - se eu executar tcpdump ip proto \\icmp
em um terceiro servidor de teste (T) e executar ping nele de C, eu veja as solicitações com o endereço IP real de C. O mesmo acontece se eu fizer wget
de C para T.
Minha configuração segue:
# /etc/ipsec.conf no host (H)
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
conn rw
left=192.168.196.50
leftcert=moonCert.pem
[email protected]
leftfirewall=yes
right=%any
rightsourceip=192.168.0.0/16
auto=add
-
# /etc/ipsec.conf - no cliente (C)
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
conn home
left=192.168.198.74
leftsourceip=%config
leftcert=carolCert.pem
[email protected]
leftfirewall=yes
right=192.168.196.50
[email protected]
auto=add
O endereço IP real de H é 192.168.196.50. O endereço IP real de C é 192.168.198.74.
Responder1
eu precisava correr
sudo sysctl net.ipv6.conf.all.forwarding=1
sudo sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 10.0.3.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.3.0/24 -o eth0 -j MASQUERADE
no host para fazer com que ele roteie o tráfego.
Meu cliente C agora pode ver outras máquinas na rede local e ALGUMAS (mas não todas, o que não entendo) na internet.