Einstellung in /etc/network/interfaces für Router

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
H0MER
Beiträge: 32
Registriert: 25.09.2005 13:29:41

Einstellung in /etc/network/interfaces für Router

Beitrag von H0MER » 05.04.2006 21:06:09

Hi Leute... ich möchte eine simple Sache machen,
finde aber im Internet wie auch hier im Forum etliche Antworten mit genausovielen Lösungsvarianten/Vorschlägen.

Also .. ich möchte eigentlich nur, meine Debian Kiste als Router umbauen.

Dazu habe ich jetzt 2 Netzwerkkarten eingebaut, von denen eth1 die Verbindung ins interne Netz herstellt und eth0 die Verbindung zum DSL-Modem aufnimmt.

Mit pppoeconfig habe ich auch eine funktionierende Internetverbindung eingerichtet, welche auch nach anfänlichen Schwierigkeiten zu funktionieren scheint.(Ping funktioniert und per ftp kann ich mich auf FTP-Server connecten).
Jedoch möchte ich das ganze auch verstehen. Da haperts bei mir aber gerade ein bisschen.

In die /etc/network/interfaces habe ich auch die eth1 mit netzmaske etc eingetragen, nur was muss ich für eth0 dort eintragen?

ich habe dort jetzt für eth0

Code: Alles auswählen

auto eth0
iface eth0 inet static 
address 192.168.0.2
networt 255.255.255.0 
drin stehen, damit ifup eth0 funktioniert.
(Sonst bekommt man ja nen Fehler, dass das Interface nicht richtig Konfiguriert wurde)
Wenn ich jetzt "pon dsl-provider" mache, wird auch eine Verbindung hergestellt, nur warum muss ich denn der Karte eine ip vergeben, wenn diese automatisch vom Provider zugewiesen werden sollte?

Ich stehe hier also mit meinem Verständnis ein bisschen auf dem Schlauch.
Wäre super nett, wenn Ihr mir sagen könntet, was ich jetzt für das eth0 in die interfaces eintragen muss und auch, warum ich dieses dort eintragen muss.

Wenn Ihr mir dann auch noch sagen könntet, ob ein simples "ip_forward=yes" inder /etc/network/options ausreicht, um den Rechner dazu zu bewegen, Pakete zu routen wäre ich euch auf (fast) ewig dankbar ;).

Vielen Dank

Mfg
H0MER

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 06.04.2006 07:44:10

Für PPP/PPPoE braucht man eigentlich der Netzwerkkarte keine IP-Adresse zu geben. Das Interface muss jedoch "up" sein, damit der pppd auf das Netzwerkdevice zugreifen kann. Der pppd erstellt ein neues, virtuelles Interfaces ppp0, welches dann dynamisch eine IP-Adresse zugewiesen bekommt. Solltest Du wie im Moment eth0 eine statische IP zuweisen, bleibt diese auch nach einem Verbindungsaufbau ins Internet bestehen (siehe Ausgabe von "ifconfig -a").

Rein theoretisch brauchst Du demnach sogar nur eine einzige Netzwerkkarte bei einem DSL-Router: eth0 vergibst Du eine IP-Adresse aus dem LAN und physikalisch verbindest Du die Netzwerkkarte mit einem Hub/Switch, an dem auch Deine andere LAN-PCs und(!) auch das DSL-Modem stecken. Dann baut der pppd die Verbindung via Hub/Switch zum DSL.-Modem auf und eth0 kann weiterhin per statischer IP-Adresse und Hub/Switch auf die Rechner im LAN zugreifen.

Bezgl. dem Routing: ip_forward=yes setzen bzw. "echo 1 > /proc/sys/net/ipv4/ip_forward" als Befehl absetzen, und, weil ich annehme, dass Du Dir für das LAN ein privates Netz ausgesucht hast, das aus dem Internet nicht "route-bar" ist, musst Du auf dem Router das Masquerading bzw. NAT einschalten. Das geht mit dem Befehl:

Code: Alles auswählen

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE
(hier mal angenommen, Dein LAN-Netz hat die 192.168.1.0, ansonsten entsprechend anpassen).

Grüsse, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

H0MER
Beiträge: 32
Registriert: 25.09.2005 13:29:41

Beitrag von H0MER » 06.04.2006 09:08:19

Hi ...
Vielen Danke für die super Antwort.

Das hat mir auf jedenfall seeeehr viel geholfen.

Jetzt habe ich aber noch zwei Fragen.
1.
Du hast ja geschrieben, dass die Karte up sein muss, damit die pppd Verbindung erstellt werden kann.
Was muss ich denn in der /etc/network/interfaces eintragen, damit ich genau das machen kann?
Gebe ich keine "address" und "netmask" ein, bekomme ich nen fehler, dass die Karte nicht konfiguriert ist.
2.
Angenommen, ich vergebe der eth0 keine statische Adresse.
Muss ich dann in dem Befehl:

Code: Alles auswählen

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE
immer noch eth0 als Device angeben oder dann ppp0 ?

Mfg
H0MER

C167
Beiträge: 468
Registriert: 06.04.2006 08:55:20
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von C167 » 06.04.2006 11:48:43

wenn du die IP om Privider per DHCP zugewisen bekommst, könnte ein "iface eth0 inet dhcp" in der network/interfaces helfen

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 06.04.2006 14:27:35

@HOMER:

Trag mal das in die /etc/network/interfaces ein:

Code: Alles auswählen

auto eth0
iface eth0 inet static
Mehr nicht, das sollte reichen.

Bezgl. dem iptables-Befehl: ja, das muss natuerlich ppp0 heissen, sorry, mein Fehler.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

H0MER
Beiträge: 32
Registriert: 25.09.2005 13:29:41

Beitrag von H0MER » 06.04.2006 17:44:21

Hi ..

@mistersixt:
Wenn ich nur das in die interfaces reinschreiben bekomme ich beim aufruf von "ifup eth0" folgenden Fehler:

Code: Alles auswählen

Don't seem to be have all the variables for eth0/inet.
Failed to bring up eth0.
@C167:
Wenn ich "dhcp" anstelle von "static" in die interfaces reinschreibe, bekomme ich beim Aufruf von "ifup eth0" keinen Fehler, jedoch sehe ich das Device auch nicht wenn ich "ifconfig" angebe.(Das kann aber auch dadran liegen, dass ich diesen Befehl "trocken" ausgeführt habe, ohne eine bestehende DSL-Verbindung.)

mfg
H0MER

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 07.04.2006 08:08:41

H0MER hat geschrieben:Hi ..

@mistersixt:
Wenn ich nur das in die interfaces reinschreiben bekomme ich beim aufruf von "ifup eth0" folgenden Fehler:

Code: Alles auswählen

Don't seem to be have all the variables for eth0/inet.
Failed to bring up eth0.
Mmmh, dann trag halt irgend eine freie IP-Adresse ein. Weiss ich im Moment auch nicht, was ein Minimum-Eintrag wäre ;) ! Ich habe gerade mal auf meinen DSL-Gateways geschaut, da habe ich tatsächlich auch immer eine IP vergeben, ich nehme mal an, dass das Start-Script bei Debian nicht mitspielt, wenn man keine IP angibt (wie gesagt, eigentlich braucht man aber keine IP-Adresse auf dem DSL-Interface).

Grüsse, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Antworten