• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

LAN <-> WAN routing ohne NAT

A

Anonymous

Gast
Hallo zusammen,
ich habe ein IP-Adressbereich zugewiesen bekommen und möchte unser LAN fest ins Internet bringen (ohne NAT). Die Server und Clients sind nun mit den öffentlichen Adressen ausgestattet, nur der von mir aufgesetzte LINUX-Router will nichts durchlassen.
Der Router mit Suse 7.3, Kernel 2.4.10, ist mit 2 NICs ausgestattet, eth0 verbunden mit dem WAN-Router unseres Providers, eth1 mit unserem LAN verbunden. Vom Linux-Router kann alles angeping werden, alles im WAN und alles im LAN. Von Rechnern aus dem LAN kann der Linux-Router mit der LAN-IP angepingt werden, aber nicht die WAN-IP. Vom Internet genau umgekehrt. IP_FORWARD ist eingeschaltet und Firewall noch ausgeschaltet.
Der Kern hat IPv6-Unterstützung und in /var/log/messages finde ich Einträge, dass kein IPv6-router vorhanden ist. Kann das eventuell dafür verantwortlich sein ?

Kernel IP routing table:
Destination Gateway Genmask Flags Metric Ref Use Iface
95.35.151.240 95.35.151.242 255.255.255.252 UG 0 0 0 eth0
95.35.151.240 0.0.0.0 255.255.255.252 U 0 0 0 eth0
95.35.149.0 95.35.149.37 255.255.255.192 UG 0 0 0 eth1
95.35.149.0 0.0.0.0 255.255.255.192 U 0 0 0 eth1
0.0.0.0 95.35.151.241 0.0.0.0 UG 0 0 0 eth0

ifconfig
eth0 Link encap:Ethernet HWaddr 00:10:4B:47:2A:97
inet addr:95.35.151.242 Bcast:95.35.151.243 Mask:255.255.255.252
inet6 addr: fe80::210:4bff:fe47:2a97/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:88770 errors:0 dropped:0 overruns:0 frame:0
TX packets:28462 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:7668436 (7.3 Mb) TX bytes:4798590 (4.5 Mb)
Interrupt:9 Base address:0xfcc0

eth1 Link encap:Ethernet HWaddr 00:50:FC:61:F2:54
inet addr:95.35.149.37 Bcast:95.35.149.63 Mask:255.255.255.192
inet6 addr: fe80::250:fcff:fe61:f254/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43651 errors:0 dropped:0 overruns:0 frame:0
TX packets:14465 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4600388 (4.3 Mb) TX bytes:1243088 (1.1 Mb)
Interrupt:11 Base address:0xbc00

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:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:436 (436.0 b) TX bytes:436 (436.0 b)

Hat jemand eine Ahnung wie man da rangeht?

Gruss und Danke
Peter
 
OP
A

Anonymous

Gast
Hallo crazynet242,

mal ne ganz dumme Frage, bitte nicht böse sein. Ist auf den Clients die 95.35.149.37 als Standardgateway eingetragen.

Um die Routingtabelle für deine Netzkonstellation zu erzeugen, müssten folgende Befehle richtig sein.:

route add -net 95.35.151.240 netmask 255.255.255.252 gw 95.35.151.242

route add -net 95.35.149.0 netmask 255.255.255.192 gw 95.35.149.37

route add default gw 95.35.151.241
 
OP
A

Anonymous

Gast
Auf den Clients (bzw. auf einem zum Testen) habe ich selbstverständlich 95.35.149.37 als Default-Gateway eingetragen. Pings an öffentliche IP-Adressen gehen einfach nicht. Versuche ich von Außen auf eine interne IP zu pingen (z.B. 95.35.149.37) geht das auch nicht. Nur die externe NIC mit 95.35.151.242 pongt zurück.

Was mach ich nur falsch

Gruss Peter
 

muaddib2

Newbie
Versuch mal (in der /etc/rc.config)
IFCONFIG_0="95.35.151.242 pointopoint 95.35.151.241 netmask 255.255.255.255 up"

Danach Netzwerk neu starten, am besten mit
init 1
init 3 (oder init 5)

Ist nur ne Idee aus dem hohlen Bauch.
 
OP
A

Anonymous

Gast
bringt aber leider auch keinen Erfolg... :cry:

