LINUX.ORG.RU

Почему не идет трафик в обратном направлении strongswan

 , , , ,


0

1

всем привет, возникла потребность подключения к локальной сети через VPN Strongswan на Ubuntu впн соединение с роутером есть но пинг с убунту на роутер не идет (роутер Keenetic)

ip xfrm policy
src 0.0.0.0/0 dst 10.10.10.1/32
        dir out priority 383615
        tmpl src 185.217.198.123 dst 213.234.251.43
                proto esp spi 0xc4c763ab reqid 1 mode tunnel
src 10.10.10.1/32 dst 0.0.0.0/0
        dir fwd priority 383615
        tmpl src 213.234.251.43 dst 185.217.198.123
                proto esp reqid 1 mode tunnel
src 10.10.10.1/32 dst 0.0.0.0/0
        dir in priority 383615
        tmpl src 213.234.251.43 dst 185.217.198.123
                proto esp reqid 1 mode tunnel
src 0.0.0.0/0 dst 0.0.0.0/0
        socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
        socket out priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
        socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
        socket out priority 0
src ::/0 dst ::/0
        socket in priority 0
src ::/0 dst ::/0
        socket out priority 0
src ::/0 dst ::/0
        socket in priority 0
src ::/0 dst ::/0
        socket out priority 0]

 ip r s table all
10.10.10.1 via 185.217.198.1 dev ens3 table 220 proto static
default via 185.217.198.1 dev ens3 onlink
10.10.10.0/24 dev ens3 scope link
185.217.198.0/24 dev ens3 proto kernel scope link src 185.217.198.123
192.168.81.0/24 dev ipsec0 scope link
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 185.217.198.0 dev ens3 table local proto kernel scope link src 185.217.198.123
local 185.217.198.123 dev ens3 table local proto kernel scope host src 185.217.198.123
broadcast 185.217.198.255 dev ens3 table local proto kernel scope link src 185.217.198.123
::1 dev lo proto kernel metric 256 pref medium
2a09:5302:ffff::/48 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ipsec0 proto kernel metric 256 pref medium
default via 2a09:5302:ffff::1 dev ens3 metric 1024 onlink pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
local 2a09:5302:ffff::18d4 dev ens3 table local proto kernel metric 0 pref medium
local fe80::200:5efe:b9d9:c67b dev ipsec0 table local proto kernel metric 0 pref medium
local fe80::5054:ff:fe2c:43d0 dev ens3 table local proto kernel metric 0 pref medium
multicast ff00::/8 dev ens3 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev ipsec0 table local proto kernel metric 256 pref medium

ip ru s
0:      from all lookup local
220:    from all lookup 220
32766:  from all lookup main
32767:  from all lookup default

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gw.firstbyte.ru 0.0.0.0         UG    0      0        0 ens3
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens3
localnet        0.0.0.0         255.255.255.0   U     0      0        0 ens3
192.168.81.0    0.0.0.0         255.255.255.0   U     0      0        0 ipsec0


  GNU nano 4.8                                        /etc/ipsec.conf                                                   config setup
        charondebug="ike 1, knl 1, cfg 0"
        uniqueids=no

conn grepresharedkey
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@server_domain_or_IP(белый ip)
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity
    ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sh>    esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!

пакеты вроде бы идут, но назад не приходят, помогите пожалуйста !



Последнее исправление: stlone (всего исправлений: 4)

Ответ на: комментарий от mky
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_source_route = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

*nat
-A POSTROUTING -s 10.10.10.0/24 -o ens3 -m policy --pol ipsec --dir out -j ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o ens3 -j MASQUERADE
COMMIT

*mangle
-A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.0/24 -o ens3 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss>COMMIT

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]

-A ufw-before-forward --match policy --pol ipsec --dir in --proto esp -s 10.10.10.0/24 -j ACCEPT
-A ufw-before-forward --match policy --pol ipsec --dir out --proto esp -d 10.10.10.0/24 -j ACCEPT
stlone
() автор топика
Ответ на: комментарий от stlone

Cтранная конфигурация. right и left равные %any выглядят для меня дико, но да ладно. Получается, что Ubuntu это IPSec-сервер, кинетик к ней должен подключаться и Ubuntu должна давать ему выход в интернет.

Вопрос, конечно, знает ли об этом кинетик и согласен ли с тем, что ему дают адрес 10.10.10.1/32. Но подключение к какой локальной сети здесь должно происходить мне не понятно.

