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

Portforwarding suse 9.1

rorian

Newbie
hi leude,

ich bin jetzt von win2k adv. server auf suse 9.1 für meinen router umgestiegen.
das normale routing hab ich auch hingekriegt. portforwarding is aber für mich mehr bahnhof :p die toturials sind zwar ok aber irgendwie is das alles zuviel.
ich bräuchte eigentlich nur wissen wie ich ein script erstelle was da wirklich nur rein muss wenn ich port forwarding machen will und wo ich dieses script hinpacken muss auf der platte damit ich es im runlevel editor laden lassen kann.

ich hoff ihr könnt mir helfen :)

MfG Phil
 

moenk

Administrator
Teammitglied
Du verwendest vermutlich ja SuSE-Firewall, in der Datei in /etc/sysconfig kannst Du auch Portforwarding machen, ist dort auch auf plattdeutsch dokumentiert und als Beispiel auskommentiert.
 
OP
R

rorian

Newbie
irgendwie is das bei mir nen verzeichnis und keine datei und wirklich etwas was mir hilft finde ich in dem verzeichnis auch ned.

kannst du oder wer anders mir sagen was das script fürne datei sein muss? langt da nen txt? und in welches verzeichnis mach ich das script dann damit ich es im runlevel editor laden lassen kann?

thx nochma :)
 

Dragon

Newbie
In dem Verzeichniss /etc/sysconfig/ findest du die Datei SuSEfirewall2 hier kannst du die einzelnen Ports eingeben die du weiterleiten willst. (Erklärung der einzelnen Punkte sind vorhanden). In der Datei kannst du auch einen Pfad zu einer zusätzliche Datei angeben, mit zusätzlichen Iptables-Regeln.
 
OP
R

rorian

Newbie
jo die datei hatte ich schon offen die war nur auf englisch und so ellen groß :p

naja ich schau mal.
 

Bomber8475

Member
Ports in der FW öffnen:

Punkt 9
FW_SERVICES_EXT_TCP="ssh http 5900"
FW_SERVICES_EXT_UDP=""

Ports ins LAN forwarden:

Punkt 14
FW_FORWARD_MASQ="0/0,192.168.1.100,tcp,5900"

Die Sachen in den "" sagen Dir das SSH und HTTP auf dem Linux PC frei sind auf dem die FW läuft und der Port 5900 TCP wird ins LAN zum PC mit der IP 192.168.1.100 weitergeleitet (Diesen Port verwendet der VNC-Server auf Windows PCs)

Dieses SuSEfirewall2
läuft richtig wenn Dein ext. Netz "ppp0" und das interne "eth1" ist.
 
OP
R

rorian

Newbie
supi ich glaub das hilft mir schon nen stück weiter :)

also kann ich die ports einfach unter den punkten die du dort angegeben hast in die SuSEfirewall2 reinschreiben und er läd die datei beim nächsten neustart und forwarded die ports weiter?
 

Dragon

Newbie
Nach dem ändern des Scripts SuSEfirewall2 must du als root "rcSuSEfirewall2 restart" eingeben dann funkioniert es.
 

Bomber8475

Member
rorian schrieb:
...also kann ich die ports einfach ..... ports weiter?

Schon komisch.... *sfg*
Das ist schon das 2.Mal diese Woche das jemand eine klare Aussage von mir nochmal hinterfragt *rofl*

Ich geb ja zu das man nicht blauäugig durchs www surfen soll, aber so fies ist dieses Board nicht das Falschmeldungen wissentlich geposted werden.

Da werd ich jetzt erstmal mindestens 5Minuten lang *rofl* machen.

Falls das mal jemand liest der nicht Consolenfest ist. Es gibt da ein Programm bei Suse das nennt sich "YAST" darin kann man das auch einstellen *gggg*

Console geht schneller und präziser. :twisted:
 
Hi Bomber!

Ich habe Deine kleine Anleitug befolgt und meine SuSEFirewall2 editiert.

