iptables

如果您是使用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链图 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 利用ssh来进行端口转发: ssh -L 1234:localhost:22 localhost 该命令可以将本地端口1234转到22端口上,执行成功之后,可以用ps -ef | grep ssh命令看到,它是作为一个后台进程来运行的;如果kill这条进程,则关闭该端口转发。 ssh -f -g -N -L 1234:10.0.32.22:8080 localhost 该命令把本地的1234端口转发的10.0.32.21的8080端口上 ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host   参考:http://www.linux.gov.cn/netweb/iptables.htm

你可能感兴趣的:(防火墙,iptables,端口转发)