zoli1972
Goto Top

Standard-Gateway-Problem mit einem Embedded-Linux-System an einer Fritzbox

Hallo,

Ich bin auf dem Linux-Gebiet noch nicht so lang unterwegs.

Ich habe Probleme, ein AM335x Embedded-System (kein Raspberry / Beaglebone) mit einer festen IP an einer Fritzbox zu betreiben. Mit DHCP klappt die Verbindung einwandfrei (natürlich mit veränderter "interfaces" - Datei).
Hier die Eckdaten / Einstellungen:

- Das System soll die feste IP 192.168.178.28 im internen LAN der Fritzbox bekommen
- Die Fritzbox hat die interne IP 192.168.178.1

meine /etc/network/interfaces sieht so aus:

# Configure Loopback
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 192.168.178.28
netmask 255.255.255.0
broadcast 192.168.178.255
gateway 192.168.178.1

allow-hotplug eth1

So bekomme ich allerdings nach dem Booten nur Verbindung bis zur Fritzbox (ping), nicht weiter.

Gebe ich jedoch in der Shell diese Zeile ein...:

/sbin/route add -net 0.0.0.0 gw 192.168.178.1 eth1

... funktioniert die Verbindung einwandfrei bis ins Internet.

Notgedrungen habe ich nun diese Zeile in ein Shell-Script gepackt, und als /etc/init.d/S99route-add gespeichert und ausführbar gemacht. So bleibt die Not-Lösung auch reboot-resistent.

Nun ist jedoch die Frage, warum klappt es nicht schon mit dem "gateway" - Eintrag aus der "interfaces" - Datei? Gibt es da eventuell auch einen besseren Weg, das Problem zu lösen? Im Netz war nicht viel zu finden.

Danke im Voraus

Zoli

Content-ID: 269475

Url: https://administrator.de/forum/standard-gateway-problem-mit-einem-embedded-linux-system-an-einer-fritzbox-269475.html

Ausgedruckt am: 22.12.2024 um 22:12 Uhr

orcape
orcape 17.04.2015 um 15:34:58 Uhr
Goto Top
Hi,
klappt denn ein ping auf z.B. die Google-IP Adresse 173.194.112.248 ?
Wenn ja, solltest Du mal noch...
dns-nameservers 192.168.178.1
...einfügen.
Gruß orcape
Naderio
Naderio 17.04.2015 aktualisiert um 15:39:55 Uhr
Goto Top
lass mal das
auto eth
weg und reboote mit
shutdown -r now

dann nochmal testen


EDIT:
hmm... geht auch mit.
Habs grad mal an meinem Entwicklungsserver getestet.
aqui
aqui 17.04.2015 aktualisiert um 17:14:58 Uhr
Goto Top
Ich bin auf dem Linux-Gebiet noch nicht so lang unterwegs.
Da hilft dir dann ganz sicher DAS hier:
Netzwerk Management Server mit Raspberry Pi
Dort ist alles zum Thema Netzwerk Konfiguration der Interfaces erklärt und gilt analog identisch zu deinem Board, da ein Debian basiertes Linux !

ACHTUNG: Wenn du das Gateway in der Interface Definition konfigurierst brauchst du logischerweise KEIN /sbin/route add -net 0.0.0.0... mehr zu konfigurieren, logisch !
Nach dem reboot kannst du mit netstat -r oder auch ip route show sehen wie dein Gateway eingestellt ist !
Ein ifconfig zeigt dir ob die Interface Konfig richtig übernommen wurde !!
michi1983
michi1983 17.04.2015 aktualisiert um 17:23:18 Uhr
Goto Top
Zitat von @orcape:

Hi,
klappt denn ein ping auf z.B. die Google-IP Adresse 173.194.112.248 ?
Wenn ja, solltest Du mal noch...
dns-nameservers 192.168.178.1
...einfügen.
Gruß orcape

Dem kann ich nur zustimmen.
Wenn in der interfaces Datei statische Adressen eingetragen werden muss auch der DNS Server angegeben werden (oder man bearbeitet die resolv.conf, sofern resolvconf nicht installiert ist)

Gruß
aqui
aqui 17.04.2015 um 17:20:48 Uhr
Goto Top
Steht ja auch so im RasPi / Debian Tutorial face-wink
michi1983
michi1983 17.04.2015 um 17:24:35 Uhr
Goto Top
Zitat von @aqui:

