Недавно я установил Strongswan IPSec VPN для доступа к некоторым частным службам моего домашнего сервера со своего смартфона Android. Я использую OpenVPN на некоторых других устройствах для той же задачи, но выбрал strongswan для телефона, поскольку IKEv2 предполагается (поправьте меня, если я ошибаюсь), чтобы быть очень ресурсоемким на мобильных устройствах.
Текущая установка (openvpn) состоит из одного сервера (виртуальный IP-адрес: 10.0.0.2) и нескольких клиентов (все в подсети 10.0.0.0/24). Маршруты на всех сторонах настроены для маршрутизации через vpn только пакетов, выделенных для этой подсети. (Я не хочу получить доступ к локальной подсети моего сервера от клиента, и я также не хочу направить весь трафик моих клиентов через сервер)
Теперь мне как бы удалось наладить работу с strongswan (сервер: 5.0.4, клиент: официальное приложение Strongswan для Android 1.3.0), но я еще не совсем там. Прежде всего, конфигурация сервера:
config setup
conn %default
keyexchange=ikev2
conn android
left=%any
leftauth=pubkey
leftcert=serverCert.pem
leftid=vpn.mydomain.com
leftsourceip=10.10.10.128
leftfirewall=yes
right=%any
rightsourceip=10.10.10.0/24
rightauth=pubkey
rightcert=clientCert_mymobilephone.pem
rightauth2=eap-mschapv2
auto=start
Это назначает IP 10.10.10.1 моему телефону, но не IP-адрес серверу на любых его интерфейсах, что было бы тем, что я хочу. Я все еще могу получить доступ к своему серверу через VPN, используя его локальный IP-адрес (192.168.1.2), что не совсем то, что я намеревался;)
Я хотел бы перенести всех клиентов (в основном ноутбуки) с OpenVPN на strongswan, но указанная выше проблема не позволяет мне сделать переход. Я пробовал множество различных конфигураций strongswan, но ни одна не могла соответствовать моей конфигурации OpenVPN. Возможно ли это вообще, если да, то как?
Обратите внимание, что в отличие от OpenVPN, StrongSWAN не предназначен для использования таким образом - он не создает виртуальных интерфейсов и не назначает виртуальные IP-адреса обеим сторонам туннеля. Что ты определенно мог do добавляет адрес 10.0.0.2 к одному из ваших интерфейсов на стороне сервера
ip addr add 10.0.0.2/32 dev eth0
и добавив соответствующую директиву leftsubnet в вашу конфигурацию, чтобы она стала частью обмена IPSEC Phase 2. Излишне говорить, что в этом случае вам нужно будет использовать ESP с туннелированием.