DNAT - iptables Problem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rschwend
Beiträge: 6
Registriert: 28.08.2006 14:44:45

DNAT - iptables Problem

Beitrag von rschwend » 25.05.2007 11:15:59

Hallo

Ich möchte gerne ein Portbasiertes DNAT machen und habe so meine Probleme damit.

Folgendes möchte ich damit erreichen:

Verbinden mit Protokoll ssh auf 10.172.42.91 auf Port 23 --> DNAT auf 192.168.200.20 Port 22

Meine Konfiguraton:

remote:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:35:5B:8E:ED
inet addr:10.172.42.20 Bcast:10.172.42.255 Mask:255.255.255.0
inet6 addr: fe80::216:35ff:fe5b:8eed/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:904486 errors:0 dropped:0 overruns:0 frame:0
TX packets:623656 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:960948308 (916.4 MiB) TX bytes:62608917 (59.7 MiB)
Interrupt:169

eth1 Link encap:Ethernet HWaddr 00:16:35:5B:8E:EE
inet addr:10.172.42.91 Bcast:10.172.42.255 Mask:255.255.255.0
inet6 addr: fe80::216:35ff:fe5b:8eee/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:177 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18961 (18.5 KiB) TX bytes:492 (492.0 b)
Interrupt:209

lo Link encap:Local Loopback
......

iptables -t nat -I PREROUTING -i eth1 -p tcp -d 10.172.42.91 --dport 23 -j DNAT --to 192.168.200.20:22

remote:~# cat /proc/sys/net/ipv4/ip_forward
1
remote:~#

Ein umsetzen der source Adresse (Masquerading) ist nicht nötig da ich vom Testclient auf die Zieladresse 192.168.200.20 pingen kann.

Danke und Gruss RS

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

Beitrag von mistersixt » 01.06.2007 08:49:21

Ich habe 2 kleine Anregungen:

1) Versuch doch mal vor dem DNAT noch ein LOG einzubauen, dann siehst Du wenigstens schon mal, ob das Paket wirklich schon mal dort ankommt, also beispielsweise:

Code: Alles auswählen

iptables -t nat -I PREROUTING -i eth1 -p tcp -d 10.172.42.91 --dport 23 -j LOG --log-prefix 'DNAT test'
Anschliessend in /var/log/syslog schauen, ob Du beim Connect auf 10.172.42.91:23 was siehst (denk dran, Du musst wirklich über eth1 reinkommen).

2) Nur so am Rande: eth0 und eth1 haben beide Adressen aus 10.172.42.0/24 - sind beide Netzwerkkarten wirklich am gleichen Netz "aktiv" angeschlossen? Das kann den Linux-Kernel stark "verwirren" ;) !

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