Steht ja auch so im RasPi / Debian Tutorial face-wink

Wollte das nur bestätigen falls der TO sich das tolle Tutorial entgehen lässt ;)
aqui
aqui 17.04.2015 um 17:37:15 Uhr
Goto Top
Nun könnte man ja was über die hiesige Suchfunktion schreiben....
Aber heute ist ja Freitag und da lassen wir das dann mal face-big-smile
Lochkartenstanzer
Lochkartenstanzer 17.04.2015 aktualisiert um 18:28:49 Uhr
Goto Top
Moin,

Noch ein kurze Anmerkugn zu dem Freitagsthread:

Die fritzboxen beginnen mit DHCP i.d.R. ab 192.168.178.20. Damit liegt 192.168.178.28 mitten im Bereich, daß durch DHCP von der fritzbox verwaltet wird. Man sollte entweder den DHCP-Bereich der Fritzbox anpassen (ich lege den immer von .64 bis .191) oder eine andere IP-Adresse nehmen.

Auch wenn es oft funktioniert, so sind Probleme mit der DHCP-Kollision vorprogrammiert.

lks

PS: Eventuell ist einfach die IP-Adresse doppelt vergeben. face-smile
aqui
aqui 17.04.2015 um 18:54:04 Uhr
Goto Top
Damit liegt 192.168.178.28 mitten im Bereich, daß durch DHCP von der FritzBox verwaltet wird.
Was natürlich für die IP Adressierung tödlich ist !
Guter Punkt und guter Hinweis !
Lochkartenstanzer
Lochkartenstanzer 17.04.2015 um 18:58:09 Uhr
Goto Top
Zitat von @aqui:

> Damit liegt 192.168.178.28 mitten im Bereich, daß durch DHCP von der FritzBox verwaltet wird.
Was natürlich für die IP Adressierung tödlich ist !
Guter Punkt und guter Hinweis !

Hier bei AVM sieht man, daß der Bereich von 20 bis 200 geht. Äußerst unpraktisch wie ich finde. Deswegen lege ich den auf 64 bis 191, damit "unten" und "oben" genug Platz für statische Vergaben ist.

lks
aqui
aqui 17.04.2015 aktualisiert um 19:03:17 Uhr
Goto Top
Äußerst unpraktisch wie ich finde.
Hast du wirklich was anderes von AVM erwartet ? face-wink
orcape
orcape 17.04.2015 um 19:39:15 Uhr
Goto Top
Zitat von @aqui:

> Damit liegt 192.168.178.28 mitten im Bereich, daß durch DHCP von der FritzBox verwaltet wird.
Was natürlich für die IP Adressierung tödlich ist !
Guter Punkt und guter Hinweis !
..natürlich vorausgesetzt, das der TO das DHCP überhaupt noch aktiviert hat, was nicht aus seinem Post hervor geht.
Auch wenn das ein Freitags-Thread ist...face-wink
..sollten wir Ihn vielleicht erst mal wieder zu Wort kommen lassen.
Gruß orcape
Solarius
Solarius 19.04.2015 um 11:35:53 Uhr
Goto Top
Moin Allerseits,
wenn Fritz Box und feste IP und Netzwerk-Config-Probleme, dann ist die einfachste Lösung MAC-Adresse des Teils in der Fritte auf eine feste IP binden und weiterhin IP-Adresse mit allen Informationen per DHCP beziehen lassen.
Dauert mal gerade 1 Minute!
Schönen Sonntag noch! face-wink
Solarius
aqui
aqui 19.04.2015 um 15:38:03 Uhr
Goto Top
Es gibt viele Wege nach Rom !
Lochkartenstanzer
Lochkartenstanzer 19.04.2015 um 15:42:56 Uhr
Goto Top
Zitat von @aqui:

Es gibt viele Wege nach Rom !

... und Umwege. face-smile
Zoli1972
Zoli1972 21.04.2015 aktualisiert um 16:28:28 Uhr
Goto Top
Danke für die vielen bislang eingegangenen Antworten.

Leider ist die Benachrichtigung des Forums im Spamfilter meiner eMail gelandet, sonst hätte ich schon früher geantwortet.

