|
发表于 2003-12-1 11:26:25
|
显示全部楼层
呵呵,请教大侠,我这样做错在哪里呢?
配置为:eth0为外部IP,eth1为内部IP,192.168.0.2。通过教育网与internet连接。squid工作正常,只差transparent proxy一直没有设置成功了。
我的脚本如下:
#!/bin/sh
echo "1" >/proc/sys/net/ipv4/ip_forward(此处应该是打开FORWARD吧,但我不知我安没有安装ipforward,该怎样查看呢?)
/sbin/iptables -F -t nat(清除以前的NAT规则吧)
iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 -d 192.168.0.2 --dport 80 -j ACCEPT(因为我的这台代理装了,web服务,从网上看到的说是要添加这一句,不知对否?)
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.0.0/24 --dport 80 -j DNAT --to 192.168.0.2:3128(这句应该是转发所有局域网内的数据包到内网卡吧,呵呵一知半解啊)
iptables -t nat -A POSTROUTING -o eth0 -p tcp -s 192.168.0.0/24 -j SNAT --to 192.168.0.2
之后运行iptables -t nat -L 屏幕显示如下:
chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 192.168.0.0/24 192.168.0.2 tcp dpt:http
2 DNAT tcp -- 192.168.0.0/24 anywhere tcp dpt:http to:192.168.0.2:3128
chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 SNAT tcp -- 192.168.0.0/24 anywhere to:192.168.0.2
局域网里客户机的网关设置为:192.168.0.2,DNS为代理服务器上的DNS。但是还是不能实现透明代理上网呢,呵呵,还望高手赐教! |
|