|
大概情况是这样
双网卡服务器,系统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 |
|