mky ★★★★★
()
Ответ на: комментарий от mky

кинетик подключается через «другие подключения» к впну, мне не нужен доступ в интернет, мне надо иметь доступ к локальной сети офиса например к 1с для аудитора

stlone
() автор топика
Ответ на: комментарий от stlone

Я бы добавил адрес 10.0.0.10/32 на lo-интерфейс на Убунту и попрбовал конфиг с такими изменениями:

left=%defaultroute
leftsubnet=10.0.0.10
right=%any
#rightsourceip=10.10.10.0/24
#rightdns=8.8.8.8,8.8.4.4
rightsubnet=192.168.81.0/24 # локальная сеть в офисе с кинетиком

В iptables:
-A POSTROUTING -s 10.0.0.10 -o ens3 -j ACCEPT

MASQUERADE и FORWARD для 10.10.10.0 убрать.

По выводу iptables-save проверить, что в POSTROUTING перед правилом для 10.0.0.10 нет других правил. Если нужно, разрешить 10.0.0.10 в INPUT и OUTPUT.

У кинетика в 'Remote subnet' прописать 10.0.0.10.

И после этого пинг на адрес кинетика в локальной сети:

ping -I 10.0.0.10 192.168.81.1

для аудитора

Аудитор будет подключаться к Убунту по ipsec?

mky ★★★★★
()
Ответ на: комментарий от mky
root@vm2359763:~# systemctl status strongswan-starter
* strongswan-starter.service - strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf
     Loaded: loaded (/lib/systemd/system/strongswan-starter.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2023-07-18 10:59:24 MSK; 5s ago
    Process: 945 ExecStart=/usr/sbin/ipsec start --nofork (code=exited, status=2)
   Main PID: 945 (code=exited, status=2)

Jul 18 10:59:24 vm2359763 ipsec[945]: Starting strongSwan 5.8.2 IPsec [starter]...
Jul 18 10:59:24 vm2359763 ipsec_starter[945]: Starting strongSwan 5.8.2 IPsec [starter]...
Jul 18 10:59:24 vm2359763 ipsec[945]: /etc/ipsec.conf:9: syntax error, unexpected STRING [charondebug]
Jul 18 10:59:24 vm2359763 ipsec_starter[945]: /etc/ipsec.conf:9: syntax error, unexpected STRING [charondebug]
Jul 18 10:59:24 vm2359763 ipsec[945]: invalid config file '/etc/ipsec.conf'
Jul 18 10:59:24 vm2359763 ipsec_starter[945]: invalid config file '/etc/ipsec.conf'
Jul 18 10:59:24 vm2359763 ipsec[945]: unable to start strongSwan -- fatal errors in config
Jul 18 10:59:24 vm2359763 ipsec_starter[945]: unable to start strongSwan -- fatal errors in config
Jul 18 10:59:24 vm2359763 systemd[1]: strongswan-starter.service: Main process exited, code=exited, status=2/INVALIDARG>
Jul 18 10:59:24 vm2359763 systemd[1]: strongswan-starter.service: Failed with result 'exit-code'.

config setup
        # strictcrlpolicy=yes
        # uniqueids = no
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
dpdaction=clear
dpddelay=300s
rekey=no
left=%defaultroute
leftid=198.217.198.123
leftcert=server-cert.pem
leftsendcert=always
leftsubnet=10.0.0.10/32
right=%any
rightid=%any
rightauth=eap-mschapv2
#rightsourceip=10.10.10.0/24
#rightdns=8.8.8.8,8.8.4.4
rightsubnet=192.168.81.0/24
rightsendcert=never
eap_identity=%identity
ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sha1-m>esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!
stlone
() автор топика
Ответ на: комментарий от stlone

Шутите или совсем не понимаете?

Файл состоит из секций, каждая секция начинается строкой с первой позиции, всё строки внутри секции начинаются с пробела (или нескольких).

В первом посте у вас нормально отформатированый конфиг, а здесь зачем-то удалены пробелы, дважды прописана секция «config setup».

И, «conn ikev2-vpn» — секция для подключения офиса, для аудитора будет другая. Так что можете назвать ещё «conn keenetic», больше смысла будет.

Секция для аудитора это как-бы «conn remote-access» с этой страницы https://habr.com/ru/articles/504484/ , только нужно решить, сертификаты или PSK авторизация. И сначала добиться, чтобы работало подключение кинетика, потом уже добавлять новое в конфиг.

mky ★★★★★
()