Pacotes Strongswan não são roteados

0

Estou tentando configurar o strongswan como um servidor VPN IKEv2 atrás do meu NAT. A topologia de rede parece o seguinte:

O servidor VPN (10.0.0.1) está atrás de um NAT (Gateway padrão 10.0.0.138) que encaminha a porta UDP 4500 e a porta 500 para o servidor VPN. O servidor VPN executa o Fedora 28 com o SELinux configurado como permissivo.

Eu instalei o StrongSwan com os plugins DHCP e FARP habilitados. Meus guerreiros da estrada são capazes de se conectar ao meu servidor VPN, autenticar contra ele e até obter um endereço IP (estou tentando do meu iPhone).

Por alguma razão, não consigo acessar nenhum dispositivo de rede local do meu guerreiro de trabalho. Além disso, quando eu tento pingar o iPhone do meu laptop local, posso ver no servidor VPN via tcpdump que uma solicitação ARP é enviada, mas também posso ver no Wireshark no meu laptop que nenhuma resposta é enviada. Então, meu palpite é que o plugin FARP não está funcionando corretamente.

Eu habilitei o encaminhamento de ip no servidor VPN. Existem outras etapas necessárias para ativar e obter o funcionamento da FARP? Qualquer sugestão seria muito apreciada!

Btw. aqui está o meu arquivo 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
    [email protected]
    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

E aqui está a saída de 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
Ka0o0
fonte

Respostas:

0

Sua configuração esquerda do rightsubnet está incorreta.

Você deseja usar o leftsubnet=0.0.0.0/0tunelamento de tudo, com /24apenas tráfego para 0.0.0.0-0.0.0.255 que seria tunelado (observe, no entanto, que o iOS nunca enviará tráfego para o IP público do servidor e para a sub-rede à qual ele está conectado por VPN).

E ao usar IPs virtuais ( conjunto de direitos autorais ), você não deseja definir rightsubnet, pois o endereço do cliente é atribuído dinamicamente. Então, basta remover essa configuração ou defini-la como % dinâmico .

ecdsa
fonte