Das VPN funktioniert, der Router O funktioniert ansich auch und kommt bis B, aber es gibt keine Verbindung zwischen Router O und Lancom A.
Hier eine vereinfachte Grafik in Ascii.
Code: Alles auswählen
Standort A Standort B
+-------------+ +--------------+
| Lancom A | | Lancom B |
| 10.8.1.1/16 |<-----------VPN--------------->| 10.10.0.1/24 |
+-----+-------+ +-+-------+----+
| | |
| | +-+
+-----+------+ | |
| Host A1 | | +-+
| 10.8.1.100 | | |
+------------+ | |
| |
+----------+--+ +-----+---------+
| Host B1 | | Router O |
| 10.10.0.100 | | 10.10.50.1/24 |
+-------------+ +-----+---------+
|
|
+----+---------+
| Host O1 |
| 10.10.50.100 |
+--------------+
Lancom B ist mit Router O über ein /30-Transfernetz via VLAN verbunden, auch Host O1 kann B anpingen.
Zum Verbinden der Netze habe ich die statische Route in A Richtung B = 10.10.0.0 mit der Netzmaske 255.255.0.0 versehen (statt 255.255.255.0), sodass Lancom A neben 10.10.0.0/24 auch alles an 10.10.50.0/24 (O) ins VPN schicken sollte. Hier beginnt der Fehler:
Host O1 kann jedoch nicht A1 erreichen, selbst Lancom A kann Router O nicht erreichen.
Für den Rückweg ist auch die statische Route an Lancom B Richtung A = 10.8.0.0 mit der Netzmaske 255.255.0.0 versehen.
Im Router O habe ich eine entsprechende Route hinzugefügt, wobei die 172 aus dem Transfernetz stammt und zusätzlich dem Lancom B zugewiesen ist:
Code: Alles auswählen
10.8.0.0/16 via 172.31.254.10 dev br-lan.2732
Offenbar übersehe ich etwas. Da der Fehler in den Einstellungen der Lancom-Router zu sein scheint, versuche ich, Pings von A an O zu verfolgen, sehe diese aber nirgendwo im TCP-Dump oder in der Trace-Ausgabe. Wie kann ich herausfinden, was Lancom A mit dem Ping macht, statt ihn zu Lancom B zu schicken?
An B Trace-Ausgabe erzeugen:
Code: Alles auswählen
ssh root@10.10.0.1 | tee lc_b.trace
> trace + ip-router
Code: Alles auswählen
> ping 10.10.50.1
---10.10.50.1 ping statistic---
56 Bytes Data, 1 Packets transmitted, 0 Packets received, 100% loss
> ping 10.10.0.1
56 Byte Packet from 10.10.0.1 seq.no=0 time=9.377 ms
> ping 10.10.0.100
56 Byte Packet from 10.10.0.100 seq.no=0 time=9.686 ms
Code: Alles auswählen
$ grep -F 'SrcIP: 10.8.1.1' lc_b.trace | grep -F '10.10.10.' -c
9
$ grep -F 'SrcIP: 10.8.1.1' lc_b.trace | grep -F '10.10.0.'
DstIP: 10.10.0.100, SrcIP: 10.8.1.1, Len: 92, DSCP/TOS: 0x00
...
$ grep -F 'SrcIP: 10.8.1.1' lc_b.trace | grep -F '10.10.50.' -c
0
Wenn ich am Lancom B den lokalen IPv4-Traffic mit "tr # IPv4-Host" ausgebe, finde ich dort hingegen die ankommenden Pings von A an B, aber auch nicht von A an O.
Code: Alles auswählen
IPv4: 10.8.1.1 -> 10.10.0.1, Total-Len: 84
IPv4: 10.10.0.1 -> 10.8.1.1, Total-Len: 84
Code: Alles auswählen
> show ipv4-route
IPv4 fast lookup routing table
Rtg-Tag 0
Prefix Next-Hop Interface Type
---------------------------------------------------------------
0.0.0.0/0 0.0.0.0 INET_FIBER static
10.10.0.0/16 0.0.0.0 LANCOMB static
...
Rtg-Tag 10
Prefix Next-Hop Interface Type
---------------------------------------------------------------
0.0.0.0/0 0.0.0.0 INET_FIBER static
10.10.0.0/16 0.0.0.0 LANCOMB static
...