帮忙看看:利用 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了
折腾了好久才到这地步,感觉离成功就差一步了...
郁闷中...请大家帮忙看看