LinuxSir.cn,穿越时空的Linuxsir!

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

iptables 和squid作透明代理,出问题了,请教。

[复制链接]
发表于 2006-5-11 16:45:22 | 显示全部楼层 |阅读模式
大概情况是这样

双网卡服务器,系统rhel as4,打算一个网卡eth0接外网,固定ip a.b.c.d ,一个eth1
接到交换机上,eth1,设定为192.168.11.1

局域网用户接到交换机上,通过squid作透明代理,

现在的问题是,

1.服务器开机不能上网,每次要把eth0激活一下才可以。

2。局域网内用户,ftp可用,qq可以用,dns解析可以,可是无法浏览网页,请问设置哪
里有错误啊,

现在设定的iptables和squid.conf如下。  eth0接外网 eth1接到局域网内交换机上

#squid的设置

#这是squid侦听的端口,默认

http_port 192.168.11.1:3128

#按照squid的官方网站上说16M最佳,我也没试过

cache_mem 100 MB

#意思是你的cache目录如果容量达到总容量的85%时,就会删除旧文件降低容量到75%

cache_swap_low 75

cache_swap_high 85

#内存上保存文件cache的最大容量,一般默认好了

maximum_object_size_in_memory 8 KB

#这些是关于ip地址和域名缓存的

ipcache_size 1024

ipcache_low 90

ipcache_high 95

fqdncache_size 1024

#在/var/spool/squid下建立缓存目录,预设大小是1G,并且在这下面建立16个子目录,
在每个子目录下又建立256个子目录

cache_dir ufs /var/spool/squid 1000 16 256

#这些都是日志文件的路径

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

pid_filename /var/run/squid.pid

client_netmask 255.255.255.255

#这几行配合起来就是对代理客户机实现控制,只允许192.168.11.0这个网段使用代理

acl localnetworks  src 192.168.11.0/24

acl all src 0.0.0.0/0.0.0.0

acl localhost src 127.0.0.1/255.255.255.255

http_access allow localnetworks

http_access allow localhost

http_access deny all

#设定dns服务器

dns_nameservers 202.206.0.20

#这是关于squid的用户和组,我是用默认的,所以存在squid这个用户和组

#如果是用tar安装的,可以设成 nobody.nobody,不过不要忘了把刚才那个cache目录的
权限也设置成nobody.nobody

cache_mgr your_email

cache_effective_user squid

cache_effective_group squid

#这几行是实现透明代理的关键

#如果你没有域名的话,可以设定virtual,端口是0

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on


iptables设置  默认linux防火墙关闭

修改/etc/sysctl.conf,net.ipv4.ip_forward = 1

#eth1接到内网

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT -
-to-ports 3128

iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o eth0 -j SNAT --to 外网固
定ip

#允许dns连接

iptables -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT
发表于 2006-5-27 17:13:26 | 显示全部楼层
激活网卡的问题,route 一下,看看你的路由表,应该是没有路由
回复 支持 反对

使用道具 举报

发表于 2007-1-18 14:17:47 | 显示全部楼层
明显有问题啊,我怎么觉得你写的向反向代理不向正向代理啊
httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on
qq ftp可以用是因为squid代理80其他端口都走nat了,没用代理
回复 支持 反对

使用道具 举报

发表于 2007-1-20 15:30:01 | 显示全部楼层
把你的 FLITER链贴出来看下
回复 支持 反对

使用道具 举报

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

本版积分规则

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