Ubuntu
如何使用 iptables 轉發代理請求
我有這個方案
----------------- ---------------- ---------- | SERVER A | ---(port:2128)> | PROXY | ---> | INTERNET | | (10.30.1.1) | | (10.30.2.2) | ----------- ----------------- ----------------
現在我有一個無法訪問 PROXY 的 SERVER B (10.31.1.1),但可以訪問 SERVER A
我需要將伺服器 A 配置為接受來自伺服器 A 的請求並將它們轉發到代理,以便它可以訪問網際網路。
我以這種方式通過 iptables 進行了嘗試:
echo "1" > /proc/sys/net/ipv4/ip_forward iptables -A FORWARD -p tcp -i 10.30.1.1 --dport 3128 -d 10.30.2.2 -j ACCEPT iptables -t nat -I PREROUTING -p tcp -i 10.30.1.1 --dport 3128 -j DNAT --to 10.30.2.2:3128
但是在伺服器 B 上我得到了
Unable to connect to 10.30.1.1
我不確定是否已經很好地理解了所有內容。代理 10.30.2.2 是否過濾輸入請求並知道如何路由數據包?
在這種情況下,我認為您將不得不使用 MASQUERADE 的選項來替換發件人的地址:
iptables -t nat -I PREROUTING -p tcp -i 10.30.1.1 -s 10.31.1.1 -J MASQUERADE