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

Clients sollen 2. Netz nicht sehen

Hallo,

ich habe hier ein kleines Problem, zu dem ich bislang noch keine Lösung im Netz gefunden habe, vielleicht könnt Ihr mir weiterhelfen.

Ich habe einen Server (Suse 10) laufen, mit 2 Netzwerkkarten. An einer eth1 (10.0.0.1) hängt ein kleines Netz mit 5 Win Clients. Für dieses Netz ist der Server sowohl DHCP- wie auch Fileserver und Router. MIt der Anderen Netzwerkkarte eth0 (192.168.123.28 ) hängt der Server an einem anderen kleinen Netz in dem sich der DSL Router und noch zwei weitere Clients befinden. Nach entsprechender Einrichtung der Suse Firewall können die Clients jetzt ins Internet. Sie können auf Samba zugreifen. Sie können aber auch die Arbeitsgruppe und die Rechner und Freigaben auf der anderen Seite des Servers im 192.168.123.0 Netz sehen. Eingentlich sollten sie durch dieses Netz einfach nur zum DSL Router "durchgeschleust" werden. Der DSL Router hat die IP 192.168.123.254.
Geht das überhaupt, und was muß ich dafür einstellen.
Ich habe die ganze Einstellung bislang mit Yast gemacht.

besten Dank im Voraus

minorum
 

framp

Moderator
Teammitglied
Interessante Konfiguration ;-).

Ich gehe davon aus dass Du die SuSEFW auf den Router aktiv hast. Die SuSEFW kann das nicht so ohne weiteres abdecken.

Das beste wird sein Du definierst die eth0 als externes/unsicheres NIC in der FW und laesst dann gezielt das forwarding vom Router zum DSL Router durch mit zwei iptables Eintraegen in der /etc/sysconfig/scripts/SuseFirewall-Custom in fw_custom_before_denyall()

Code:
iptables -I FORWARD -i eth1 -o eth0 -s 10.0.0.1/24 -d ! 192.168.123.0/24 -j ACCEPT
iptables -I FORWARD -o eth1 -i eth0 -d 10.0.0.1/24 -s ! 192.168.123.0/24 -j ACCEPT

Damit laesst Du alles forwarding zu allen externen Adressen, die vom DSL Router verwaltet werden ausser dem internen eth0 Netz zu. D.h. allerdings auch, dass keiner aus dem eth0 netz auf den DSL Router zugreifen kann. Durch eine weitere spezifische rule ist das aber auch hinzubekommen ;-).
 
framp schrieb:
Damit laesst Du alles forwarding zu allen externen Adressen, die vom DSL Router verwaltet werden ausser dem internen eth0 Netz zu. D.h. allerdings auch, dass keiner aus dem eth0 netz auf den DSL Router zugreifen kann. Durch eine weitere spezifische rule ist das aber auch hinzubekommen ;-).

Ich bin mir nicht ganz sicher ob ich mich richtig ausgedrückt habe, oder dich nicht ganz verstehe. Der DSL Router ist ja im 192.168.123.0 Netz von daher beziehen auch die Rechner dort ihre IP und sind vom dem Netz hinter dem Linuxserver getrennt. Die laufen ganz egal ob der Linuxserver läuft oder nicht.
Hier nochmal "graphisch"

Clients---Linuxserver----Switch-----DSLRouter--- Internet

Die anderen Clients hängen mit am Switch (Ich bekomm es nicht gezeichnet, die Leerzeichen werden immer gelöscht)
 

framp

Moderator
Teammitglied
Code:
Clients---Linuxserver----Switch-----DSLRouter--- Internet
                                          !                 !!
                                          !     192.168.123.28
                                          !
                                192.168.123.0/24 Netz
Ich glaube ich habe Dich schon richtig verstanden ;-)

Der LinuxServer ist ein Router - muss also ins naechste Netz forwarden. Du verbietest also explizit dem Router ZielAdressen von Deinem lokalen Netz zu forwarden :lol: .

