请问如何在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 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
回复 2# jack_xuwei
你好.请问lan_ip是写局域网的哪个IP地址?
做个标记:victory: 记得好像可以在119.10.4.15架个程序,根据协议来判断代理走向.
www协议送到192.168.1.100的80去
ssh协议送到192.168.1.100的22去
貌似不用改iptable 回复 3# overandout
192.168.1.100
好久没上,没有及时回复见谅。 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]