单网卡 实现透明代理
时间:2006-03-29 来源:chenyangbo
单网卡上绑定两个ip(一个为eth0,另外一个为eth0:1)
,现在用eth0(ip:192.168.1.12)做外网网卡,使用squid成功实现代理,客户端配置代理服务器:192.168.1.12:3128即可上网。
请教大家,能否将虚拟网卡eth0:1(ip:10.0.0.4)作为内网网卡,通过配置squid+iptables实现透明代理,这样客户端可以直接将网关配成:10.0.0.4就能上网。
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/24 --dport 80 -j REDIRECT --to-port 3128
iptables规则写入一个脚本,放在/bin/firewall,每次开机上网后,运行该脚本,客户端即可上网(注意squid是自动启动的)。
firewall脚本如下:
#! /bin/bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A PREROUTING -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
,现在用eth0(ip:192.168.1.12)做外网网卡,使用squid成功实现代理,客户端配置代理服务器:192.168.1.12:3128即可上网。
请教大家,能否将虚拟网卡eth0:1(ip:10.0.0.4)作为内网网卡,通过配置squid+iptables实现透明代理,这样客户端可以直接将网关配成:10.0.0.4就能上网。
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/24 --dport 80 -j REDIRECT --to-port 3128
iptables规则写入一个脚本,放在/bin/firewall,每次开机上网后,运行该脚本,客户端即可上网(注意squid是自动启动的)。
firewall脚本如下:
#! /bin/bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A PREROUTING -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
相关阅读 更多 +