statische Route setzen

Reks30

Well-Known Member
Hallo,

ich habe ein zusätzliches Testnetz hinter einem 2. Router in einem Lan installiert. Damit dieses aber erreichbar ist, muß ich dem 1. Router der mit OpenBSD 3.9 läuft eine statische Route bekanntgeben. Der 1. Router hat 3 Netzwerkkarten an denen folgende Netze hängen:

Internet per DSL-Modem (dies ist seine Default Route)
192.168.0.0/24 (Netzwerkkarte fxp0 192.168.0.1) Kabelgebundenes Netzwerk in dem die meisten Rechner stehen
192.168.1.0/24 (Netzwerkkarte vr0 192.168.1.1) Wlan

Innerhalb des 192.168.0.0/24 Netzes habe ich nun einen Router (mit FreeBSD 6.1, eigentlich wollte ich auch OpenBSD, aber das ist eine andere Geschichte) mit einmal der Adresse 192.168.0.252 und auf der anderen Seite der Adresse 192.168.2.1 und dem Netz 192.168.2.0/24.

Auf diesem Rechner ist die 192.168.0.1 (also Router Nr.1) die Default Route.

Was nun nicht geht: Es kommen keine Pakete aus dem 192.168.0.0/24 Netz zum 192.168.2.0/24 Netz. Klar Router Nr.1 braucht eine Route zu diesem Netz, also habe ich diese mit:

route add 192.168.2.0/24 192.168.0.252

gesetzt. Aber das hilft nichts. Wenn ich nun einen Ping absetze kommt das raus:
Code:
epona: root# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
ping: sendto: No route to host
ping: wrote 192.168.2.1 64 chars, ret=-1
ping: sendto: No route to host
ping: wrote 192.168.2.1 64 chars, ret=-1
--- 192.168.2.1 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss

Dabei steht in der Routingtabelle:

Code:
192.168.2/24       192.168.0.252      UGS         0        6      -   fxp0

Wie soll ich das jetzt verstehen?

Gruß
Reks30
 
Auf diese Weise legst du die Route meines Wissens über ein Interface, mit der genannten IP. Das existiert natürlich nicht.

Die Zeile

# route add 192.168.2.0/24 -gateway 192.168.0.252

könnte sein was du suchst.
 
Hallo,

ich habe ein zusätzliches Testnetz hinter einem 2. Router in einem Lan installiert. Damit dieses aber erreichbar ist, muß ich dem 1. Router der mit OpenBSD 3.9 läuft eine statische Route bekanntgeben. Der 1. Router hat 3 Netzwerkkarten an denen folgende Netze hängen:

Internet per DSL-Modem (dies ist seine Default Route)
192.168.0.0/24 (Netzwerkkarte fxp0 192.168.0.1) Kabelgebundenes Netzwerk in dem die meisten Rechner stehen
192.168.1.0/24 (Netzwerkkarte vr0 192.168.1.1) Wlan

Innerhalb des 192.168.0.0/24 Netzes habe ich nun einen Router (mit FreeBSD 6.1, eigentlich wollte ich auch OpenBSD, aber das ist eine andere Geschichte) mit einmal der Adresse 192.168.0.252 und auf der anderen Seite der Adresse 192.168.2.1 und dem Netz 192.168.2.0/24.

Auf diesem Rechner ist die 192.168.0.1 (also Router Nr.1) die Default Route.

Was nun nicht geht: Es kommen keine Pakete aus dem 192.168.0.0/24 Netz zum 192.168.2.0/24 Netz. Klar Router Nr.1 braucht eine Route zu diesem Netz, also habe ich diese mit:

route add 192.168.2.0/24 192.168.0.252

gesetzt. Aber das hilft nichts. Wenn ich nun einen Ping absetze kommt das raus:
Code:
epona: root# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
ping: sendto: No route to host
ping: wrote 192.168.2.1 64 chars, ret=-1
ping: sendto: No route to host
ping: wrote 192.168.2.1 64 chars, ret=-1
--- 192.168.2.1 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss

Dabei steht in der Routingtabelle:

Code:
192.168.2/24       192.168.0.252      UGS         0        6      -   fxp0

Wie soll ich das jetzt verstehen?

Gruß
Reks30
hast du pf aktiviert? was zeigt route get 192.168.2.1 an?
 
# route add 192.168.2.0/24 -gateway 192.168.0.252

Ich habe das probiert, aber der Befehl geht auch nicht. Es kommt das gleiche dabei raus. Zumal laut Manpage die Form:

route add 192.168.2.0/24 192.168.0.252

korrekt sein soll:

Aus der manpage zu route:

The other commands have the syntax:

route [-dnqtv] command [modifiers] destination gateway [netmask]

destination is the destination host or network, gateway is the next-hop
intermediary via which packets should be routed, and netmask behaves the
same as the argument to the -netmask modifier and is described below.

Gruß
Reks30
 
Sind Firewalls enabled ?
Kannst Du von 192.168.0.1 aus 192.168.0.252 anpingen ?
Kannst Du von 192.168.0.252 aus 192.168.0.1 anpingen ?
Setze einen echten Client ins 192.168.2.0 Netz (meinetwegen mit der IP-Adresse
192.168.2.10) und mache dorthin und von dort aus Tests.
 
hast du pf aktiviert? was zeigt route get 192.168.2.1 an?

Ja, ich habe pf aktiviert, und jetzt habe ich es gerade gesehen, ja es liegt auch an pf. Das neue Netz war noch nicht in meiner pf.conf und ich habe bisher nur alle bislang bekannten Netze für irgend was erlaubt. Also Problem gelöst. Hätte ich auch früher dran denken können.

pf.conf geändert, geht!

Gruß
reks30
 
neues Folge-Problem

Also wie ich schon etwas weiter oben schrieb, der Tip mit pf war schon richtig und es geht jetzt.

Allerdings habe ich jetzt immer noch ein Routingproblem. Wenn ich den Router 1 aus dem neuen Netz aus anpinge geht das zwar jetzt, aber in dem 192.168.0.0/24 Netz steht z. B. auch ein Server. Versuche ich diesen anzupingen aus dem 192.168.2.0/24 Netz geht das nicht. meine Pings kommen wohl an, können aber nicht beantwortet werden, weil der Server dort die Route nicht weiß. Normalerweise sollte dieser die Route jetzt doch vom Router 1 (der sie ja weiß) per ICMP Nachricht bekommen, aber das passiert nicht. Setze ich die Route von Hand geht es, aber ich kann doch nicht jedem einzelnen Rechner die Route von Hand bekannt geben. Das muß doch der Router machen können. Den Router 1 benutzen die Clients und Server in 192.168.0.0/24 ja als Default Route. Der müßte doch jetzt eigentlich weiterverweisen können, was aber nicht passiert.

Gruß
Reks30
 
ganz simples vorgehen. _jede_ regel, die in pf irgendwas blockt, sollte ein "log" keyword kriegen. dann lauschst du auf router 1 mit tcpdump auf dem pflog0 interface und machst nochmal den ping. jede wette, dass du icmp redirects blockierst.
 
ganz simples vorgehen. _jede_ regel, die in pf irgendwas blockt, sollte ein "log" keyword kriegen. dann lauschst du auf router 1 mit tcpdump auf dem pflog0 interface und machst nochmal den ping. jede wette, dass du icmp redirects blockierst.

Ähm, ja. ich habe es genau so gemacht und ja du hättest wirklich drauf wetten können, es ist genau so wie du sagst. Danke TCM. Problem gelöst.

Gruß
Reks30
 
Zurück
Oben