如果您是使用java来做开发,又需要使用java来直接操作Iptables的话,我这里有jar包可以使用。 以下分别介绍利用iptables、rinetd和ssh来做端口转发 [codesyntax lang="php" lines="normal"]
echo =====================
iptables -t nat --append PREROUTING --protocol tcp --dport 1234 --jump REDIRECT --to-port 22
echo =====================
echo =====================
iptables -t nat --flush
iptables -t nat --append PREROUTING --protocol tcp --dport 1234 --jump DNAT --to-destination 10.0.31.10:22
iptables -t nat --append POSTROUTING --protocol tcp --dport 22 --jump SNAT --to-source 10.0.32.21
iptables -t nat --list
echo =====================
echo =====================
iptables -t nat --flush
iptables -t nat --append PREROUTING --protocol udp --dport 1234 --jump DNAT --to-destination 10.0.32.22:632
iptables -t nat --append POSTROUTING --protocol udp --dport 632 --jump SNAT --to-source 10.0.32.21
iptables -t nat --list
echo =====================
echo =====================
clear
iptables -t nat --flush
iptables -t nat --append PREROUTING --protocol tcp --source 10.0.31.233 --dport 1234 -m time --timestart 15:10 --jump DNAT --to-destination 10.0.32.21:22
iptables -t nat --append POSTROUTING --protocol tcp --dport 22 --source 10.0.31.233 --jump SNAT --to-source 10.0.32.21
iptables -t nat --append PREROUTING --protocol tcp --dport 1234 --source 10.0.31.233 --jump DNAT --to-destination 10.0.31.235:22
iptables -t nat --append POSTROUTING --protocol tcp --dport 22 --source 10.0.31.233 --jump SNAT --to-source 10.0.32.21
iptables -t nat --append PREROUTING --protocol tcp --dport 1234 --source 10.0.31.235 --jump DNAT --to-destination 10.0.31.210:22
iptables -t nat --append POSTROUTING --protocol tcp --dport 22 --source 10.0.31.235 --jump SNAT --to-source 10.0.32.21
[/codesyntax] [caption id="attachment_638" align="alignnone" width="543"]
iptables链图[/caption] iptables -t nat --list -v
echo ===================== 限速实例: iptables --append INPUT --source 10.0.0.1 -m limit --limit 100/s --jump ACCEPT iptables --append INPUT --source 10.0.0.1 --jump DROP 注意:因为限速的匹配规则是小于100/s(只能是ACCEPT),所以,必须用两条规则配合实现。
echo 1 > /proc/sys/net/ipv4/ip_forward 利用rinetd来进行端口转发: 主页
http://www.boutell.com/rinetd/ 这个工具有Windows和Linux发行版 配置文件样例 source sport destination dport
iptables --append INPUT --protocol tcp ! --source 192.168.1.2 --dport 8081 --jump DROP
http://www.linux.gov.cn/netweb/iptables.htm
利用ssh进行端口转发