Einziger Client an der Fritzbox ist das embedded System. Ich greife mit meinem System extern drauf zu. Daher sind Kollisionen eher ausgeschlossen. Es ist auch nur ein Testsystem, das immer mit unteschiedlicher Hardware (Sprichwort MAC-Adresse), jedoch von der selben SD-Karte booten muß, jedoch immer die gleiche IP bekommen soll. Resolv.conf werde ich mir mal anschauen. Da die Box mit 192.168.178.1 als Gateway in /etc/network/interfaces angegeben ist, und eth1 auf auto steht, habe ich angenommen, das würde dann so gehen.

Ich melde mich.

Zoli
Zoli1972
Zoli1972 19.07.2015 um 11:56:06 Uhr
Goto Top
So, ich habe herausgefunden, daß die Einträge für das Standardgateway in meinem /etc/network/interfaces keinerlei Wirkung zeigten. Daher hatte ich die Idee, dies beim Start des Systems per route add einzupflegen. Jetzt habe ich eine Lösung, die relativ gut funktioniert:

Ich habe das Startscript für das Netzwerk (etc/init.d/S40network) anpassen müssen, da der Eintrag des Standardgateways nicht aus dem /etc/network/interfaces übernommen wurde. Die Anpassung sieht so aus:

*ZIPP*

#!/bin/sh
#
  1. Start the network....
#
  1. build gateway variable...
  2. | | only | without line feed
gateway_IP="$(cat /etc/network/interfaces | grep "gateway " | sed -r 's/^.{8}' | tr -d '\n')"
  1. build nameserver variable...
  2. nameserv_IP="nameserver $(cat /etc/network/interfaces | grep "dns-nameservers " | sed -r 's/^.{16}' | sed 's/ /\nnameserver /g')"

case "$1" in
start)
echo "Starting network..."
/sbin/ifup -a
route add default gw $gateway_IP eth1 # static gateway route (for static ip network configuration only!!!)
echo "nameserver $(cat /etc/network/interfaces | grep "dns-nameservers " | sed -r 's/^.{16}//' | sed 's/ /\nnameserver /g')" > /etc/resolv.conf # nameservers entry (for static ip network configuration only!!!)
;;
stop)
echo -n "Stopping network..."
/sbin/ifdown -a
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit $?

*ZAPP*

Das /etc/network/interfaces sieht so aus:

*ZIPP*

  1. Configure Loopback
auto lo
iface lo inet loopback

auto eth1
  1. static
iface eth1 inet static
address 192.168.178.150
network 192.168.178.0
netmask 255.255.255.0
broadcast 192.168.178.255
gateway 192.168.178.1
dns-nameservers 192.168.178.1

*ZAPP*

Die Anpassung bewirkt, daß die Route durch das Startscript gesetzt wird. Das Script ist natürlich noch etwas dirty, aber bestimmt für andere nützlich, die das Problem auch haben. Für mich ist jedenfalls das Problem gelöst.

Übrigens, leider verändert die Foren-Oberfläche meine Script-Snippets. Es sollte da, wo eine "1." angezeigt wird, natürlich das Kommentarzeichen "#" stehen. Das gleiche gilt für die Aufzählungspunkte.

Zoli
Lochkartenstanzer
Lochkartenstanzer 19.07.2015 aktualisiert um 12:26:25 Uhr
Goto Top
Zitat von @Zoli1972:

Übrigens, leider verändert die Foren-Oberfläche meine Script-Snippets. Es sollte da, wo eine "1."
angezeigt wird, natürlich das Kommentarzeichen "#" stehen. Das gleiche gilt für die Aufzählungspunkte.

Moin,

Genau deswegen hat ja Frank auch die Code-Tags vorgesehen, wie man unschwer durch Lesen des FAQs rausfinden würde.

Schönen Sonntag noch.

lks
aqui
aqui 20.07.2015 um 08:41:18 Uhr
Goto Top
Da die Box mit 192.168.178.1 als Gateway in /etc/network/interfaces angegeben ist, und eth1 auf auto steht, habe ich angenommen, das würde dann so gehen.
Das geht auch generell so. Checke das Tutorial dazu hier:
Netzwerk Management Server mit Raspberry Pi