overandout 发表于 2012-02-06 16:43

请问如何在linux中通过iptables,将1个访问80端口的包转到22端口上


我有个公网电脑113.10.1.44
有台服务器是192.168.1.100,服务器的公网ip地址是119.10.4.15.在防火墙上做了端口映射,
讲119.10.4.15:80端口映射到192.168.1.100
我想使用113.10.1.44IP地址通过访问119.10.4.15:80端口控制192.168.1.100这台服务器
能否在服务器内修改iptables
将113.10.1.44这个IP访问服务器80的包转到22端口上?
出站的话再将22的包转到80上再出去?
谢谢

jack_xuwei 发表于 2012-02-07 10:49

本帖最后由 jack_xuwei 于 2012-02-07 11:00 编辑

iptables -A INPUT   -p tcp -s 113.10.1.44 -m state --state NEW -m tcp --dport 80-i 119.10.4.15 -j ACCEPT
iptables -t nat -A PREROUTING-s 113.10.1.44 -d 119.10.4.15 -p tcp --dport 80 -j DNAT --to 192.168.1.100:80
iptables -t nat -A POSTROUTING -s 113.10.1.44 -d 192.168.1.100 -p tcp --dport 80 -j SNAT --to lan_ip
iptables -A FORWARD -o eth0 -d 192.168.1.100 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.100 -p tcp --sport 80-j ACCEPT   

overandout 发表于 2012-02-07 11:33

回复 2# jack_xuwei
你好.请问lan_ip是写局域网的哪个IP地址?
   

lastfile 发表于 2012-02-15 13:59

做个标记:victory:

zombie_cu 发表于 2012-02-15 20:40

记得好像可以在119.10.4.15架个程序,根据协议来判断代理走向.
www协议送到192.168.1.100的80去
ssh协议送到192.168.1.100的22去

貌似不用改iptable

jack_xuwei 发表于 2012-03-13 13:50

回复 3# overandout
192.168.1.100

    好久没上,没有及时回复见谅。

kiss8212180 发表于 2012-03-13 15:22

iptables -t nat -A POSTROUTING -s 113.10.1.44 -d 192.168.1.100 -p tcp --dport 80 -j SNAT --to lan_ip   这条没错么?
若改为以下如何?
iptables -t nat -A POSTROUTING -d 113.10.1.44 -s 192.168.1.100 -p tcp --sport 22 -j SNAT --to 119.10.4.15
页: [1]
查看完整版本: 请问如何在linux中通过iptables,将1个访问80端口的包转到22端口上