Re: Routing zwischen Netzen (ueber OpenVPN)
Robert Fischer wrote:
> Michael Hierweck wrote:
>
>> nach meinem Anlauf vor zwei Jahren habe ich das Thema OpenVPN dann
>> beiseite gelegt und wollte nun einen Versuch starten. Leider scheitere
>> ich immer noch beim Routing zwischen den beiden zu verbindenden Netzen.
>>
>>
>>
>> +--------- Internet ---------+
>> | |
>> Router A Router B
>> | |
>> VPN-Server A VPN-Client A
>> VPN-Client B VPN-Server B
>> | |
>> Rechner A Rechner B
>
> [...]
>
> Damit teilst Du dem OpenVPN-Server mit, dass hinter dem ClientA das Netzwerk
> 192.168.0.0/24 liegt. Es reicht _nicht_ aus diese Routen in der
> Kernel-Routingtabelle auf dem OpenVPN-Server zu setzen, siehe dazu:
> http://openvpn.net/index.php/documentation/howto.html#scope
Vielen Dank, ich hatte diese ccd und iroute nicht in der Konfiguration.
Dennoch stecke ich an der gleichen Stelle fest. Nachdem ich die
Konfiguration zusätzlich auch gespiegelt aufgebaut habe, kann ich vom
VPN-Server/Client jeden Rechner erreichen, aber von den Rechnern aus
nichts auf der Gegenseite.
192.168.100.0/24 ist das Netz A mit dem Server 192.168.100.100
192.168.111.0/24 ist der Tunnel, welcher von VPN-Server A erzeugt wird.
192.168.200.0/24 ist das Netz A mit dem Server 192.168.200.100
192.168.222.0/24 ist der Tunnel, welcher von VPN-Server B erzeugt wird.
----------------------------------------------------------------------------------
1: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:07:e9:f4:14:da brd ff:ff:ff:ff:ff:ff
inet 192.168.200.100/24 brd 192.168.200.255 scope global eth0
2: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop
link/ether 2e:28:28:74:e5:94 brd ff:ff:ff:ff:ff:ff
36: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc
pfifo_fast qlen 100
link/[65534]
inet 192.168.222.1 peer 192.168.222.2/32 scope global tun0
37: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc
pfifo_fast qlen 100
link/[65534]
inet 192.168.111.6 peer 192.168.111.5/32 scope global tun1
192.168.222.2 dev tun0 proto kernel scope link src 192.168.222.1
192.168.111.5 dev tun1 proto kernel scope link src 192.168.111.6
192.168.100.0/24 via 192.168.111.5 dev tun1
192.168.200.0/24 dev eth0 proto kernel scope link src 192.168.200.100
192.168.111.0/24 via 192.168.111.5 dev tun1
192.168.222.0/24 via 192.168.222.2 dev tun0
default via 192.168.200.250 dev eth0
----------------------------------------------------------------------------------
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop
link/ether 96:91:5c:c9:d1:9f brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:e0:7d:7c:9e:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.100.100/24 brd 192.168.100.255 scope global eth0
24: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc
pfifo_fast qlen 100
link/[65534]
inet 192.168.111.1 peer 192.168.111.2/32 scope global tun0
25: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc
pfifo_fast qlen 100
link/[65534]
inet 192.168.222.6 peer 192.168.222.5/32 scope global tun1
192.168.111.2 dev tun0 proto kernel scope link src 192.168.111.1
192.168.222.5 dev tun1 proto kernel scope link src 192.168.222.6
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.100
192.168.200.0/24 via 192.168.222.5 dev tun1
192.168.111.0/24 via 192.168.111.2 dev tun0
192.168.222.0/24 via 192.168.222.5 dev tun1
default via 192.168.100.250 dev eth0
---------------------------------------------------------------------------------------
Damit sind folgende "Pings" oder auch TCP-Verbindungen möglich:
Server A ---> Server B
Server A ---> Rechner B
Server B ---> Server A
Server B ---> Rechner A
Nicht möglich sind:
Rechner A -/-> Server B
Rechner A -/-> Rechner B
Rechner B -/-> Server A
Rechner B -/-> Rechner A
Die folgenden Auszüge beziehen sich auf Verbindungsversuche
von Rechner A (192.168.100.80) aus. Ich habe auf Server A und B ein
tcpdump -n -i any icmp mitlaufen lassen.
traceroute von Rechner A nach Server B
Log von Server A, keine Keine Logausgabe auf Server B:
12:04:40.496510 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
12:04:40.498874 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
12:04:40.499501 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
traceroute von Rechner A nach Rechner B
Log von Server A, keine Keine Logausgabe auf Server B:
12:05:01.196562 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
12:05:01.199310 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
12:05:01.200099 IP 192.168.100.100 > 192.168.100.80: ICMP time exceeded
in-transit, length 48
Auf Rechner A erreicht traceroute noch 192.168.100.100, danach gibt es
nur noch Sternchen.
ping von Rechner A nach Server B
Log von Server A:
12:07:52.596945 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 1, length 64
12:07:52.596969 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 1, length 64
12:07:53.596935 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 2, length 64
12:07:53.596946 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 2, length 64
12:07:54.597118 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 3, length 64
12:07:54.597129 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 3, length 64
Log von Server B:
12:07:52.619616 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 1, length 64
12:07:53.611768 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 2, length 64
12:07:54.611077 IP 192.168.100.80 > 192.168.200.100: ICMP echo request,
id 11281, seq 3, length 64
ping von Rechner A nach Rechner B
Log von Server A:
12:08:03.647922 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 1, length 64
12:08:03.647941 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 1, length 64
12:08:04.647999 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 2, length 64
12:08:04.648009 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 2, length 64
12:08:05.648193 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 3, length 64
12:08:05.648203 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 3, length 64
Log von Server B:
12:08:03.660269 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 1, length 64
12:08:04.661612 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 2, length 64
12:08:05.659956 IP 192.168.100.80 > 192.168.200.50: ICMP echo request,
id 11537, seq 3, length 64
Hier kommt, wie erwartet nichts zurück.
Und nochmal vielen Dank an alle, die sich so viel Mühe geben. :-)
Viele Grüße
Michael
Reply to: