首先查看 iptables 实现简单的网关服务器,遵循同样的方法打开 IP 转发功能。
假设本机外网地址 100.100.100.100,外网段 0.0.0.0/32,内网地址 192.168.1.1,内网段 192.168.1.0/24。
使外网访问 100.100.100.100:80 时,代理到内网主机 192.168.1.100:8080:
$ iptables -t nat -A PREROUTING -4 -p tcp -d 100.100.100.100 --dport 80 -j DNAT --to-destination 192.168.1.100:8080
$ iptables -t nat -A POSTROUTING -4 -p tcp -d 192.168.1.100 --dport 8080 -j MASQUERADE
$ iptables -t filter -A FORWARD -s 192.168.1.100 -j ACCEPT
$ iptables -t filter -A FORWARD -d 192.168.1.100 -j ACCEPT
对数据包改变路由目标(使其转发)并伪装成本机发送,所以如果想获取源 IP 则需要额外处理。
网友评论