PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IP-Tunnel: IPs aus anderem Netz nutzen



Marook332
05.03.14, 14:37
Hallo zusammen,

ich habe folgends Problem : Es gibt 2 Server (Ubuntu 12.04 LTS) in zwei unterschiedlichen RZ. Bei dem einen Server (nennen wir ihn 'kickseed') gibt es ein ein nutzbares IP Netz welches ich auf dem anderen Server nutzen möchte. Dazu habe ich bereits einen IP-Tunnel eingerichtet (10.0.0.1 <-> 10.0.0.2), jedoch scheitere ich an den Details. So kann ich die IPs aus dem Netz vom Server 'kickseed' auf dem zweiten nicht nutzen. Hier mal eine Übersicht der configs und genauen Daten :

Server 'kickseed' :

root@kickseed:~# ifconfig
eth0 Link encap:Ethernet Hardware Adresse 00:25:22:df:d1:02
inet Adresse:84.200.75.2 Bcast:84.200.75.63 Maske:255.255.255.192
inet6-Adresse: fe80::225:22ff:fedf:d102/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX-Pakete:12446 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:3701 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:906303 (906.3 KB) TX-Bytes:662230 (662.2 KB)
Interrupt:42 Basisadresse:0xe000

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX-Pakete:29 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:29 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX-Bytes:71783 (71.7 KB) TX-Bytes:71783 (71.7 KB)

tun1 Link encap:IPIP Tunnel Hardware Adresse
inet Adresse:10.0.0.1 P-z-P:10.0.0.2 Maske:255.255.255.255
UP PUNKTZUPUNKT RUNNING MULTICAST MTU:1480 Metrik:1
RX-Pakete:297 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:311 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX-Bytes:26916 (26.9 KB) TX-Bytes:31708 (31.7 KB)


/etc/network/interfaces :

root@kickseed:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 84.200.75.2
netmask 255.255.255.192
gateway 84.200.75.1
dns-nameservers 8.8.8.8

auto tun1
iface tun1 inet static
address 10.0.0.1
netmask 255.255.255.252
broadcast 10.0.0.255
pre-up iptunnel add tun1 mode ipip local 84.200.75.2 remote 148.251.54.212 ttl 255
up ip route add default via 10.0.0.2 dev tun1 table 2
up ip rule add from 148.251.54.212/32 table 2
up ifconfig tun1 multicast
up ip link set arp on dev tun1
pointopoint 10.0.0.2
down ip route del default via 10.0.0.2 dev tun1 table 2
down ip rule del from 148.241.212/32 table 2
post-down iptunnel del tun1


Routing:

root@kickseed:~# ip route list
default via 84.200.75.1 dev eth0 metric 100
10.0.0.2 dev tun1 proto kernel scope link src 10.0.0.1
84.200.75.0/26 dev eth0 proto kernel scope link src 84.200.75.2
84.200.75.3 dev tun1 scope link


Das nutzbare Netz wäre 84.200.75.0/29
Gateway : 84.200.75.1

Hier nun noch die config vom zweiten Server (nameless) :

