pc1 ip:192.168.23.252
pc2 ip:192.168.23.253
目的:访问pc1 的web服务跳转到pc2的web服务上
实现步骤:
开启linux 自带的转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
我这里使用没有任何规则的iptables
service iptables stop iptables -F iptables -X iptables -Z service iptables save
转发命令
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
访问测试:
没转发之前访问pc1 如下图:
没转发之前访问pc2 如下图:
实现端口转发后访问pc1 如下图:
时间: 2024-10-16 01:02:37