本來想搭建tinyproxy,結果一直提示找不到包,更新了yum源也沒用。就搭建squid吧
[root@VM-24-14-centos ~]# yum install tinyproxy -y
Last metadata expiration check: 1:13:37 ago on Tue 25 Jan 2022 07:17:54 AM CST.
No match for argument: tinyproxy
Error: Unable to find a match: tinyproxy
yum源中的版本:
[root@VM-24-14-centos ~]# yum list | grep squid
Repository epel is listed more than once in the configuration
squid.x86_64 7:4.15-1.module_el8.5.0+860+303ccf92 AppStream
squidGuard.x86_64 1.4-36.el8 epel
直接yum安裝:
yum install -y squid
檢視已安裝:
whereis squid
[root@VM-24-14-centos ~]# whereis squid
squid: /usr/sbin/squid /usr/lib64/squid /etc/squid /usr/libexec/squid /usr/share/squid /usr/share/man/man8/squid.8.gz
檢視啟動服務:
[root@VM-24-14-centos ~]# ll /usr/lib/systemd/system | grep squid
-rw-r--r-- 1 root root 451 Jul 12 2021 squid.service
編輯配置檔案
squid.conf
:
[root@VM-24-14-centos ~]# cd /etc/squid/
cachemgr.conf cachemgr.conf.default errorpage.css errorpage.css.default mime.conf mime.conf.default squid.conf squid.conf.default
# 這裡我們編輯的是squid.conf
[root@VM-24-14-centos ~]# vim /etc/squid/squid.conf
修改配置如下:
# 預設是3128
http_port 3228
#http_access deny all #注釋掉該行
http_access allow all # 添加 ,為容許全部ip
檢查配置檔案是否有誤:
squid -k parse # 配置檔案解析日志中,沒有出現ERROR 就沒有問題
服務操作:
# 啟動服務
[root@VM-24-14-centos ~]# systemctl start squid
#檢視服務狀态
[root@VM-24-14-centos ~]# systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2022-01-25 08:52:29 CST; 5s ago
Docs: man:squid(8)
Process: 2984503 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 2984509 (squid)
Tasks: 3 (limit: 23722)
Memory: 13.9M
CGroup: /system.slice/squid.service
├─2984509 /usr/sbin/squid --foreground -f /etc/squid/squid.conf
├─2984511 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
└─2984512 (logfile-daemon) /var/log/squid/access.log
Jan 25 08:52:29 VM-24-14-centos systemd[1]: Starting Squid caching proxy...
Jan 25 08:52:29 VM-24-14-centos squid[2984509]: Squid Parent: will start 1 kids
Jan 25 08:52:29 VM-24-14-centos squid[2984509]: Squid Parent: (squid-1) process 2984511 started
Jan 25 08:52:29 VM-24-14-centos systemd[1]: Started Squid caching proxy.
檢視運作端口:
[root@VM-24-14-centos ~]# netstat -nlp|grep squid
tcp6 0 0 :::3228 :::* LISTEN 2984511/(squid-1)
udp 0 0 0.0.0.0:36982 0.0.0.0:* 2984511/(squid-1)
udp6 0 0 :::41622 :::* 2984511/(squid-1)
檢視日志:
[root@VM-24-14-centos squid]# pwd
/var/log/squid
[root@VM-24-14-centos squid]# ll
total 4
-rw-r----- 1 squid squid 0 Jan 25 08:52 access.log
-rw-r----- 1 squid squid 1849 Jan 25 08:52 cache.log
以上就是允許所有通路的squid代理服務。當然我們也可以限制IP使用。
建立ip白名單檔案,
/etc/squid/squid_allow_ips
, 每一個ip一行,注意檔案的使用者群組權限(
squid.root
):
cat /etc/squid/squid_allow_ips
192.168.22.232
192.168.22.132
192.168.22.133
修改squid配置,添加acl 通路規則:
acl allowed_ips src "/etc/squid/squid_allow_ips" # ip白名單
http_access allow localnet
http_access allow localhost
http_access allow allowed_ips # 配置allow
# And finally deny all other access to this proxy
http_access deny all # 禁止全部通路,這個不要漏了
檢查配置檔案是否有誤:
squid -k parse # 配置檔案解析日志中,沒有出現ERROR 就沒有問題
重新開機服務:
systemctl restart squid
我另外一台伺服器是Centos6,這個下面是有tinyproxy和squid的。我們嘗試使用tinyproxy搭建代理服務。
[root@VM_0_12_centos ~]# yum list | grep squid
lightsquid.noarch 1.8-11.el6 epel
lightsquid-apache.noarch 1.8-11.el6 epel
squid.x86_64 7:3.1.23-24.el6 os
squid34.x86_64 7:3.4.14-15.el6 os
squidGuard.x86_64 1.4-10.el6 epel
[root@VM_0_12_centos ~]# yum list | grep tinyproxy
tinyproxy.x86_64 1.8.3-1.el6 epel
yum安裝:
yum install tinyproxy -y
編寫配置檔案:
vim /etc/tinyproxy/tinyproxy.conf
#修改端口 預設是8888
Port 9878
#注釋掉 說明允許所有通路
#Allow 127.0.0.1
chkconfig --level 35 tinyproxy on
# 檢測服務
[root@VM_0_12_centos ~]# chkconfig --list |grep tinyproxy
tinyproxy 0:off 1:off 2:off 3:on 4:off 5:on 6:off
[root@VM_0_12_centos ~]# service tinyproxy start
Starting tinyproxy: [ OK ]
[root@VM_0_12_centos ~]# netstat -nlp|grep tinyproxy
tcp 0 0 0.0.0.0:9878 0.0.0.0:* LISTEN 4192/tinyproxy