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
DNAT - iptables Problem
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
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:
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.
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'
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
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