Score:0

Strongwan S2S VPN to Fortinet

by flag
ben

I want to hide my local hosted server behind a public VPS. So i established a VPN between my local firewall(fortinet) and my vps(strongswan). Diagram

The VPN is up but no traffic at all. Even in tcpdump i can't see any traffic coming from the tunnel in both directions.

VPS:

  • 92.x.x.x on ens6 (srv1.domain.net)
  • 10.200.0.25/29 on ens6:1 (alias IP on Networkdevice with "ip addr add")

Home:

  • dynamic IP -> 82.x.x.x on wan1 (home.domain.net)
  • 10.1.0.0/20

VPS

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         93.x.x.1        0.0.0.0         UG    100    0        0 ens6
10.200.0.24     0.0.0.0         255.255.255.248 U     0      0        0 ens6
93.x.x.1        0.0.0.0         255.255.255.255 UH    100    0        0 ens6

ipsec.conf

        lifetime=3600s
        ikelifetime=3h
        keyingtries=3
        keyexchange=ikev2
        authby=secret
        type=tunnel
        auto=start
        mobike=no

        ike=aes128-aes256-sha256-sha384-x25519!
        esp=aes128gcm16-aes256gcm16-x25519!

        leftsubnet=10.200.0.24/29
        left=92.x.x.x
conn home
        right=home.domain.net
        rightsubnet=10.1.0.0/20
root@ubuntu:~# ipsec status
Security Associations (1 up, 0 connecting):
        home[1]: ESTABLISHED 93 minutes ago, 93.x.x.x[srv1.domain.net]...88.x.x.x[home.domain.net]
        home{3}:  INSTALLED, TUNNEL, reqid 1, ESP SPIs: c1fc6d50_i c502a2f6_o
        home{3}:   10.200.0.24/29 === 10.1.0.0/20       
        
root@ubuntu:~# ip xfrm state          
src 93.x.x.x dst 82.x.x.x
        proto esp spi 0xc502a2f6 reqid 1 mode tunnel
        replay-window 0 flag af-unspec
        aead rfc4106(gcm(aes)) 0xxxxxxx 128
        anti-replay context: seq 0x0, oseq 0x0, bitmap 0x00000000
src 82.x.x.x dst 93.x.x.x
        proto esp spi 0xc1fc6d50 reqid 1 mode tunnel
        replay-window 32 flag af-unspec
        aead rfc4106(gcm(aes)) 0xxxxxxx 128
        anti-replay context: seq 0x0, oseq 0x0, bitmap 0x00000000

Ping from 10.1.2.77 to 10.200.0.25

Firewall Fortigate

fw # diagnose sniffer packet "S2S-srv1" none 4
interfaces=[S2S-srv1]
filters=[none]
pcap_lookupnet: S2S-srv1: no IPv4 address assigned
4.900617 S2S-srv1 -- 10.1.2.77 -> 10.200.0.25: icmp: echo request
9.866557 S2S-srv1 -- 10.1.2.77 -> 10.200.0.25: icmp: echo request
14.866824 S2S-srv1 -- 10.1.2.77 -> 10.200.0.25: icmp: echo request
19.867489 S2S-srv1 -- 10.1.2.77 -> 10.200.0.25: icmp: echo request

VPS

root@ubuntu:~# tcpdump -v -n -i any port not 22 and not port 53
tcpdump: data link type LINUX_SLL2
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
[empty]

Ping from VPS to 10.1.1.1

Firewall Fortigate

fw # diagnose sniffer packet "S2S-srv1" none 4
interfaces=[S2S-srv1]
filters=[none]
pcap_lookupnet: S2S-srv1: no IPv4 address assigned
[empty]

VPS

root@ubuntu:~# tcpdump -v -n -i any port not 22
tcpdump: data link type LINUX_SLL2
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
13:09:47.663917 ens6  Out IP (tos 0x0, ttl 64, id 34394, offset 0, flags [DF], proto ESP (50), length 140)
    93.x.x.x > 88.x.x.x: ESP(spi=0xc502a2f6,seq=0x5), length 120
13:09:48.688043 ens6  Out IP (tos 0x0, ttl 64, id 34532, offset 0, flags [DF], proto ESP (50), length 140)
    93.x.x.x > 88.x.x.x: ESP(spi=0xc502a2f6,seq=0x6), length 120

Ping from VPS 10.200.0.25 to 10.1.1.1

Firewall Fortigate

fw # diagnose sniffer packet "S2S-srv1" none 4
interfaces=[S2S-srv1]
filters=[none]
pcap_lookupnet: S2S-srv1: no IPv4 address assigned
[empty]

VPS

tcpdump: data link type LINUX_SLL2
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
13:14:48.239905 lo    In  IP (tos 0x0, ttl 64, id 45593, offset 0, flags [DF], proto ICMP (1), length 92, options (NOP,LSRR 10.1.1.1))
    10.200.0.25 > 10.200.0.25: ICMP echo request, id 15, seq 26, length 64
13:14:49.263958 lo    In  IP (tos 0x0, ttl 64, id 45646, offset 0, flags [DF], proto ICMP (1), length 92, options (NOP,LSRR 10.1.1.1))
    10.200.0.25 > 10.200.0.25: ICMP echo request, id 15, seq 27, length 64

I believe i need to set some iptables rules....Anybody any hint?

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.