Bei mir geht es um die Ports von eMule.
Leider habe ich immer noch eine Low-ID, d. h. die Ports sind von aussen immer noch nicht erreichbar.
Ich poste mal die relevanten Daten meiner Firewall-config, vielleicht habe ich etwas übersehen.

Vielen Dank schonmal für Deine Hilfe.

P.S.: Ich bin zwar kein totaler Linux n00b mehr, aber mit IPTABLES beschäftige ich mich jetzt doch zum ersten mal. Die Linux Box fungiert als Router, Webserver, FTP, und soll auch ein paar Dienste zum Netzwerk durchlassen.

Code:
Punkt 9:

FW_SERVICES_EXT_TCP="4711 5662 5800 5801 5900 5901 12771 http https ssh ftp"
FW_SERVICES_EXT_UDP="5672 12771"
FW_SERVICES_INT_TCP="139 53"
FW_SERVICES_INT_UDP="53"

---------------------------------------------------------------

Punkt 14:

FW_FORWARD_MASQ="0/0,192.168.0.3,tcp,4711,5662 12771"
FW_FORWARD_MASQ="0/0,192.168.0.3,udp,5672 12771"

---------------------------------------------------------------

Router:/home/commander # rcSuSEfirewall2 restart
Starting Firewall Initialization (phase 2 of 3) Warning: detected activated named, enabling FW_SERVICE_DNS!
You still have to allow tcp/udp port 53 on internal, dmz and/or external.
Warning: detected activated dhcpd, enabling FW_SERVICE_DHCPD!
Warning: detected activated samba, enabling FW_SERVICE_SMB!
You still have to allow tcp port 139 on internal, dmz and/or external.
Error: The protocol with FW_MASQ_NETS must be tcp or udp -> 12771
Error: Port missing in FW_MASQ_NETS -> 12771
                                                                     done

---------------------------------------------------------------

irgendwo anders: :-)
FW_MASQ_NETS="0/0"
Aus meiner Perspektive unerklärlich sind auch die Warnings bezüglich Port 53/139, da diese frei gegeben sind.
Und warum meckert er über den Port 12771, wenn er die anderen "Freigaben" nicht beanstandet?

Ich habe mich jetzt heute Nacht 4 Stunden am Stück durch die IPTABLES / SuSE Firewall2 Doku durchgelesen und in diversen Foren (incl. diesem) gesucht, bin aber zu keinem endgültigen Ergebnis gekommen. Die Früchte meiner Arbeit sind die Einträge in meine von YAST2 konfigurierte Firewall2 config. Aber ich muss irgendwas übersehen haben.
Und sorry, wenn ich mir hier etwas komisch einen abtipsele, muss an der Übermüdung liegen. ;-)
 

Bomber8475

Member
Code:
#######################################
# Punkt 2
# Für DSL
FW_DEV_EXT="ppp0"

#######################################
# Punkt 3
# Netzwerkkarte fürs Interne Netz
# bei mir halt eth1
FW_DEV_INT="eth1"

#######################################
# Punkt 5
FW_ROUTE="yes"

#######################################
# Punkt 6
FW_MASQUERADE="yes"
FW_MASQ_NETS="0/0"

#######################################
# Punkt 9
# default Windows emule Ports
# 4662 TCP
# 4672 UDP (Falls im Muli aktiviert)
# 4673 UDP Kadmelia
FW_SERVICES_EXT_TCP="4662"
FW_SERVICES_EXT_UDP="4672 4673"

#######################################
# Punkt 12
# Ich selber hab keine Ports für DNS, SMB
# oder DHCP freigegeben
# nur das was hier drunter steht
FW_SERVICE_DHCPD="yes"
FW_SERVICE_SAMBA="yes"
FW_SERVICE_DNS="yes"

#######################################
# Punkt 14
FW_FORWARD_MASQ="0/0,IP_Emule_LAN_PC,tcp,4662 0/0,IP_Emule_LAN_PC,udp,4672 0/0,IP_Emule_LAN_PC,udp,4673"

