歡迎您光臨本站 註冊首頁

幫忙看看:利用 iptables dhcp squid 實現多網段透明代理 

在一台linux(fc6)上架了 squid ,用 dhcp和iptables 實現透明代理

eth0 的地址為 192.168.8.100, eth1是外網介面
設置了eth0:1 ,eth0:2 ,  ............eth0:5   五個子介面 為五個網段 201.0,202.0,........205.0動態分配地址
eth0:1 的配置文件
DEVICE=eth0:1
BOOTPROTO=none
BROADCAST=192.168.201.15
HWADDR=**********
IPADDR=192.168.201.1
NETMASK=255.255.255.240
NETWORK=192.168.201.0
ONBOOT=yes
TYPE=Ethernet
其他類似

dhcp的配置為
subnet 192.168.201.0 netmask 255.255.255.248 {
       default-lease-time 86400;
       max-lease-time 259200;
       option routers 192.168.201.1;
       option subnet-mask 255.255.255.248;
       option nis-domain                "domain.org";
       option domain-name                "domain.org";
       option time-offset                -18000;
       option domain-name-servers 為公網上的dns伺服器      
          host pc1 {hardware ethernet:........
                   fixed-address : ........   }......}其他網段類似
iptables 實現透明代理語句 為
echo "1"> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.8.0/24 --dport 80 -j DNAT --to 192.168.8.100:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.201.0/29 --dport 80 -j DNAT --to 192.168.201.1:3128
其他網段類似

結果:
dhcp分配正常
當在eth0的子網8.0 內測試時 一切正常 
但在eth0:1等子介面分配的子網內測試時 
   
   ping 普通ip地址 能出去 但ping dns的地址出不去 連不上dns了
折騰了好久才到這地步,感覺離成功就差一步了...
鬱悶中...請大家幫忙看看 
《解決方案》

別的論壇的朋友 認為虛擬出的子介面 轉發有問題

可iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.201.0/29 --dport 80 -j DNAT --to 192.168.8.100:3128 后

即 轉發到eth0上 問題依舊
各位朋友指點一下阿
           
《解決方案》

換DNS伺服器地址,這個和是那個地址應該沒關係吧,都是ICMP協議!
《解決方案》

 
 我所有的機器都用的那個dns 網通的202.106.196.115 是正常的


 
《解決方案》

問題已經解決了
果然是dns設置的問題,謝謝3樓的

[火星人 ] 幫忙看看:利用 iptables dhcp squid 實現多網段透明代理 已經有378次圍觀

http://coctec.com/docs/service/show-post-34484.html