四層代理,即工做在 OSI 模型的第四層,經過分析 IP 和端口來分發到上游服務器。bash
首先查看 iptables 實現簡單的網關服務器,遵循一樣的方法打開 IP 轉發功能。服務器
假設本機外網地址 100.100.100.100,外網段 0.0.0.0/32,內網地址 192.168.1.1,內網段 192.168.1.0/24。tcp
使外網訪問 100.100.100.100:80 時,代理到內網主機 192.168.1.100:8080:.net
$ iptables -t nat -A PREROUTING -4 -p tcp -d 100.100.100.100 --dport 80 -j DNAT --to-destination 192.168.1.100:8080 .181 $ 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 則須要額外處理。代理