|
以前找了很多关于代理服务器的配置,发现大都不是很理想。前段时间实际操作了一
了一下,居然可以配置好了。
eth0是对外的网卡,配置好可以上网就行了。
eth1是对内的网卡,IP是192.168.0.1,做网关。let's go!
squid部分:
安装的时候把squid选择上,然后修改/etc/squid/squid.conf文件,有下面的一些选项就可以了,你要是觉得麻烦的话,干脆把这个文件备份后,自己新建一个,内容如下:
http_port 192.168.0.1:3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 8 MB
cache_dir ufs /var/cache/squid 5000 16 256(此处5000为cache的大小为5G,可自行调整大小)
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
ftp_user Squid@
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl test src 192.168.0.0
http_access allow test
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
cache_mgr chgtg@163.com(这个信箱地址写你自己的哦)
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
保存退出。
然后运行
#squid -z
#chmod 777 /var/cache/squid
#chmod 777 /var/log/squid
如果需要高级的管理功能,还要继续配置该文件!
iptables部分:
在/etc/init.d目录下建立了firewall文件,然后在/etc/init.d/boot.local中加入内容如下:
#!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/usr/sbin/iptables -F -t filter
/usr/sbin/iptables -F -t nat
#############Define packets from Internet server to Intranet#######################
iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.0.1/24 -i eth0 -j ACCEPT
iptables -A FORWARD -p udp -d 198.168.0.1/24 -i eth0 -j ACCEPT
#############Define packets from Intranet to Internet###############
iptables -A FORWARD -s 198.168.0.1/24 -i eth0 -j ACCEPT
#################################Define Proxy rule##################################
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.0.1/24 -o ppp0 -j MASQUERADE
保存退出。
#chkconfig 看看squid是否在启动的服务里面。(应该是在的哦)
好了,可以了。
当然,一个好的代理服务器是还需要dhcp,你也可以开ssh,管理起来很方便的。还可以用yast。
一个字,爽! |
|