Routing durch IP Sec Tunnel

Kufstein

B1G-Software-Kunde
#1
Hallöchen zusammen

Ich bin grad am Standortvernetzung und komme nicht weiter:


Ich habe Links eine Fritzbox 7590 (10.2.2.0/24) ---> diese eine IPSec-Tunnel zu einem Server im Internet (185.16.xx.xx) auf. Auf der anderen Seite habe ich ebenfalls einen IPSec Tunnel (10.99.99.0/24) auf den Serber im Internet.

Auf dem Server im Internet läuft StrongWan mit Debian 9.
Mein Problem ist nun, dass ich aus dem Netz 10.99.99.0 nicht 10.2.2.0 erreiche. Vom Shell auf dem Server (185.16.xx.xx) erreiche ich ebenfalls 10.2.2.0 nicht.
Von 10.2.2.0 erreiche ich allerdings 10.99.99.0/24.

Ich weiss jetzt nicht wo ich anfangen soll zu suchen. Muss ich noch irgendwie eine spezielle route hinzufügen oder sowas ?

Meine Config auf ipsec sieht wie folgt aus:

Code:
conn test1
        # PSK Authentifizierung
        authby=secret
        # nur Responder
        auto=add
        auto=start
        auto=route
    
        left=domain.ch
        leftsubnet=10.99.99.0/24
        
        right=aussenstelle.domain.ch
        rightid=@aussenstelle.domain.ch
        rightsubnet=10.2.2.0/24
      
        ike=aes256-sha-modp1024
        esp=aes256-sha1-modp1024
Die Config von der Fritz.Box hier:
Code:
vpncfg {
        connections {
                enabled = yes;
                editable = no;
                conn_type = conntype_lan;
                name = "TEST 1";
                boxuser_id = 0;
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remotehostname = "domain.ch";
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = "ausenstelle1.domain.ch";
                }
                remoteid {
                        fqdn = "domain.ch";
                }
                mode = phase1_mode_idp;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "HIEREINGEHEIMERKEY";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 10.2.2.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 10.99.99.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip 10.2.2.0/24 255.255.255.0 10.99.99.0 255.255.255.0";
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                            "udp 0.0.0.0:4500 0.0.0.0:4500";
}

Für jeglichen Tipp bin ich dankbar.
 
#2
Hallo Claudio,


Deine access list braucht nur auf das remote net zu zeigen (10.99.99.0 255.255.255.0)
Weiterhin musst Du remote (Debian) ein ipsec0 oder vti0 Interface einrichten mit routing und statischer IP.

- ip link set ipsec0 up
- ip addr add 10.99.99.y dev ipsec0 (y=debian IP)
- ip tunnel add ipsec0 local 10.99.99.y remote 10.2.2.x mode vti (x=fritz IP, y=debian IP)
- ip route add 10.2.2.x/24 dev ipsec0

ip -s tunnel show ipsec0

Wenn Deine Strongswan konfig funzt, dann solltest Du aus jedem Deiner Netze den ipsec endpoint per icmp erreichen können.

Interface und Routing dazu dann noch statisch einrichten ;)

Und dann fehlen ggf. noch passende firewall Settings auf Windows und Linux Seite!
Der Einfachheit halber einfach das komplette 10.99.99.0/24 in/out auf Windows Seite frei geben falls die Firewall dort eingeschaltet ist und auf Linux Seite analog das 10.2.2.0/24 für alle Ports.

Mit firewalld:

Linux: (service ipsec auf externem Interface eth0 bzw. alle notwendigen ipsec ports)
firewall-cmd --list-all --zone=public
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client smtp smtp-submission smtps imaps ipsec
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

+ private used net:
firewall-cmd --permanent --zone=trusted --add-source=10.99.99.0/24
firewall-cmd --permanent --zone=trusted --add-source=10.2.2.0/24

firewall-cmd --list-all --zone=trusted
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: ipsec0
sources: 10.99.99.0/24 10.2.2.0/24
services: ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Und ggf noch großzügig Portranges:
firewall-cmd --permanent --zone=trusted --add-port=1-10000/tcp
firewall-cmd --permanent --zone=trusted --add-port=1-10000/udp


Alternativ alles mit iptables :)

--
Viele Grüße
Bernhard
 
Last edited:
Top