iptables 端口转发(单网卡)

pc1 ip:192.168.23.252 linux

pc2 ip:192.168.23.253 web


目的:访问pc1 的web服务跳转到pc2的web服务上  bash


实现步骤:tcp

开启linux 自带的转发功能ide

echo 1 > /proc/sys/net/ipv4/ip_forward

我这里使用没有任何规则的iptables测试

service iptables stop
iptables -F
iptables -X
iptables -Z
service iptables save

转发命令blog

iptables -t nat -A PREROUTING -d 192.168.23.252 -p tcp --dport 80 -j DNAT --to-destination 192.168.23.253:80
#若是进来的route的访问目的地址是192.168.23.252而且访问的目的端口是80,就进行dnat转换,把目的地址改成192.168.23.253 ,端口仍是80
 
iptables -t nat -A POSTROUTING -d 192.168.23.253 -p tcp --dport 80 -j SNAT --to 192.168.23.252
#当FORWARD 出来后,访问的目的地址是192.168.23.253,端口是80的。进行snat地址转换,把原地址改成192.168.23.252
 
iptables -A FORWARD -o eth0 -d 192.168.23.253 -p tcp --dport 80 -j ACCEPT
#当从eth0出去的访问目的地址是 192.168.23.253且目的端口是80的route,容许经过
 
iptables -A FORWARD -i eth0 -s 192.168.23.253 -p tcp --dport 80 -j ACCEPT
#当从eth0进来的原地址是 192.168.23.253且目的端口是80的route,容许经过
 
保存规则启动iptables
service iptables save
service iptables start


访问测试:ip

没转发以前访问pc1 以下图:it

pc1.png


没转发以前访问pc2 以下图:
io

pc2.png


实现端口转发后访问pc1 以下图:

pc1-2.png

相关文章
相关标签/搜索