Alles andere solltest Du Dir aus der SuSEfirewall2 (Link oben) herauslesen.
Da Du ja einen DHCP laufen läßt wie es scheint solltest Du noch kontrollieren ob dein LAN PC immer die gleiche IP bekommt. Wenn nicht würde ich dem DHCP sagen er soll die IPs MAC-Adressen gebunden vergeben.

Bomber

PS.: Mit iptables kenne ich mich auch nicht aus, nur etwas mit diesem Script. *ggg* Ich weiß noch nicht einmal wo Suse das aus diesem Script erstellte iptables Script abspeichert.
 
Bomber8475 schrieb:
Da Du ja einen DHCP laufen läßt wie es scheint solltest Du noch kontrollieren ob dein LAN PC immer die gleiche IP bekommt. Wenn nicht würde ich dem DHCP sagen er soll die IPs MAC-Adressen gebunden vergeben.

Ich betreibe in der Tat einen DHCP Server, der ist aber nur dafür zuständig, den Internetzugang für die Notbooks meines Vaters und die Rechner von Kollegen bei LAN Parties automatisch in einem definierten Range zu gewährleisten. Die Rechner im (festen) LAN haben fest verteilte IP Addressen. ;-)
Nebenbei habe ich noch nen DNS Server am laufen, der aber nichts anderes macht, als DNS-Anfragen, die aus dem LAN auf den Router PC gerichtet sind, im Internet anhand der dynamisch beim dial-up zugewiesenen DNS Server aufzulösen und dann dem betreffenden Rechner bekannt zu geben.

Die Ports bei eMule habe ich geändert, sind in der aktuellen Version auch nur noch 2 (incl. Kademlia), um nicht auf Standardports rumzureiten (der Sicherheit halber).

Aber ich denke ich habe den Fehler von mir gefunden (hoffe/glaube ich). Ich habe die Weiterleitungsregeln in 2 Zeilen separat für TCP und UDP vorgenommen. Du rätst mir ja, die in einen Zeile zu verfrachten, was ich jetzt auch gleich machen werde.

Die manuell eingetragenen DNS, DHCP und SMB ports nehme ich jetzt auch raus und trage es wie Du vorschlägst unter Punkt 12 ein. (Damit sollte ich zumindest schon mal zwei der von der SuSEFirewall2 bemängelten Fehler ausmerzen können.
Den 12771er Port Fehler habe ich auch gefunden *patsch*. Hab es in meiner totalen Übermüdung verpeilt gehabt, zwischen den und den vorhergehenden Port ein {Komma} zu setzen.

So, alle Änderungen vorgenommen, gespeichert, Firewall neu gestartet und ... ?
Fehler zeigt er nicht an. *froi* Jetzt der Praxistest ...

*megafroi* Danke, Du hast mir sehr geholfen. Und ich hoffe ich kann einen kleinen Beitrag dazu beitragen, dass dieser Fehler zukünftigen Anfängern beim Port-Forwarding nicht auch passiert, dem ich verfallen bin.

Meine config war im Prinzip bis auf die DNS, DHCP und SAMBA Einstellungen und die FW_FORWARD_MASQ settings schon in Ordnung. Aber ich habe im ersten Anlauf (nach Deinem Post) bei dem letztem Punkt, wie auch bei FW_SERVICES_EXT_TCP mehrere Ports nacheinander (durch Kommas abgetrennt) pro TCP/UDP eingetragen. Über diesen Syntax Fehler beschwert sich die Firewall beim Starten nicht, sondern scheint die ganze Zeile dann zu ignorieren. Man muss, wie Du es richtig vorgemacht hast, pro freigegebenen Port ein eigenes Segment von 0/0 bis zum nächsten 0/0 eintragen (FW_FORWARD_MASQ="0/0,IP_Emule_LAN_PC,tcp,4662 0/0,IP_Emule_ ...)
 

Bomber8475

Member
Lag dann wirklich an der Übermüdung. Wie die Syntax aussehen muß steht nämlich in den auskommentierten Zeilen.

Aber gut das es funktioniert ;)


Aber dann kann ich das Script noch ein wenig erweitern *ggg* (2 Einträge)
 
Oben