Я пытаюсь настроить strongswan как сервер IKEv2 VPN за моим NAT. Топология сети выглядит следующим образом:
Сервер VPN (10.0.0.1) находится за NAT (шлюз по умолчанию 10.0.0.138), который перенаправляет порт UDP 4500 и порт 500 на сервер VPN. VPN-сервер работает под управлением Fedora 28 с SELinux, настроенным для разрешения.
Я установил StrongSwan с включенными плагинами DHCP и FARP. Мои дорожные воины могут подключаться к моему VPN-серверу, аутентифицироваться на нем и даже получать IP-адрес (я пытаюсь это сделать с моего iPhone).
По какой-то причине я не могу получить доступ к локальным сетевым устройствам от моего рабочего воина. Кроме того, когда я пытаюсь пропинговать iPhone с моего локального ноутбука, я вижу на сервере VPN через tcpdump, что запрос ARP отправляется, но я также вижу в Wireshark на моем ноутбуке, что ответ никогда не отправляется. Поэтому я предполагаю, что плагин FARP не работает должным образом.
Я включил IP-пересылку на VPN-сервере. Требуются ли какие-либо дальнейшие шаги для активации и работы FARP? Любые предложения будут высоко оценены!
Btw. вот мой файл 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
rekey=no
left=%any
leftid=@server.somename.com
leftcert=server-cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/24
right=%any
rightid=%any
rightauth=eap-mschapv2
rightsourceip=%dhcp
rightsubnet=10.0.0.0/24
rightdns=10.0.0.1,8.8.8.8,8.8.4.4
rightsendcert=never
eap_identity=%identity
ike=aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
esp=aes256-sha256,aes256-sha1,3des-sha1!
# Dead peer detection. For MOBIKE, let high delay
dpdaction=clear
dpddelay=300s
leftfirewall=yes
А вот и вывод ipsec statusall
Status of IKE charon daemon (strongSwan 5.6.3, Linux 4.17.14-202.fc28.x86_64, x86_64):
uptime: 25 minutes, since Aug 29 10:24:12 2018
malloc: sbrk 2695168, mmap 0, used 835536, free 1859632
worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 4
loaded plugins: charon pkcs11 aes des rc2 sha2 sha1 md5 mgf1 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl gcrypt fips-prf gmp curve25519 agent xcbc cmac hmac attr kernel-netlink resolve socket-default farp stroke vici updown eap-identity eap-md5 eap-mschapv2 eap-tls eap-ttls xauth-generic dhcp addrblock counters
Listening IP addresses:
10.0.0.1
172.18.0.1
172.17.0.1
Connections:
ikev2-vpn: %any...%any IKEv2, dpddelay=300s
ikev2-vpn: local: [server.somename.com] uses public key authentication
ikev2-vpn: cert: "CN=server.somename.com"
ikev2-vpn: remote: uses EAP_MSCHAPV2 authentication with EAP identity '%any'
ikev2-vpn: child: 0.0.0.0/24 === 10.0.0.0/24 TUNNEL, dpdaction=clear
Security Associations (1 up, 0 connecting):
ikev2-vpn[4]: ESTABLISHED 12 seconds ago, 10.0.0.1[server.somename.com]...213.147.166.1[user]
ikev2-vpn[4]: IKEv2 SPIs: 3cdf025026a86a29_i a2f389a38a5326d4_r*, rekeying disabled
ikev2-vpn[4]: IKE proposal: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
ikev2-vpn{4}: INSTALLED, TUNNEL, reqid 2, ESP in UDP SPIs: cdb9b943_i 083b3ef7_o
ikev2-vpn{4}: AES_CBC_256/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, rekeying disabled
ikev2-vpn{4}: 0.0.0.0/24 === 10.0.0.0/24