酷!學園

技術討論區 => Linux 討論版 => 主題作者是: bojing 於 2003-01-22 12:13

主題: transparent proxy
作者: bojing2003-01-22 12:13
請問建構iptables時,讓區網內透過proxy 上網:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp  \
  --dport 80 -j REDIRECT --to-ports 3128
設定好後區網內無法上網,於規則下新增
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
echo 1>/proc/sys/net/ipv4/ip_forward
這樣區網內才有辦法透過proxy 上網。
小弟有個疑問,區網內的電腦是由proxy代其上網,為何需多設定底下兩行呢?
主題: Re: transparent proxy
作者: QoQOoO2003-01-22 17:36
引述: "bojing"
請問建構iptables時,讓區網內透過proxy 上網:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp  \
  --dport 80 -j REDIRECT --to-ports 3128
設定好後區網內無法上網,於規則下新增
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
echo 1>/proc/sys/net/ipv4/ip_forward
這樣區網內才有辦法透過proxy 上網。
小弟有個疑問,區網內的電腦是由proxy代其上網,為何需多設定底下兩行呢?


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

 這行是打開 ip_forward 的功能,所以是必備的..

 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

  因為 tproxy只 redirect port 80 , 其他的部分(如DNS..)都還是必須經由 NAT 出去,所以這行也是必須的... ^_^

  ps: 有個疑問,squid不是可以代理DNS嗎? 如果全導向 squid的話不知可不可行說...
主題: Re: transparent proxy
作者: cisco36622003-01-24 10:32
引述: "aloysius"
引述: "bojing"
請問建構iptables時,讓區網內透過proxy 上網:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp  \
  --dport 80 -j REDIRECT --to-ports 3128
設定好後區網內無法上網,於規則下新增
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
echo 1>/proc/sys/net/ipv4/ip_forward
這樣區網內才有辦法透過proxy 上網。
小弟有個疑問,區網內的電腦是由proxy代其上網,為何需多設定底下兩行呢?


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

 這行是打開 ip_forward 的功能,所以是必備的..

 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

  因為 tproxy只 redirect port 80 , 其他的部分(如DNS..)都還是必須經由 NAT 出去,所以這行也是必須的... ^_^

  ps: 有個疑問,squid不是可以代理DNS嗎? 如果全導向 squid的話不知可不可行說...


squid是不"代理"DNS的,squid的查詢是透過squid本身的dns server或是本機指定的dns server做查詢
你可以試試看,client端的PC的DNS不要設,NAT只設定你說的第一條規則
看看有沒有辦法上網
主題: transparent proxy
作者: ericshei2003-01-24 14:42
這也是在下之前的問題!!
http://phorum.study-area.org/viewtopic.php?t=14167&highlight=proxy