Deine Clients wollen ins Internet, und da gibt es keine 192.168.123/0 Adressen. D.h. mit den beiden Rules erlaubst Du Deinem LinuxServer alle IP Adressen <> 192.168.123.0/24 zu forwarden d.h. alle 192.168.123.0/24 Adressen werden abgewiesen beim forwarding.
 
framp schrieb:
Ich glaube ich habe Dich schon richtig verstanden ;-)

Allerdings. Es funktioniert auch :D gerade getestet.

Besten Dank dafür. Ich denke ich habe sogar verstanden weshalb es fuktioniert. :idea:
Es funktioniert so gut, dass ich schon wieder eine Ausnahme brauche.
Ich würde nämlich gerne von den clients hinter dem Linuxserver auf Den DSL Router zugreifen um bei Bedarf den Status der DSL Verbindung abfragen zu können.
 

framp

Moderator
Teammitglied
minorum schrieb:
Es funktioniert so gut, dass ich schon wieder eine Ausnahme brauche.
Ich würde nämlich gerne von den clients hinter dem Linuxserver auf Den DSL Router zugreifen um bei Bedarf den Status der DSL Verbindung abfragen zu können.
Das hatte ich mir fast gedacht und wollte die Loesung im vorherigen Posting schon reinschreiben.
Aber eigentlich solltest Du - wenn Du die Rule richtig verstanden hast - das auch alleine hinbekommen ;-).

Kleine Tips:
1) Die obige Rule verhindert ( ! (not) im command ) dass die Clients auf das 192.168.123.0/24 Netz zugreifen koennen. -> man iptables
2) Man kann auch umgekehrt Zugriffe erlauben (kein !)
Code:
iptables -I FORWARD -i eth1 -o eth0 -s 10.0.0.1/24 -d  192.168.123.1 -j ACCEPT
-> man iptables
3) iptables rules werden sequentiell geprueft, d.h. wenn eine rule vor einer anderen steht und Zugriff erlaubt greift die nachfolgenden Regel, die den Zugriff verbietet nicht mehr.
4) 192.168.123.0/24 ist ein Netz, 129.168.123.1 ist eine einzelne IP Adresse

Nimm an das ist die 1M Frage bei Guenter Jauch 8) . FIndest Du die Loesung :lol:
 
framp schrieb:
Aber eigentlich solltest Du - wenn Du die Rule richtig verstanden hast - das auch alleine hinbekommen ;-).

Nimm an das ist die 1M Frage bei Guenter Jauch 8) . FIndest Du die Loesung :lol:

Eigentlich wollte ich mir sparen die Syntax für Iptables zu lernen ;-)

Aber ich denke es sollte dann so aussehen:

Code:
iptables -I FORWARD -i eth1 -o eth0 -s 10.0.0.1/24 -d  192.168.123.1 -j ACCEPT
iptables -I FORWARD -o eth1 -i eth0 -d 10.0.0.1/24 -s  192.168.123.1 -j ACCEPT
iptables -I FORWARD -i eth1 -o eth0 -s 10.0.0.1/24 -d ! 192.168.123.0/24 -j ACCEPT
iptables -I FORWARD -o eth1 -i eth0 -d 10.0.0.1/24 -s ! 192.168.123.0/24 -j ACCEPT

Hier schon mal die Kontonummer für die Million:
8100356 BLZ 68051207 :-D
 

framp

Moderator
Teammitglied
:cry: :cry: :cry:

Eine Mille weg

:cry: :cry: :cry:

Code:
iptables -I FORWARD -i eth1 -o eth0 -s 10.0.0.1/24 -d  192.168.123.1 -j ACCEPT
ist fast richtig.

Nur hat Dein DSL Router die IP 192.168.123.28 und nicht 192.168.123.1 :roll:
 
Oben