Маршрутизация IPsec VPN для подсети ВМ

887
rantam0ct

Мой физический компьютер может установить туннель IPsec (с Strongswan) для моего VPS, доступного через Интернет, так что интернет-трафик моего физического компьютера проходит через мой VPS.

Я также попытался и успешно настроил Strongswan на виртуальной машине, работающей на моей физической машине. Ожидается, что моя виртуальная машина может получить доступ к Интернету через мой VPS.

Я хотел бы, чтобы Strongswan работал на моем физическом компьютере, чтобы трафик всех моих виртуальных машин (в 192.168.122.0/24) проходил через мой VPS. Я думаю, что это должно быть выполнимо с конфигурацией сайт-сайт (пример здесь: https://www.strongswan.org/testing/testresults/ikev2/net2net-cert/ ), однако я не смог заставить его работать. Я не уверен, что у меня проблема с конфигурацией Strongswan, с сетевой конфигурацией виртуальной машины или с обоими ...

ipsec.conf на моей физической машине:

config setup charondebug="ike 2, cfg 2"  conn kvm-test rightsubnet=0.0.0.0/0 keyexchange=ikev2 ike=aes256gcm128-sha512-modp8192! esp=aes256gcm128-sha512-modp8192! leftcert=client.pem auto=add right=123.123.123.123 # not my VPS's actual IP rightcert=vpn_server.pem leftsubnet=192.168.122.0/24 left=192.168.1.2 

ipsec.conf на моем VPS:

config setup # strictcrlpolicy=yes # uniqueids = no  conn %default keyexchange=ikev2 leftfirewall=yes auto=add leftsubnet=0.0.0.0/0 left=123.123.123.123 # not my VPS's actual IP ike=aes256gcm128-sha512-modp8192! esp=aes256gcm128-sha512-modp8192!  conn kvm-test leftcert=vpn_server.pem rightcert=client.pem rightsubnet=192.168.122.0/24 

При такой конфигурации соединение успешно установлено, однако трафик моей виртуальной машины не проходит через него. Я должен отметить, что ip route show table 220ничего не показывает, что не похоже на пример, связанный с выше, и я не уверен, что я должен поместить туда ... ip route add table 220 default via 123.123.123.123 proto staticне работает. Какие-нибудь мысли?

1
Принимает ли ваше решение виртуализации NAT трафик с 192.168.122.0/24 на физический IP вашего хоста (192.168.1.2)? Если это так, вам следует избегать этого и добавить правило, принимающее трафик, соответствующий политике IPsec (см. [Здесь] (https://wiki.strongswan.org/projects/strongswan/wiki/ForwardingAndSplitTunneling#Hosts-on-the- Интернет)). ecdsa 6 лет назад 0
ecdsa, большое спасибо - это сработало! Пожалуйста, отправьте ваш комментарий в качестве ответа, и я приму его. rantam0ct 6 лет назад 0

1 ответ на вопрос

0
ecdsa

Если ваше решение по виртуализации NAT передает трафик с 192.168.122.0/24 на физический IP-адрес вашего хоста (192.168.1.2), вам следует этого избежать и добавить правило, которое принимает трафик, соответствующий политике IPsec. Например ( подробнее ):

iptables -t nat -I POSTROUTING -s 192.168.122.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT 

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