Назад | Перейти на главную страницу

Клиенты Strongswan IPsec и Openvpn

У меня следующая настройка: общедоступный интерфейс Ens3 tun0 интерфейс openvpn

Openvpn.conf

local XXX.XXX.XXX.XXX
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server LLL.LLL.LLL.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route ZZZ.ZZZ.ZZZ.0 255.255.255.0"
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
log-append  openvpn.log
verb 3
crl-verify crl.pem
explicit-exit-notify
client-to-client
duplicate-cn

Ipsec.conf

conn %default
        ikelifetime=1440m
        keylife=60m
        rekeymargin=3m
        keyingtries=1
        keyexchange=ikev1
        authby=secret

conn ciscoasa
        left=XXX.XXX.XXX.XXX
        leftsubnet=LLL.LLL.LLL.0/24
        leftid=XXX.XXX.XXX.XXX
        # leftfirewall=yes
        right=YYY.YYY.YYY.YYY
        rightsubnet=ZZZ.ZZZ.ZZZ.0/24
        rightid=YYY.YYY.YYY.YYY
        auto=start
        ike=aes256-sha1-modp1024
        esp=aes128-sha1
        type=tunnel
        keyexchange=ikev1
        aggressive=no
        keyingtries=1
        ikelifetime=1440m
        lifetime=3600s
        lifebytes=4608000
        rekey=no

Туннель IPsec работает, сервер OpenVpn работает.

Но я не могу направить трафик от клиента openvpn в удаленную сеть ipsec

Я думаю, что моя проблема с правилами iptables, что я пробовал:

iptables -t nat -A POSTROUTING -s LLL.LLL.LLL.0/24 -m policy --dir out --pol ipsec -j ACCEPT
iptables -I FORWARD -i tun0 -o ens3 -s LLL.LLL.LLL.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o ens3 -s LLL.LLL.LLL.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Когда я пытался открыть порт telnet на удаленном узле в удаленной сети ipsec с одного из клиентов openvpn, tcpdump на tun0: tcpdump -n -n -i tun0 host ZZZ.ZZZ.ZZZ.20

09:49:01.612582 IP LLL.LLL.LLL.4.59693 > ZZZ.ZZZ.ZZZ.20.4000: Flags [S], seq 1832018808, win 64240, options [mss 1358,nop,wscale 8,nop,nop,sackOK], length 0

ПОВТОРЯЕТСЯ НАД СТРОКОЙ

Я попробовал другой tcpdump с тем же запросом, что и выше, но с интерфейсом ens3 tcpdump -n -n -i ens3 host ZZZ.ZZZ.ZZZ.20

09:51:01.612582 IP XXX.XXX.XXX.XXX.64534 > ZZZ.ZZZ.ZZZ.20.4000: Flags [S], seq 1626733519, win 64240, options [mss 1358,nop,wscale 8,nop,nop,sackOK], length 0

ПОВТОРЯЕТСЯ НАД СТРОКОЙ

Что вы думаете ? Стоит ли делать iptables для ZZZ.ZZZ.ZZZ.0? или что-то другое?