HELP!!!
I'm totally stuck here, and hoping a fresh viewpoint can help here. I'm trying to setup port forwarding on a linux gateway.
Basically the machine has two relevant cards.
eth5 has the external IP 196.xx.y.zzz
eth4 has the local IP 192.168.0.254
I'm trying to forward all requests on port 10001 on the external IP to port 10000 on port 192.168.0.238 (Another machine on the network). (This is a practice setup, as I am aware that leaving Webmin world facing is not necessarily bright)
My log on the External IP shows that the packet has been processed in PREROUTING, but it never makes it to 192.168.0.238, even though the log shows
IN=eth5 OUT=eth4 SRC=196.211.240.18 DST=192.168.0.238 LEN=48 TOS=0x10 PREC=0x20 TTL=123 ID=16243 DF PROTO=TCP SPT=62676 DPT=10000 WINDOW=8192 RES=0x00 SYN URGP=0
My iptables rules file is as follows
Hope someone can help. I've filtered out all unnecessary IPtables rules. Anything remotely related is left here.
Thanks
I'm totally stuck here, and hoping a fresh viewpoint can help here. I'm trying to setup port forwarding on a linux gateway.
Basically the machine has two relevant cards.
eth5 has the external IP 196.xx.y.zzz
eth4 has the local IP 192.168.0.254
I'm trying to forward all requests on port 10001 on the external IP to port 10000 on port 192.168.0.238 (Another machine on the network). (This is a practice setup, as I am aware that leaving Webmin world facing is not necessarily bright)
My log on the External IP shows that the packet has been processed in PREROUTING, but it never makes it to 192.168.0.238, even though the log shows
IN=eth5 OUT=eth4 SRC=196.211.240.18 DST=192.168.0.238 LEN=48 TOS=0x10 PREC=0x20 TTL=123 ID=16243 DF PROTO=TCP SPT=62676 DPT=10000 WINDOW=8192 RES=0x00 SYN URGP=0
My iptables rules file is as follows
Code:
-A PREROUTING -p tcp -m tcp -d 196.xx.y.zzz --dport 10001 -j DNAT --to-destination 192.168.0.238:10000
-A POSTROUTING -s 192.168.0.238 -p tcp --sport 10000 -o eth4 -j SNAT --to-source 196.xx.y.zzz:10001
COMMIT
#
#
#
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [402:144198]
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
COMMIT
#
#
#
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
-A INPUT -d 192.168.0.238 -j ACCEPT
-A INPUT -s 192.168.0.238 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 10000 -j ACCEPT
-A INPUT ! -i eth5 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -j ACCEPT
-A FORWARD -d 192.168.0.238 -j LOG
-A FORWARD -p tcp -m tcp -d 192.168.0.238 --sport 10000 -j LOG
-A FORWARD -s 192.168.0.238 -j LOG --log-level 4
-A FORWARD -s 192.168.0.238 -j ACCEPT
-A FORWARD -d 192.168.0.238 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 25 -j DROP
-A FORWARD -j DROP
COMMIT
Hope someone can help. I've filtered out all unnecessary IPtables rules. Anything remotely related is left here.
Thanks