Network Port Translation mit iptables

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Network Port Translation mit iptables

Beitrag von TimoGoebel » 21.07.2005 18:51:29

Hallo,

habe mir vor kurzen Sarge installiert und noch nicht so der Linux-Könner. Jetzt möchte ich, dass der Port 443 per iptables-Regel auf den Port 22 umgeleitet wird.
Auf Port 443 lauscht allerdings schon der Apache, das sollte das ganze aber nicht einschränken, oder? (Die Regel wird dann nur temporär genutzt)

Ich habe schon ganz verschiedene Sachen versucht und lese schon seit einigen Stunden fleissig Google, allerdings ohne Erfolg. Kann mir da jemand helfen?

Vielen Dank!

Benutzeravatar
npi
Beiträge: 567
Registriert: 03.08.2003 17:52:10

Beitrag von npi » 21.07.2005 19:40:59

das sollte im Prinzip so funktionieren:

Code: Alles auswählen

iptables -t nat -A PREROUTING -d <DEINEIP> -p tcp -m multiport --dports 443 -j REDIRECT --to-ports 22
gruß,
npi
"Bis zur Unendlichkeit, und noch viel weiter!"
--Buzz, Toystory

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

Beitrag von mistersixt » 22.07.2005 08:03:14

...du kommst dann natürlich nicht mehr an Deinen Apache, klar oder?

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

TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 22.07.2005 08:36:29

443 ist ja nur der SSL Port.

Habe mir gestern noch die Nacht um die Ohren geschlagen um ein Script zu schreiben, mit dem ich die Regel (de)aktivieren kann.

btw: Danke für die Hilfe!

Benutzeravatar
QT
Beiträge: 1322
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 22.07.2005 09:00:20

Ich mache etwas sehr aehnliches, schraenke aber die Port-Umleitung auf eine spezielle Source IP ein, um die Weiterleitung nur fuer Pakete von diesem Host zu aktivieren. Das klappt auch sehr gut und ich bin sehr froh, dass die Einrichtung solcher Sachen mit der 'shorewall' Firewall ein echtes Kinderspiel ist, sofern man mal die Shorewall-Doku durchgeackert und verstanden hat 8)

TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 22.07.2005 18:14:54

Shorewall? Werde mir das mal anschauen.

Gibt es eigentlich auch einen Weg die Pakete auf eine andere IP und einen anderen Port weiterzuleiten?

Benutzeravatar
QT
Beiträge: 1322
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 22.07.2005 20:13:32

TimoGoebel hat geschrieben:Gibt es eigentlich auch einen Weg die Pakete auf eine andere IP und einen anderen Port weiterzuleiten?
Klar! Bei Nichtgefallen der Pakete kannst Du sie dem Sender auch zurückschicken 8)

Shorewall anschauen lohnt sich IMO, aber egal welche Firewall, das Lesen und Verstehen der Doku ist essentiell. Shorewall kann man auch schnell so konfiguriert haben, daß man nicht mehr reinkommt und die Nutzung auf einem Rechner, an den Du nicht lokal ran kannst, sollte man nicht in Erwägung ziehen. Sprich auf nem root oder virtuellen Server oder so. Zuhause ist es aber kein Problem, da man dort direkt an die Kiste ran kann. Also Vorsicht ;-)

TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 22.07.2005 20:48:20

Klar! Hab ja ein 14 Tage rückgaberecht...

So.. also... einiges Suchen & Probieren hat folgendes ergeben:

Code: Alles auswählen

iptables -t nat -A PREROUTING -d 192.168.0.8 -p tcp -m multiport --dports 443 -j DNAT --to 192.168.0.6:4711
also alles, was an 443 ankommt an 192.168.0.6:4711 leiten. Probem ist, das gas ganze nicht funktioniert. Woran könnt das liegen?

delumax
Beiträge: 63
Registriert: 14.06.2004 08:25:51

Beitrag von delumax » 24.07.2005 15:33:39


TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 25.07.2005 16:54:21

d.h. für mein Szenario müsste folgendes gehen:
iptables -t nat -A PREROUTING -d 192.168.0.8 -p tcp --dport 443 -j DNAT --to-destination 192.168.0.6:4711
iptables -A FORWARD -d 192.168.0.6 -p tcp --dport 4711 -j ACCEPT
Tut aber nicht! Woran könnte das liegen?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 25.07.2005 19:59:30

poste einmale die Ausgabe von "iptables -n -L -v" ( eventuell auf nopaste.debianforum.de) und möglichst nach einem (Fehl-)versuch.

Du kannst auch überprüfen, ob forwarding überhaupt aktiviert ist:

Code: Alles auswählen

cat /proc/sys/net/ipv4/ip_forward
Gruß
gms

TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 26.07.2005 10:08:38

Forwarding muss ich vorher immer aktivieren.

Ausgabe vor Anwendung der Kommandos sollte eine unbehandelte iptables Umgebung sein.

Ausgabe nach den Anwenden der Kommandos:

Code: Alles auswählen

Chain INPUT (policy ACCEPT 128 packets, 11727 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    4   192 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.6         tcp dpt:4711

Chain OUTPUT (policy ACCEPT 151 packets, 10353 bytes)
 pkts bytes target     prot opt in     out     source               destination

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 26.07.2005 10:15:20

nach dieser Ausgabe wurden bereits 4 Pakete geforwardet, der Fehler scheint also nicht hier zu liegen. Kannst du vielleicht am Host 192.168.0.6 den Netzwerkverkehr mittracen (ethereal, tcpdump ...)

Gruß
gms

TimoGoebel
Beiträge: 7
Registriert: 21.07.2005 18:46:06
Kontaktdaten:

Beitrag von TimoGoebel » 27.07.2005 13:58:01

Hab ich schon, doch hab ich einfach keine Lust mich für soetwas eher unwichtiges mit ethereal unter XP zu beschäftigen.

Antworten