Направьте весь трафик через StrongSwan VPN

Я плохо знаком с этим - извините мое незнание. Я просмотрел много других подобных вопросов напрасно.

Попытка настроить StrongSwan VPN, таким образом, что клиент C может соединиться с хостом H, быть присвоенным виртуальный IP-адрес и доступ сеть H. (Из-за практических ограничений, в то время как я настроил и тестирую, C и H в настоящее время находятся в той же сети - на самом деле они - VMs на том же физическом ПК с сетью в Режиме моста, таким образом, они получают свои собственные IP-адреса.)

Использование StrongSwan 5.3.0, Ubuntu 14.04 (и на C и на H).

Я работаю ipsec up home на C и соединении, кажется, устанавливается. H может проверить с помощью ping-запросов виртуальный IP-адрес, присвоенный C (192.168.0.1), и C видит, что ping идут в его виртуальный IP-адрес (подтвержденное использование tcpdump).

Однако насколько я могу разобрать, весь трафик в C все еще идет прямо посредством сетевого соединения C, не через туннель - если я работаю tcpdump ip proto \\icmp на одной трети, тесте, сервер (T), и ping это от C, я вижу запросы с C реальный IP-адрес. То же верно, если я делаю a wget от C до T.

Моя конфигурация следует:

#/etc/ipsec.conf на хосте (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
    leftid=@moon.strongswan.org
    leftfirewall=yes
    right=%any
    rightsourceip=192.168.0.0/16
    auto=add

-

#/etc/ipsec.conf - на клиенте (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
     leftid=carol@strongswan.org
     leftfirewall=yes
     right=192.168.196.50
     rightid=@moon.strongswan.org
     auto=add

H реальный IP-адрес 192.168.196.50. C реальный IP-адрес 192.168.198.74.

0
задан 13 May 2015 в 22:10
1 ответ

Мне нужно было запустить

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

на хосте, чтобы заставить его маршрутизировать трафик.

Мой клиент C теперь может видеть другие машины в локальной сети, и SOME (но не все, чего я не понимаю) в интернете.

0
ответ дан 5 December 2019 в 12:45

Теги

Похожие вопросы