ich vermute dass irgendwo noch weitere Feinheiten einzustellen sind, die mir noch fehlen.
IP_Forward jedenfalls zeigt 1 und iptables und chains hab ich noch nichts gemacht. möglicherweise ist da was gesperrt ?

Gruss Peter
 
OP
A

Anonymous

Gast
nein, die firewall habe ich bewusst ausgeschaltet, ich hatte nur die vermutung, dass suse noch andere filter oder schalter drin hat.

mittlerweile denke ich dass der nächste router, also der providerrouter (95.35.151.241) nicht korrekt routet. möglicherweise ist der fehlkonfiguriert und routet die zu unserem netz gehörigen adressen nicht in unsere richtung sondern zurück ins backbone (weil sie ihm nicht bekannt sind?).

zu der vermutung komme ich, da ich auch mit windows 2000 kein routing der adressen hinbekomme. mit NAT hingegen funktioniert wieder alles, aber das bringt mir nichts.

viele gruesse und guten rutsch ins neue jahr
Peter
 
OP
A

Anonymous

Gast
Hallo crazynet242,

das mit dem fehlkonfigurierten Providerrouter kann nicht sein. Du müsstest zumindest aus deinem Lan die WAN-Adresse deines eigenen Routers und die des Providerrouters anpingen können. Da das aber ja schon nicht klappt, liegt der Fehler eindeutig auf deinem Router.
 

basman

Member
Du könntest mit iptables-save überprüfen, ob Dein Router wirklich offen ist. (Ok, der Vorschlag war wohl überflüssig. Sorry.)

Ausserdem solltest Du mit tcpdump oder ethereal genau beobachten, wie der Router auf die Pakete reagiert, die er nach aussen forwarden soll.

Mir kommt die Routing Table komisch vor. Warum kommen die beiden Netze (WAN und LAN) je zweimal vor, einmal mit einer Gateway-Angabe und einmal mit blossem Interface? Letztere machen Sinn (Regeln 2 und 4). Der Router weiss aufgrund derer doch ohnehin, wie er Pakete zum LAN und WAN leiten kann. Wozu die Gateway-Regeln 1 und 3?

Sie könnten das Problem sein: der Router möchte z.B. ein Paket ins LAN zustellen. Laut Routing-Tabelle (Regel 3) schickt er sie an die Ethernet/ARP-Adresse seines eigenen Interfaces eth1. In diesem Schritt wird die ursprüngliche Ziel-IP im Paket belassen und lediglich die Ziel-Ethernet-Adresse wird auf diejenige von eth1 gesetzt. Somit "loopt" das Paket auf dem Router und verlässt ihn nie. Womöglich verlassen ICMP-Messages vom Typ 11 (time-exceeded) den Router in die Gegenrichtung, weil das TTL-Feld der IP-Pakete abläuft.

Soweit die Theorie. Hilft das Entfernen der Routingregeln 1 und 3?

Grüße vom Bodensee
 
OP
A

Anonymous

Gast
vielen Dank auch für eure Hilfe !

das ganze Problem hat nicht an mir gelegen sondern am nächsten Router. Unser Provider hatte den Router falsch eingerichtet und da ihm (dem Router) unser Adressbereich nicht bekannt war hat er alles wieder von uns weggeroutet. Und ich war schon kurz davor den Verstand zu verlieren...
Nun funktioniert alles ganz toll!

viele Gruesse
Peter
 
OP
A

Anonymous

Gast
Hallo crazynet242,

sei mir nicht böse aber dann können deine Aussagen nicht gestimmt haben.:

Der Router mit Suse 7.3, Kernel 2.4.10, ist mit 2 NICs ausgestattet, eth0 verbunden mit dem WAN-Router unseres Providers, eth1 mit unserem LAN verbunden. Vom Linux-Router kann alles angeping werden, alles im WAN und alles im LAN. Von Rechnern aus dem LAN kann der Linux-Router mit der LAN-IP angepingt werden, aber nicht die WAN-IP. Vom Internet genau umgekehrt.IP_FORWARD ist eingeschaltet und Firewall noch ausgeschaltet.

Wenn du aus deinem LAN die WAN-Adresse des Routers nicht anpingen kannst, liegt der Fehler eindeutig auf deinem Router und nicht auf dem Router des ISP. Ausserdem konntest du ja von deinem Router alle Adressen im WAN anpingen, wie du sagtest. Das hätte mit einem Fehlkonfigurierten Router von deinem ISP nicht funktionieren können.
 
Oben