Неверный IP адрес на VPN с StrongSwan

У меня есть сервер с Ubuntu 20.04 и установленным и работающим IKEv2 VPN с Strongswan.

И у меня есть одна php система (установленная на том же сервере с VPN), которая заблокирована по IP. Поэтому я использую VPN, чтобы войти внутрь с моим IP. (Да, я добавил локальные адреса VPN)

Проблема в том, что $_SERVER['REMOTE_ADDR'] НЕ показывает мой VPN IP, но показывает IP моего мобильного оператора. Как будто не имеет значения, с VPN я или без.

Я действительно не могу понять, в чем дело. Я пытался удалить DNS, но таким образом VPN не работает. Кто-нибудь знает, как решить эту проблему?

Вот ipsec.conf:

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    ike=aes256-sha1-modp1024,3des-sha1-modp1024!
    esp=aes256-sha1,3des-sha1!
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@example.com
    leftsubnet=0.0.0.0/0
    #leftauth=eap
    #eap_identity=username
    right=%any
    rightid=%any
    rightdns=8.8.8.8,8.8.4.4
    rightsourceip=10.10.10.0/24
    authby=secret
2
задан 22 February 2021 в 17:24
1 ответ

Некоторые клиенты не могут подключиться к общедоступному IP-адресу VPN-сервера через VPN, даже если весь трафик настроен на туннелирование (цель leftsubnet = 0.0.0.0 / 0 ). Среди них клиенты Apple (в вашем случае iOS).

Итак, чтобы подключиться к серверу, вы должны назначить ему дополнительный IP-адрес и подключиться к нему. Это может быть второй публичный или произвольный виртуальный IP-адрес. Например, вы можете назначить 10.10.10.1 интерфейсу сервера lo , а затем назначить 10.10.10.2 в качестве первого виртуального IP-адреса клиентам (т.е. rightsourceip = 10.10.10.2 / 24 ).

Убедитесь, что трафик с виртуального IP-адреса сервера не возвращается клиентам, например вставив следующее правило (если вы следовали странице Forwarding and Split-Tunneling в вики strongSwan, возможно, у вас уже есть это или подобное правило):

iptables -t nat -I POSTROUTING -m policy --pol ipsec --dir out -j ACCEPT
0
ответ дан 24 April 2021 в 00:23

Теги

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