CentOS 32位搭建squid http代理,解决TCP_MISS/503
参考:http://yuweining.cn/archives/49 这篇文章,在25端口创建一个demo/demo的squid
但是实际使用的时候还是不行VPN
博文里面用到的命令如下:
setenforce 0
ulimit -n 800000
echo "* soft nofile 800000" >> /etc/security/limits.conf
echo "* hard nofile 800000" >> /etc/security/limits.conf
echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf
killall sendmail
/etc/init.d/postfix stop
chkconfig --level 2345 postfix off
chkconfig --level 2345 sendmail off
yum -y install squid wget
wget http://yuweining.cn/squid.conf -O /etc/squid/squid.conf
echo "demo:v8dGy.noUwueg" >> /etc/squid/passwd
mkdir -p /var/cache/squid
chmod -R 777 /var/cache/squid
squid -z
service squid restart
chkconfig --level 2345 squid on
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -F
iptables -X
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t raw -F
iptables -t raw -X
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
service iptables save
在配置的时候遇到几个问题
1、找不到文件
2016/06/30 07:53:13| ERROR: auth_param basic program /usr/lib64/squid/ncsa_auth: (2) No such file or directory
squid: ERROR: No running copy
2016/06/30 07:53:14| ERROR: auth_param basic program /usr/lib64/squid/ncsa_auth: (2) No such file or directory
FATAL: auth_param basic program /usr/lib64/squid/ncsa_auth: (2) No such file or directory
解决:
原来我的CentOS是32位的,这个文件的路径是 /usr/lib/squid/ncsa_auth,打开/etc/squid/squid.conf修改一下就可以了
2、配置了代理依然无法使用
打开/etc/squid/squid.conf,发现原来是把日志关掉了,果断打开日志。发现日志中有如下的内容
1467339283.619 60229 183.12.65.8 TCP_MISS/503 0 CONNECT www.google.com.hk:443 k19421 DIRECT/2607:f8b0:4007:80b::2003 -
1467339292.627 61011 183.12.65.8 TCP_MISS/503 0 CONNECT www.google.com.hk:443 k19421 DIRECT/2607:f8b0:4007:80b::2003 -
1467339292.627 61014 183.12.65.8 TCP_MISS/503 0 CONNECT www.google.com.hk:443 k19421 DIRECT/2607:f8b0:4007:80b::2003 -
查看到一个关键字TCP_MISS/503
谷歌之,找到这篇文章:https://forums.freebsd.org/threads/34184/
解决:
原来是IPv6不支持,按照里面的提示,在/etc/squid/squid.conf里面配置一个dns_v4_first on
再次尝试的时候可以了!
如果还是不行的话,直接修改系统的配置
修改 /etc/sysconfig/network:
设置 NETWORKING_IPV6=no
(最好reboot重启一次)
3、修改用户名密码
参考的那篇文章配置的是demo/demo,我不想要这个用户名密码,我想要一个自己的用户名密码
解决:
htpasswd -d /etc/squid/passwd k19421
然后按照提示输入两次密码,就创建一个k19421的用户
要想删除demo/demo这个用户,只需要打开/etc/squid/passwd这个文件,删除demo那一行就可以了
附上我的配置文件