root@nameless ~ # ifconfig
eth0 Link encap:Ethernet HWaddr 44:8a:5b:29:e4:8f
inet addr:148.251.54.212 Bcast:148.251.54.223 Mask:255.255.255.224
inet6 addr: fe80::468a:5bff:fe29:e48f/64 Scope:Link
inet6 addr: 2a01:4f8:202:14d3::2/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12407 errors:0 dropped:0 overruns:0 frame:0
TX packets:17482 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1200882 (1.2 MB) TX bytes:2083272 (2.0 MB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5656 errors:0 dropped:0 overruns:0 frame:0
TX packets:5656 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:754648 (754.6 KB) TX bytes:754648 (754.6 KB)

tun1 Link encap:IPIP Tunnel HWaddr
inet addr:10.0.0.2 P-t-P:10.0.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1480 Metric:1
RX packets:297 errors:0 dropped:0 overruns:0 frame:0
TX packets:297 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:30532 (30.5 KB) TX bytes:26916 (26.9 KB)


/etc/network/interfaces

root@nameless ~ # cat /etc/network/interfaces
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto eth0
iface eth0 inet static
address 148.251.54.212
broadcast 148.251.54.223
netmask 255.255.255.224
gateway 148.251.54.193
# default route to access subnet
up route add -net 148.251.54.192 netmask 255.255.255.224 gw 148.251.54.193 eth0

iface eth0 inet6 static
address 2a01:4f8:202:14d3::2
netmask 64
gateway fe80::1

# IPTunnel configuration created by ipconfig-script
auto tun1
iface tun1 inet static
address 10.0.0.2
netmask 255.255.255.252
broadcast 10.0.0.255
pre-up iptunnel add tun1 mode ipip local 148.251.54.212 remote 84.200.75.2 ttl 255
up ip route add default via 10.0.0.1 dev tun1 table 2
up ip rule add from 84.200.75.3/26 table 2
up ifconfig tun1 multicast
up ip link set arp on dev tun1
pointopoint 10.0.0.1
down ip route del default via 10.0.0.1 dev tun1 table 2
down ip rule del from 84.200.75.3/26 table 2
post-down iptunnel del tun1

auto eth0:3
iface eth0:3 inet dhcp
# address 84.200.75.3
# netmask 255.255.255.192
# gateway 10.0.0.1


Hier habe ich bereits viel ausprobiert, deswegen wollte ich erstmal nur eine IP testen. Daher steht oben meist die 84.200.75.3/26 drin...auch mit korrekten subnetzmaksen ist keine IP zu beziehen oder sonstwie zu nutzen.

Routing:

root@nameless ~ # ip route list
default via 148.251.54.193 dev eth0
default via 148.251.54.193 dev eth0 metric 100
10.0.0.1 dev tun1 proto kernel scope link src 10.0.0.2
148.251.54.192/27 via 148.251.54.193 dev eth0
148.251.54.192/27 dev eth0 proto kernel scope link src 148.251.54.212


Das einzige was ich nun kann ist die 84.200.75.3 anzupingen, jedoch nur von den beiden Servern die mit dem Tunnel verbunden sind. Pinge ich die IP von einem externen Server an, bekomme ich keine Antwort. Dazu kommt noch, dass ein weiteres kleines Netz 148.251.253.104 /29 später auf dem zweiten Server (nameless) bereitgestellt werden soll.

Wo liegt mein Fehler ???

pr0j3ctx
11.03.14, 19:59
Dein Grundproblem ist ganz einfach.

Du kannst keine öffentlichen IPs durch ein privates Netz routen. Du musst dem VPN IPs aus deinem Netz geben.

Alternativ machst du nur ein Portforwarding auf den zweiten Server. Also DNAT.

Grüsse
pr0

mbo
12.03.14, 19:24
Ist Dein erster Server Router für das Subnetz? Das ist die Voraussetzung für das Routing.
Ansonsten, wie schon erwähnt, macht Dich NAT glücklich ...

Marook332
13.03.14, 07:52
Das sind jetzt nicht so die Aussagen mit denen ich etwas anfangen kann. Nahezu die selbe Konfiguration ist bereits erfolgreich im Einsatz, allerdings mit einem Server in einem anderen RZ...die IPs lassen sich sehr wohl durch ein privates Netz tunneln, sonst würden die bisherigen Konfigs ja nicht laufen. Danke trotzdem für die Antworten, ich suche weiter...

pr0j3ctx
13.03.14, 14:32
Hi Marook332.

Du hast recht. Technisch ist es möglich, aber es ist falsch. War von mir falsch formuliert.

Es sind vielleicht nicht die Spitzenantworten, aber mbo hatte dir eine Frage gestellt die noch offen ist.

Wenn am Server kein IP-Forwarding aktiviert ist geht natürlich gar nichts von aussen. Daher solltest du diesen Punkt schon kontrollieren.

Hilft auch nicht weiter aber bei kickseed passt beim tun1 die Netzmaske nicht zur Broadcast Adresse.

Die vielleicht wichtigste Frage ist, wo weisst du nameless die IP 84.200.75.3 zu? Kenne mich mit diesem Tunnelprotokoll nicht aus, aber ich finde es in deinen Auszügen nicht.
Wird diese wirklich per DHCP zugewiesen, kann ich mir kaum vorstellen.

Schöne Grüße
pr0