Como ajudado por @ecdsa via IRC:
As propriedades ausentes foram leftsourceip=%config
e modeconfig=push
, porque o Juniper está enviando as configurações necessárias para o cliente.
Estou em um sistema ArchLinux tentando se conectar à VPN da minha empresa, que é servida por um Juniper SRX100H. Eu estou tentando se conectar com Strongswan (5.5.3-3), e parece ser bem sucedido:
Starting strongSwan 5.5.3 IPsec [starter]...
generating QUICK_MODE request 2638887156 [ HASH SA No KE ID ID ]
sending packet: from 192.168.1.204[4500] to 10.0.0.1[4500] (396 bytes)
received packet: from 10.0.0.1[4500] to 192.168.1.204[4500] (364 bytes)
parsed QUICK_MODE response 2638887156 [ HASH SA No KE ID ID ]
CHILD_SA test{2} established with SPIs cad5681f_i 4015b7bd_o and TS 192.168.1.204/32 === 192.168.32.0/24
connection 'test' established successfully
O problema é que depois disso eu não consigo pingar nada além de 10.0.0.1, que retorna uma resposta. Mas eu não posso alcançar nenhum dos pares dentro de 192.168.32.0/24.
Meu ipsec.conf se parece com:
conn test
left=%any
[email protected]
leftauth=psk
leftauth2=xauth
rightsubnet=192.168.32.0/24
rightid=10.0.0.1
rightauth=psk
auto=start
xauth_identity=USER
esp=aes256-sha1-modp1536
ike=aes256-sha2_256-modp1536
aggressive=yes
type=tunnel
A saída de ip route show
é:
default via 192.168.1.1 dev wlp3s0 proto static metric 600
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.204 metric 600
Outros clientes (Windows) podem se conectar ao NCP Secure Client, então acho que não é um problema de firewall no lado do Juniper.
Qualquer ajuda seria apreciada:)
Saída de iptables-save
# Generated by iptables-save v1.6.1 on Tue Aug 8 11:24:43 2017
*filter
:INPUT ACCEPT [5:2010]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7:999]
-A INPUT -s 192.168.32.0/24 -d 192.168.1.204/32 -i wlp3s0 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j ACCEPT
-A OUTPUT -s 192.168.1.204/32 -d 192.168.32.0/24 -o wlp3s0 -m policy --dir out --pol ipsec --reqid 1 --proto esp -j ACCEPT
COMMIT
# Completed on Tue Aug 8 11:24:43 2017
O charon_debug.log está aqui: link
Esta foi a solução para mim em ssh para qualquer host na rede do outro lado do túnel.
Permitir o encaminhamento de IPv4
Edite /etc/sysctl.conf para permitir o encaminhamento no kernel do Linux.
vi /etc/sysctl.conf
Adicione a seguinte linha ao arquivo.
net.ipv4.ip_forward=1
Salve o arquivo e aplique a alteração.
sysctl -p
Eu acho que isso tem a ver com o iptables
tente adicionar isto:
leftfirewall=yes
rightfirewall=yes
Tags vpn strongswan