LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 725|回复: 1

请问一下,要实现透明代理,我这样设置够了吗?[已解决]

[复制链接]
发表于 2005-5-27 19:08:31 | 显示全部楼层 |阅读模式
debian(sarge)
iptables+squid
adsl拨号上网
另:我是xp下用vmware装的linux,vm中使用brige,然后linux拨号上网,linux给xp开代理

1。成功实现代理功能(要在ie处设置代理功能)
2。配置透明代理功能:
(1)设置squid.conf,修改相关变量如下:
     httpd_accel_host virtual
     httpd_accel_port 80
     httpd_accel_with_proxy on
     httpd_accel_uses_host_header on
(2)设置iptables,输入以下命令
     echo 1 >/proc/sys/net/ipv4/ip_forward
     modprobe ip_tables
     modprobe ip_nat_ftp
     modprobe ip_conntrack
     modprobe ip_conntrack_ftp
     iptables -t nat -A PREROUTING  -p tcp -s 局域网ip段 --dport 80 -j REDIRECT --to-ports 3128
(3)在客户机上把网关的ip地址设置为这台squid服务器的ip

  上面的所有步骤的设置完了,但是还是没有实现透明代理的功能
  请问一下以上的设置够了吗? 或还是那里设置错了?或是使用vmware的问题
  谢谢!



l
 楼主| 发表于 2005-5-28 16:40:01 | 显示全部楼层
刚才又实验了一下,在原来的设置上再加入一条规则就可以了:
iptables -t nat -A POSTROUTING -s 局域网ip段 -o ppp0 -j MASQUERADE

不过有个奇怪的现象就是:
1。一定要在客户机中设置dns才可以用域名上网,不然只能用ip上网
2。无论客户机的dns设置为代理服务器的ip还是真正的dns服务器ip(isp提供的dns服务器),都可以用域名上网

不知道为什么会这样?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表