iptables definindo strongswan ubuntu 16.04 VM

0

Eu quero definir um túnel VPN usando StrongSwan para fazer o meu VM Linux como um roteador. A ilustração é assim:

  1. Eu tenho um servidor com o IP público 111.111.111.111. Dentro dele eu instalei o Ubuntu 16.04 VM com o IP 192.168.100.3 e o segmento 192.168.100.0/24

  2. Existe um servidor cliente com IP público 222.222.222.222 e rede privada de 172.100.3.0/24. Este servidor só permite que o IP 111.111.111.111 faça uma conexão.

Após fazer uma conexão, o segundo servidor concede a 111.111.111.111 uma rede privada 172.102.2.0/24. Estou usando o strongswan dentro do Ubuntu VM 192.168.100.3

Isto é ipsec.conf

config setup
    uniqueids=never
conn %default
    authby=secret
    type=tunnel
conn test1-vpn
    keyexchange=ikev1
    left=192.168.100.3
    leftid=111.111.111.111
    leftsubnet=172.102.2.0/24
    leftfirewall=yes
    right=222.222.222.222
    rightsubnet=172.100.3.0/24
    auto=route
    ike=aes256-sha1-modp2048!
    ikelifetime=28800s
    esp=aes256-sha1-modp2048!
    lifetime=3600s
    type=tunnel

ipsec up test1-vpn com sucesso Este é o meu iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:isakmp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ipsec-nat-t
ACCEPT     esp  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  172.100.3.0/24       172.102.2.0/24       policy match dir in pol ipsec reqid 1 proto esp
ACCEPT     all  --  172.102.2.0/24       172.100.3.0/24     policy match dir out pol ipsec reqid 1 proto esp

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Estas são minhas tabelas de pós-venda

Chain POSTROUTING (policy ACCEPT 1 packets, 84 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            policy match dir out pol ipsec
2        0     0 SNAT       all  --  *      eth+    0.0.0.0/0            0.0.0.0/0            to:101.100.177.228
3        0     0 ACCEPT     all  --  *      eth+    172.100.3.0/24      0.0.0.0/0            policy match dir out pol ipsec
4        0     0 MASQUERADE  all  --  *      eth+    172.100.3.0/24      0.0.0.0/0
5        0     0 MASQUERADE  all  --  *      eth+    172.102.2.0/24       0.0.0.0/0
6        0     0 ACCEPT     all  --  *      eth+    172.102.2.0/24       0.0.0.0/0            policy match dir out pol ipsec
7        0     0 SNAT       all  --  *      eth+    0.0.0.0/0            0.0.0.0/0            to:101.100.177.228
8        0     0 MASQUERADE  all  --  *      *       172.100.3.0/24      172.102.2.0/24
9        0     0 MASQUERADE  all  --  *      *       172.102.2.0/24       192.168.100.0/24
10       3   204 MASQUERADE  all  --  *      *       192.168.100.0/24     172.102.2.0/24
11       0     0 MASQUERADE  all  --  *      *       172.100.3.0/24      172.102.2.0/24
12       1    84 MASQUERADE  all  --  *      *       192.168.100.3        111.111.111.111

Meu ifconfig retornou apenas ensl8 e lo . Eu também já coloquei encaminhamento ipv4

Quando eu ping para o servidor cliente, eu tenho o host inacessível. Quando eu traceroute ficou inacessível também. Me desculpe se a minha explicação é confusa, mas esta é a minha primeira vez fazendo isso. Eu sei que deve ser algo errado com o meu iptables.

    
por Julian Gerry 10.06.2018 / 00:40

0 respostas