Hallo, ich habe das Problem, das mir die Firewall dem NIS-Client ordentlich Knüppel zwischen die Beine schmeisst. Der NIS-Client ist konfifuriert und holt sich mittels Broadcast den NIS- Server. Bei Yast ist an entsprechender Stelle ein Häckchen für "öffne Firewall" gesetzt. In der Firewallkonfiguration taucht unter den erlaubten Diensten auch der NIS- Client auf. Dies sollte laut /etc/sysconfig/SuSEfirewall2.d/services/ypbind ## Name: NIS Client ## Description: The ypbind daemon binds NIS clients to an NIS domain # space separated list of allowed RPC services RPC="rpcbind portmap ypbind" die Dienste rpcbind, portmap und ypbind erlauben. Tut es aber nicht oder genauer: Ich kann mich zwar am NIS-Server anmelden, aber es dauert Ewigkeiten bis die geschehen ist. Das äußert sich unter anderem darin, dass der X-Server, KDM und dann irgendwann KDE4 lange zum Starten brauchen und dann sehr träge laufen bis hin zu einem kompletten hängenbleiben des Systems. Laut /etc/services sind den Diensten folgende Ports zugewiesen: blues:~ # grep -i rpcbind /etc/services sunrpc 111/tcp rpcbind # SUN Remote Procedure Call sunrpc 111/udp rpcbind # SUN Remote Procedure Call blues:~ # grep -i portmap /etc/services rpc2portmap 369/tcp # rpc2portmap rpc2portmap 369/udp # rpc2portmap mdc-portmapper 685/tcp # MDC Port Mapper mdc-portmapper 685/udp # MDC Port Mapper tpmd 1906/tcp # TPortMapperReq tpmd 1906/udp # TPortMapperReq bmap 3421/tcp # Bull Apprise portmapper bmap 3421/udp # Bull Apprise portmapper sdp-portmapper 3935/tcp # SDP Port Mapper Protocol sdp-portmapper 3935/udp # SDP Port Mapper Protocol fsportmap 4349/tcp # File System Port Map fsportmap 4349/udp # File System Port Map blues:~ # grep -i ypbind /etc/services Ypbind taucht gar nicht in der Liste auf. Wie kann ich der Firewall nun beibringen, das der NIS-Client ohne Einschränkungen mit der Außenwelt kommunizieren darf? MfG Marco P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Zusammen, Marco Roeben schrieb in: "SuSEfirewall2 blockiert NIS-Client (<201008121649.33108.roeben@fmp-berlin.de>)"
P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine.
Dann solltest Du das Netzwerk-Interface dem Bereich 'internal' zuordnen. So läuft zwar die Firewall aber es wird kein Verkehr blockiert. (Wobei ich mich mit NIS nicht auskenne ...) Bye Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Bernd Nachtigall Nachtigall wrote:
P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine.
Dann solltest Du das Netzwerk-Interface dem Bereich 'internal' zuordnen. So läuft zwar die Firewall aber es wird kein Verkehr blockiert.
Laut der Hilfe in Yast muss für Masquerading mindestens ein device dem externen Netz zugeordnet sein. Sonst hätte ich das schonmal ausprobiert. MfG Marco @Bernd Sorry für die PM, hatte den falschen Knaopf gedrückt. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Marco Roeben schrieb:
Bernd Nachtigall Nachtigall wrote:
P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine.
Dann solltest Du das Netzwerk-Interface dem Bereich 'internal' zuordnen. So läuft zwar die Firewall aber es wird kein Verkehr blockiert.
Laut der Hilfe in Yast muss für Masquerading mindestens ein device dem externen Netz zugeordnet sein. Sonst hätte ich das schonmal ausprobiert.
ah ja ..und wozu brauchst du Masquerading ??
MfG Marco
@Bernd Sorry für die PM, hatte den falschen Knaopf gedrückt.
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert Ockert wrote:
Laut der Hilfe in Yast muss für Masquerading mindestens ein device dem externen Netz zugeordnet sein. Sonst hätte ich das schonmal ausprobiert.
ah ja ..und wozu brauchst du Masquerading ??
Siehe mein "etwas" ausführlichere Antwort auf Deine Mail. Hat länger gebraucht die zu schreiben. MfG Marco -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Marco Roeben schrieb:
Hallo,
ich habe das Problem, das mir die Firewall dem NIS-Client ordentlich Knüppel zwischen die Beine schmeisst.
Der NIS-Client ist konfifuriert und holt sich mittels Broadcast den NIS- Server. Bei Yast ist an entsprechender Stelle ein Häckchen für "öffne Firewall" gesetzt.
warum broadcast ? jetzt kenne ich NIS zu wenig, um zu erklären ob das so sein muss...würde aber heissen: Anmeldung nur innerhlab des Netzes - damit ist die Frage nach Firewall fast unsinnig... normalerweise schotte ich zwar ein Netz per Firewall nach aussen ab, aber nicht nach innen.....
In der Firewallkonfiguration taucht unter den erlaubten Diensten auch der NIS- Client auf. Dies sollte laut
/etc/sysconfig/SuSEfirewall2.d/services/ypbind
## Name: NIS Client ## Description: The ypbind daemon binds NIS clients to an NIS domain
# space separated list of allowed RPC services RPC="rpcbind portmap ypbind"
die Dienste rpcbind, portmap und ypbind erlauben. Tut es aber nicht oder genauer: Ich kann mich zwar am NIS-Server anmelden, aber es dauert Ewigkeiten bis die geschehen ist. Das äußert sich unter anderem darin, dass der X-Server, KDM und dann irgendwann KDE4 lange zum Starten brauchen und dann sehr träge laufen bis hin zu einem kompletten hängenbleiben des Systems.
Laut /etc/services sind den Diensten folgende Ports zugewiesen:
nmap ( evtl mit -sT -O localhost) sagen dir genau, wo er lauscht (d.h. was gehen muss)
Ypbind taucht gar nicht in der Liste auf.
wenn ypbind kein Dienst ist..
Wie kann ich der Firewall nun beibringen, das der NIS-Client ohne Einschränkungen mit der Außenwelt kommunizieren darf?
nochmal: ports einstallen oder ermitteln, die zu benutzen sind und ggfs. freigeben
P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine.
wozu dann überhaupt eine Firewall ? ist deine Wohnung auch wie ein Gefängnis eingerichtet, wo du dich von Zimmer zu Zimmer durchschliessen musst ? (Beim mir sind nur die Türen nach aussen zu...) mit Firewalls ist es ähnlich...so dass ich im kompletten Netz hinter der Firewall (zum Internet) auch keine weitere Firewall brauche.... Und selbst wenn der Rechner direkt am Internet hängt, brauchts nicht (unbedingt) eine Firewall - die wird nur gebraucht, wenn ich Dienste für alle (!) nicht auf einem Interface erreichbar machen will/muss ... Wenn also hosts.allow/hosts.deny nicht praktikabel sind. Fred ps: 2 Firewall Gestaltungsvarianten: 1. alles darf - Verbote werden einzeln definiert 2. nichts darf - Erlaubnisse werden einzeln definiert m,arco: versuchs doch mit Version 1 .. zum einarbeiten...erst alles zulassen und dann Schritt für Schritt einschränken... -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert Ockert wrote:
warum broadcast ? jetzt kenne ich NIS zu wenig, um zu erklären ob das so sein muss...würde aber heissen: Anmeldung nur innerhlab des Netzes - damit ist die Frage nach Firewall fast unsinnig... normalerweise schotte ich zwar ein Netz per Firewall nach aussen ab, aber nicht nach innen.....
On das sein muss ist eine andere Frage. Unser Admin macht es halt so, die Clients holen sich per Broadcast die Adresse des NIS-Servers. Wir haben zwei davon und er behält sich Änderungen vor. Wichtig ist hier nur, dass mindestens einer am Netz ist um eine saubere Anmeldung zu gewährleisten. Deshalb Broadcast, vor allem wenn es ein Rechner von einem Kollegen ist.
wenn ypbind kein Dienst ist..
Wie kann ich der Firewall nun beibringen, das der NIS-Client ohne Einschränkungen mit der Außenwelt kommunizieren darf?
nochmal: ports einstallen oder ermitteln, die zu benutzen sind und ggfs. freigeben
Da die Ports nicht immer die gleichen sind wird das evtl. nicht so einfach. Ich hatte gehofft, dass Yast dieses Detail für mich übernimmt, da der Rechner in den Firewalleinstellungen ja explizit als NIS-Client definiert werden kann. Anscheinend ist es so, dass das Problem mit den Ports über ein Perl Skript gelöst werden soll (/etc/sysconfig/scripts/SuSEfirewall2-rpcinfo). 'perl -w SuSEfirewall2-rpcinfo ypbind ' gibt -p udp --dport 111 -p tcp --dport 111 -p udp --dport 751 -p tcp --dport 752 Was prinzipiell nicht schlecht ist, da 'lsof -i -P' COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 2054 root 6u IPv4 7620 0t0 UDP *:111 rpcbind 2054 root 7u IPv4 7624 0t0 UDP *:957 rpcbind 2054 root 8u IPv4 7625 0t0 TCP *:111 (LISTEN) rpcbind 2054 root 9u IPv6 7627 0t0 UDP *:111 rpcbind 2054 root 10u IPv6 7629 0t0 UDP *:957 rpcbind 2054 root 11u IPv6 7630 0t0 TCP *:111 (LISTEN) ypbind 2271 root 7u IPv4 8352 0t0 UDP *:751 ypbind 2271 root 8u IPv4 8358 0t0 TCP *:752 (LISTEN) somit die gleichen Ports auflistet.
P.S. Der Rechner befindet sich in einem gesicherten Netzwerk, Sicherheitsbedenken gibt es deshalb keine.
wozu dann überhaupt eine Firewall ? ist deine Wohnung auch wie ein Gefängnis eingerichtet, wo du dich von Zimmer zu Zimmer durchschliessen musst ? (Beim mir sind nur die Türen nach aussen zu...) mit Firewalls ist es ähnlich...so dass ich im kompletten Netz hinter der Firewall (zum Internet) auch keine weitere Firewall brauche....
Und selbst wenn der Rechner direkt am Internet hängt, brauchts nicht (unbedingt) eine Firewall - die wird nur gebraucht, wenn ich Dienste für alle (!) nicht auf einem Interface erreichbar machen will/muss ...
Nee, schon klar. Der Rechner braucht auch keine Firewall, das ist mir auch bewusst. Es ist aber nunmal so, das eine reine IP-Weiterleitung nicht funktioniert. Masquerading wird aber bei Opensuse zusammen mit der Firewall konfiguriert. Ohne aktivierte Firewall werden die iptables Befehle nicht gesetzt. Solange ich Yast zur Konfiguration nicht verlassen will bin ich auf die Firewall angewiesen. Soweit mein Netzwerkwissen.
ps: 2 Firewall Gestaltungsvarianten: 1. alles darf - Verbote werden einzeln definiert 2. nichts darf - Erlaubnisse werden einzeln definiert
m,arco: versuchs doch mit Version 1 .. zum einarbeiten...erst alles zulassen und dann Schritt für Schritt einschränken...
Hab ich schon hinter mir. :-) Ich habe einfach alle Ports von 0 bis 65535 freigegeben, TCP als auch UDP. RPC ist etwas schwieriger da laut dem Hilfetext in Yast [1] diese als Dienstnamen angegeben werden müssen. ypbind wird sogar explizit danach nochmal in Hilfetext erwähnt. [2] Warum die Angabe von portmap, ypbind das Problem des "hängenden" Rechners bei der Kommunikation mit dem NIS-Server nicht löst ist ja gerade mein Problem. Für mich ergibt sich im Moment folgende Schlußfolgerung: Entweder es liegt irgendwo ein Bug vor oder die Firewall kann nur mir einem NIS-Client umgehen der sich die Server nicht per Broadcast holt. Wenn ich allerdings auf Yast zur Konfiguration verzichte, dann kann ich das Masquerading ja auch per Hand aktivieren. Im Netz gibt es etliche Beispiele dafür, wie zum Beispiel hier [3]. Ich habe nur ein wenig Sorge um die funktionierende Netzwerkkonfiguration. Allerdings soetwas wie iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Masquerading aktivieren. Da ich im Moment nicht auf den Rechner zu greifen kann um herumzuspielen weiß ich nicht ob das funktioniert. Wenn ja, wo trage ich iptables Regeln ein die bei Start automatisch gesetzt werden? Die Susefirewall fällt in diesem Fall ja weg. Ich hoffe ich konnte mein Problem mit etwaigen Lösungsvorschlägen erläutern. MfG Marco [1] "RPC-Ports müssen als Dienstnamen (portmap oder nlockmgr) eingegeben werden." [2] "RPC-Ports ist eine durch Leerzeichen getrennte Liste der RPC-Dienste, wie nlockmgr, ypbind oder portmap." [3] http://tldp.org/HOWTO/IP-Masquerade-HOWTO/firewall- examples.html#RC.FIREWALL-IPTABLES -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Marco Roeben schrieb:
Nee, schon klar. Der Rechner braucht auch keine Firewall, das ist mir auch bewusst. Es ist aber nunmal so, das eine reine IP-Weiterleitung nicht funktioniert. Masquerading wird aber bei Opensuse zusammen mit der Firewall konfiguriert. Ohne aktivierte Firewall werden die iptables Befehle nicht gesetzt. Solange ich Yast zur Konfiguration nicht verlassen will bin ich auf die Firewall angewiesen. Soweit mein Netzwerkwissen.
na ja.. aber: entweder Broadcast oder NAT... Portweiterleitung ist immer ein Port auf einen einzigen Rechner wobei ..man kann iptables starten und auf allow all setzen (rein + raus) auf die Chains INPUT OUTPUT FORWARD ..
Hab ich schon hinter mir. :-) Ich habe einfach alle Ports von 0 bis 65535 freigegeben, TCP als auch UDP. RPC ist etwas schwieriger da laut dem Hilfetext in Yast [1] diese als Dienstnamen angegeben werden müssen. ypbind wird sogar explizit danach nochmal in Hilfetext erwähnt. [2]
hmm ??? anstatt die default Regel auf ALLOW ...na ja ..
Warum die Angabe von portmap, ypbind das Problem des "hängenden" Rechners bei der Kommunikation mit dem NIS-Server nicht löst ist ja gerade mein Problem.
entweder ..du bist im Netz (dann ist der ganze NAT Kram Unsinn) dann lauscht der auch auf den Ports, der Kollege von ypbind
Für mich ergibt sich im Moment folgende Schlußfolgerung: Entweder es liegt irgendwo ein Bug vor oder die Firewall kann nur mir einem NIS-Client umgehen der sich die Server nicht per Broadcast holt.
nachmal: nix Firewall (als solches) Routing und/oder NAT.... sobald der Rechner im gleichen Netz ist wie der yp-Server (siehe IP/Netmask) hat der auch die gleiche Broadcastaddresse (und damit lauscht er dort auch), wenn irgendwo dazwischen etwas geroutet/überstezt wird - gibt es keine Broadcasts mehr!
Wenn ich allerdings auf Yast zur Konfiguration verzichte, dann kann ich das Masquerading ja auch per Hand aktivieren. Im Netz gibt es etliche Beispiele dafür, wie zum Beispiel hier [3]. Ich habe nur ein wenig Sorge um die funktionierende Netzwerkkonfiguration.
Allerdings soetwas wie
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
damit ist auch Braodcast weg! (und eth0 muss einen andere IP haben, als das Netz hinter dem Rechner - hier eth1 oder so...) hast du schon rrichtig geschreiben, es braucht 2 Interfaces...(intern + extern) NAT/Masquerading geht nur auf IFs nach extern...
Ich hoffe ich konnte mein Problem mit etwaigen Lösungsvorschlägen erläutern.
MfG Marco
[1] "RPC-Ports müssen als Dienstnamen (portmap oder nlockmgr) eingegeben werden."
[2] "RPC-Ports ist eine durch Leerzeichen getrennte Liste der RPC-Dienste, wie nlockmgr, ypbind oder portmap."
[3] http://tldp.org/HOWTO/IP-Masquerade-HOWTO/firewall- examples.html#RC.FIREWALL-IPTABLES
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert Ockert wrote:
wobei ..man kann iptables starten und auf allow all setzen (rein + raus) auf die Chains INPUT OUTPUT FORWARD ..
Jetzt drängt sich natürlich die Frage auf: Wo kann ich die Regel für iptables setzen? Vor allem so, dass diese nach jedem Neustart vorhanden ist.
Hab ich schon hinter mir. :-) Ich habe einfach alle Ports von 0 bis 65535 freigegeben, TCP als auch UDP. RPC ist etwas schwieriger da laut dem Hilfetext in Yast [1] diese als Dienstnamen angegeben werden müssen. ypbind wird sogar explizit danach nochmal in Hilfetext erwähnt. [2]
hmm ??? anstatt die default Regel auf ALLOW ...na ja ..
Ich setze über Yast keine expliziten iptables Regeln. Genau das habe ich ja versucht zu vermeiden. Oder meinst Du warum Yast nicht einfach die Regel auf ALLOW setzt?
nachmal: nix Firewall (als solches) Routing und/oder NAT.... sobald der Rechner im gleichen Netz ist wie der yp-Server (siehe IP/Netmask) hat der auch die gleiche Broadcastaddresse (und damit lauscht er dort auch), wenn irgendwo dazwischen etwas geroutet/überstezt wird - gibt es keine Broadcasts mehr!
Der Router ist natürlich im gleichen Netz wie der yp-Server. Die Clients dahinter sind in einem privaten 192.168.er netz. Das die Clients keine Broadcasts mehr bekommen ist klar und auch kein Problem. Der Router, der im gleichen Netz wie der yp-Server ist, bekommt eben bei aktivierter Firewall keine Broadcasts mehr. Nochmal der Klarheit wegen. Die Susefirewall benutze ich nur, weil ich keine Ahnung habe wie ich sonst das Masquerading des privaten 192.168.er Netzes einrichte.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
damit ist auch Braodcast weg! (und eth0 muss einen andere IP haben, als das Netz hinter dem Rechner - hier eth1 oder so...) hast du schon rrichtig geschreiben, es braucht 2 Interfaces...(intern + extern) NAT/Masquerading geht nur auf IFs nach extern...
eth1 ist mit 192.168.1.1 konfiguriert und eth0 hängt im übergeordneten Netz mit einer 194.95.129.xx Adresse. Das ist doch ein typischer Fall fürs Masquerading, oder bin ich mittlerweile so verwirrt, das ich mir lieber ein kaltes Bier aufmachen und ins Wochenende gehen sollte? MfG Marco -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Bernd Nachtigall
-
Fred Ockert
-
Marco Roeben