squid
# yum install squid 的编译信息
Squid Cache: Version 3.5.20
Service Name: squid
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-strict-error-checking' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-eui' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,SMB_LM,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=file_userip,LDAP_group,time_quota,session,unix_group,wbinfo_group,kerberos_ldap_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl-crtd' '--enable-storeio=aufs,diskd,rock,ufs' '--enable-wccpv2' '--enable-esi' '--enable-ecap' '--with-aio' '--with-default-user=squid' '--with-dl' '--with-openssl' '--with-pthreads' '--disable-arch-native' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'LDFLAGS=-Wl,-z,relro -pie -Wl,-z,relro -Wl,-z,now' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
# 安装squid 3.5.20
yum install squid -y
# 关闭selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0
cd /usr/local && mkdir squid-ipv6
cd /usr/local/squid-ipv6 && mkdir etc cache logs
cd /usr/local && chown -R squid:squid squid-ipv6
# squid.conf
cp /usr/local/squid-ipv4/etc/squid.conf /usr/local/squid-ipv6/etc
########重要的变更配置########
http_port 0.0.0.0:81
http_port [::]:81
dns_v4_first off
pid_filename /usr/local/squid-ipv6/squid.pid
cache_dir ufs /usr/local/squid-ipv6/cache 100 16 256
coredump_dir /usr/local/squid-ipv6
access_log /usr/local/squid-ipv6/logs/access.log
cache_log /usr/local/squid-ipv6/logs/cache.log
########重要的变更配置########
# 创建squid实例缓存
squid -z -f /usr/local/squid-ipv6/etc/squid.conf
# squid-ipv6.service
cd /usr/lib/systemd/system
vim squid-ipv6.service
[Unit]
Description=Squid Caching Proxy (Instance ipv6)
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/squid -f /usr/local/squid-ipv6/etc/squid.conf
ExecReload=/usr/sbin/squid -k reconfigure -f /usr/local/squid-ipv6/etc/squid.conf
ExecStop=/usr/sbin/squid -k shutdown -f /usr/local/squid-ipv6/etc/squid.conf
PIDFile=/usr/local/squid-ipv6/squid.pid
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
# 启动
systemctl daemon-reload
systemctl start squid-ipv6
systemctl enable squid-ipv6
systemctl list-unit-files --type=service # 查看开机启动项有哪些
# 测试
curl http://api64.ipify.org/
curl -x 127.0.0.1:80 http://api64.ipify.org/
curl -x 127.0.0.1:81 http://api64.ipify.org/