當前位置:首頁 » 雲伺服器 » 搭建squid伺服器

搭建squid伺服器

發布時間: 2023-01-01 23:24:03

① 如何在linux上用squid搭建代理伺服器

安裝環境
操作系統: CentOS release 5.2 (Final)
Kernel: 2.6.18-92.el5PAE
軟體列表
squid-2.6.STABLE22.tar.gz

軟體存放位置
/data/software
安裝過程
#/usr/sbin/groupadd squid -g 610
#/usr/sbin/useradd -u 610 -g squid squid
#mkdir /srv/scache
#chmod +w /var/vcache
#chown -R squid.squid /srv/scache
#mkdir /var/log/squid
#chmod +w /var/log/squid
#chown -R squid.squid /var/log/squid
#cd /data/software/pkg
#tar zxvf ../squid-2.6.STABLE22.tar.gz
#cd squid-2.6.STABLE22
#./configure --prefix=/usr/local/squid
#make && make install
編輯Squid配置文件
#vi /usr/local/squid/etc/squid.conf
-------------------------華麗的分割線,以下都是配置文件內容----------------------------
#定義acl項名稱
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
acl Safe_ports port 80
acl safeprotocol protocol HTTP
acl test dstdomain .test.com
acl CONNECT method CONNECT
#定義acl規則
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_access allow safeprotocol Safe_ports test
http_access deny all
icp_access allow all
#squid監聽埠
http_port 80 accel defaultsite=59.151.32.58 vhost
always_direct allow all
#後端伺服器
cache_peer 10.10.10.8 parent 80 0 no-query originserver
hierarchy_stoplist cgi-bin ?
#內存cache大小
cache_mem 2048 MB
#內存cache中最大的object大小(超過這個值則不進入內存cache)
maximum_object_size_in_memory 8 KB
#內存cache的替換規則
memory_replacement_policy lru
#硬碟cache的替換規則
cache_replacement_policy lru
#磁碟cache目錄(文件類型 cache目錄路徑 cache目錄大小 二級目錄個數 每個二級目錄下的三級目錄個數)
cache_dir ufs /srv/scache 40000 16 256
#磁碟cache中最小的object的大小(低於這個值則不緩存
minimum_object_size 0 KB
#磁碟cache中最大的object的大小(超過這個值則不緩存)
maximum_object_size 2048 KB
cache_swap_low 90
cache_swap_high 95
#定義日誌格式
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh
#記錄相關日誌
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
#日誌rotate(24則後綴從.0到.23)
logfile_rotate 24
emulate_httpd_log on
#如果你的URL裡面帶有?,這兩行一定要注銷掉
#acl QUERY urlpath_regex cgi-bin \?
#cache deny QUERY
#配置自動更新(關於後面的三個值請參考Squid配置手冊)
refresh_pattern -i \.jpg$ 60 80% 1440
refresh_pattern -i \.png$ 60 80% 1440
refresh_pattern -i \.gif$ 60 80% 1440
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
request_header_max_size 10 KB
reply_header_max_size 10 KB
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
#相關timeout設置
forward_timeout 4 minutes
connect_timeout 3 minutes
peer_connect_timeout 30 seconds
read_timeout 15 minutes
request_timeout 1 minute
persistent_request_timeout 3 minutes
half_closed_clients off
pconn_timeout 1 minute
#cache管理員郵箱
cache_mgr [email protected]
cache_effective_user squid
cache_effective_group squid
#squid伺服器的visible_hostname,此處指定的值顯示在Squid響應的Header裡面的X-Cache項中
visible_hostname squidserver
coremp_dir /var/log/squid/cache
------------------------華麗的分割線,以上都是配置文件內容-----------------------------
初始化squid緩存目錄
#/usr/local/squid/sbin/squid -z
啟動squid
#/usr/local/squid/sbin/squid -sD
配置完成以後,最重要最重要的一點,修改Squid伺服器的hosts文件,將需要Cache的域名指向到後端的伺服器IP上
相關命令
停止squid
/usr/local/squid/sbin/squid -k shutdown
啟用新配置
/usr/local/squid/sbin/squid -k reconfig
通過crontab每小時截斷/輪循日誌
59 * * * * /usr/local/squid/sbin/squid -k rotate
查看squid運行狀況
/usr/local/squid/bin/squidclient -p 80 mgr:info
/usr/local/squid/bin/squidclient -p 80 mgr:5min
查看squid內存使用情況
/usr/local/squid/bin/squidclient -p 80 mgr:mem
查看squid磁碟使用情況
/usr/local/squid/bin/squidclient -p 80 mgr:diskd
查看squid已緩存列表(小心使用,可能會導致crash)
/usr/local/squid/bin/squidclient -p 80 mgrbjects
強制更新某個url
/usr/local/squid/bin/squidclient -p 80 -m PURGE http://img.test.com/h/a.jpg
查看squid緩存到內存cache中並返回給訪問用戶的項
#cat /var/log/squid/access.log | grep TCP_MEM_HIT
查看squid緩存到磁碟cache中並返回給訪問用戶的項
#cat /usr/local/squid/var/logs/access.log | grep TCP_HIT
查看沒被squid緩存住,直接從原始伺服器獲取並返回給訪問用戶的項
#cat /usr/local/squid/var/logs/access.log | grep TCP_MISS

② 如何在Linux上用Squid搭建代理伺服器

yum install squid
安裝配置 /etc/squid/squid.conf 啟服務
配置單網卡代理伺服器
安裝squid代理伺服器需要設置Linux主機名FQDN格式並且要保證能夠解析
首先運行squid -z進行初始化要修改squid配置文件:/etc/squid/squid.conf
加入條目:
acl mynet 192.168.1.0/24
http_access allow mynet
啟服務:service squid start

圖形化工具嘗試webmin

③ 搭建squid代理伺服器流程

1.購買一個伺服器:騰訊雲全球購 https://curl.qcloud.com/kvN3CHB1

2.安裝基本的服務:

安裝java服務:yum install java-1.8.0-openjdk* -y

telnet命令: yum install telnet  查看安裝效果:rpm -qa telnet

修改root用戶密碼:passwd 

新增:useradd XXX用戶  設置密碼: passwd XXX

限制root用戶遠程登陸:

打開/etc/ssh/sshd_config文件,找到PermitRootLogin參數,將yes改為no,不同系統版本可能這個PermitRootLogin參數的位置不一樣,不過操作是一樣的,都是改為no。

vim /etc/ssh/sshd_config

修改完/etc/ssh/sshd_config記得要重啟sshd服務,重啟服務之後修改的配置才生效

systemctl restart sshd

3.安裝squid

安裝:yum install squid

修改配置文件,讓squid可以公網訪問,並修改默認埠,添加密碼:vim /etc/squid/squid.conf

啟動:systemctl restart squid 

查看日誌:tail -f /var/log/squid/access.log

④ 如何在Linux上用Squid搭建代理伺服器

squid是所有服務裡面最簡單的我覺得
以RHEL7為例,它分成了正向代理和反向代理,正向代理里又分「標准正向代理」,「ACL訪問控制」以及「透明正向代理」。下面是標准正向代理

16.3 正向代理

16.3.1 標准正向代理

Squid服務程序軟體包在正確安裝並啟動後默認就已經可以為用戶提供標准正向代理模式服務了,而不需要單獨再去修改配置文件或者其他操作,咱們可以立即在Windows7系統的客戶端主機上面打開任意一款瀏覽器,然後點擊Internet選項標簽,如圖16-4所示:
[root@linuxprobe ~]# systemctl restart squid
[root@linuxprobe ~]# systemctl enable squid
ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'
用戶要想使用Squid服務程序提供的標准正向代理模式服務就必須在瀏覽器中填寫伺服器的IP地址以及埠號信息,因此咱們還需要依次點擊連接標簽後點擊區域網設置選項,如圖16-5與圖16-6所示填寫伺服器信息後保存退出配置向導。

用戶只需要在瀏覽器中簡單的填寫配置信息就可以開始享用Squid服務程序提供的代理服務了,此時作為一個網卡為僅主機模式(Hostonly)的虛擬機,開始也奇跡般的能夠上網瀏覽了,這一切都是托代理伺服器轉發的功勞哦~

如此公開而沒有密碼驗證的代理服務終歸覺得不放心,萬一有其他人也來「蹭網」咱們的代理服務怎麼辦呢?Squid服務程序默認的會佔用3128、3401與4827等埠號,咱們可以將默認佔用的埠號修改成其他值,這樣應該能起到一定的保護作用吧~同學們都知道在Linux系統配置服務程序就是在修改該服務的配置文件,因此直接在/etc目錄中找到和squid服務程序同名目錄中的配置文件,把其中http_port參數後面原有3128修改為10000,這樣即是將Squid服務程序的代理服務埠修改成了新值,當然最後不要忘記再重啟下服務程序哦~:
[root@linuxprobe ~]# vim /etc/squid/squid.conf
………………省略部分輸出信息………………
45 #
46 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
47 #
48
49 # Example rule allowing access from your local networks.
50 # Adapt localnet in the ACL section to list your (internal) IP networks
51 # from where browsing should be allowed
52 http_access allow localnet
53 http_access allow localhost
54
55 # And finally deny all other access to this proxy
56 http_access deny all
57
58 # Squid normally listens to port 3128
59 http_port 10000
60
http_port 10000
………………省略部分輸出信息………………
[root@linuxprobe ~]# systemctl restart squid
[root@linuxprobe ~]# systemctl enable squid
ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'

同學們有沒有突然覺得這一幕似曾相識?在前面的第十章10.5.3小節咱們學習過基於埠號來部署httpd服務程序的虛擬主機功能,當時在編輯完配置文件後重啟服務程序時被直接提示報錯了,雖然現在重啟服務程序並沒有直接報錯,但其實客戶並不能使用代理服務呢,SElinux安全子系統認為Squid服務程序使用3128埠號是理所應當的,默認策略規則中也是允許的,但現在卻在嘗試使用新的10000埠號,這是原本並不屬於Squid服務程序應該使用的系統資源,因此咱們需要手動把新的埠號添加到squid服務程序在SElinux域的允許列表中即可:
[root@linuxprobe ~]# semanage port -l | grep -w -i squid_port_t
squid_port_t tcp 3128, 3401, 4827
squid_port_t udp 3401, 4827
[root@linuxprobe ~]# semanage port -a -t squid_port_t -p tcp 10000
[root@linuxprobe ~]# semanage port -l | grep -w -i squid_port_t
squid_port_t tcp 10000, 3128, 3401, 4827
squid_port_t udp 3401, 4827

更多的圖文信息以及其他的代理方式你可以看下http://www.linuxprobe.com/chapter-16.html#161這篇,講的非常詳細,相信能解決你的問題

⑤ 如何在linux上用squid搭建代理伺服器

linux搭建squid 代理伺服器,其實是非常簡單的,建議參考《linux就該這樣學》,試試吧,就是安裝,配置,測試。
[root@linuxprobe ~]# yum install squid

[root@linuxprobe ~]# systemctl restart squid
[root@linuxprobe ~]# systemctl enable squid
測試,這個最簡單。試試吧

⑥ 搭建Squid3 密碼賬號IP代理

上文中,說明了 Squid3 IP Proxy 隱藏原IP ,這里就搭建Squid 3密碼賬號IP代理進行整理,涉及環境 Ubuntu 18.04。

htpasswd和htdigest工具是用於生成Squid密碼的,直接安裝命令

安裝完成後,使用命令如下所示

創建的密碼在/etc/squid/.squid_users裡面存儲,我們可以再增加一個用戶

這里可以「查看」一下剛才創建的2個賬號

驗證賬號密碼用這個腳本–防止我們遺忘密碼賬號

basic_ncsa_auth 配置密碼文件路徑 /etc/squid/.squid_users
auth_param basic children 5 指明了這里最多開放5個賬號
auth_param basic casesensitive off 大小寫不明感
acl auth_users proxy_auth xifarm runwulink

開啟Squid測試

wget命令為例

這里會報407錯誤:密碼賬號沒有設置原因。

⑦ 如何在Linux上用Squid搭建代理伺服器

可以配置單網卡代理伺服器。
安裝squid代理伺服器之後,需要設置Linux的主機名為FQDN的格式,並且要保證能夠解析出來。
首先運行squid -z進行初始化,然後要修改squid的配置文件:/etc/squid/squid.conf
加入如下條目:
acl mynet 192.168.1.0/24
http_access allow mynet
啟動服務:service squid start

圖形化的工具可以嘗試webmin

⑧ 如何在Linux上用Squid搭建代理伺服器

安裝步驟:
./configure --prefix=/usr/local/squid
make all
sudo make install(因為要拷貝到系統目錄,需要root許可權,所以sudo了,你也可以root登錄執行,我是Ubuntu的系統,所以用sudo,有root許可權就行)
檢查配置文件:
sudo vi /usr/local/squid/etc/squid.conf
配置項1:
# Squid normally listens to port 3128
http_port 3128
配置項2:
acl localnet src 192.168.0.0/16
http_access allow localnet
配置項3:
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 128
cache_mem 32 MB (這一條必須配置)
否則你就會遭遇報錯: 2013/10/12 16:16:55 kid1| WARNING cache_mem is larger than total disk cache space!
安裝好了以後,系統中新建了一個用戶squid,在組中一查,發現屬於nobody組的:
cat /etc/passwd|grep squid
cat /etc/group|grep 65534
安裝squid的所在目錄是:/usr/local/squid
我閑得沒事干,直接改了所屬用戶為squid:nobody
sudo chown -Rf squid:nobody /usr/local/squid
建立cache的時候,對下面目錄需要nobody用戶許可權,這個是網上沒有說的很清楚的地方,折騰了我半天:
sudo chown -Rf nobody /usr/local/squid/var/cache/
sudo chown -Rf nobody /usr/local/squid/var/logs/

⑨ 基於Squid和TinyProxy搭建代理集群

架設一台 master 代理主機,由這台機器統籌管理多檯子代理機器,這樣客戶端只需要統一維護一個 master 機器即可。

Squid是一款出色的緩存代理伺服器,也用作正向和反向代理,同時支持橫向分布式擴展,所以在這里選擇squid作為master搭建代理集群

在ubuntu下,squid的安裝十分簡單,只需要執行下面這個命令即可:

Squid的配置在 /etc/squid/squid.conf 下面,只需要改變下面幾個配置即可。

如果要為你的代理伺服器設置訪問許可權(用戶名和密碼驗證),那麼添加以下配置:

生成密鑰文件:

啟動服務:

到此為止, master 機器已經配置好了,接下來在所有的從屬機器執行下面命令:

最後,在 master 機器配置集群,在 squid 的配置文件中添加以下配置,注意 name 不能重復:

重啟squid服務:

我們統一使用唯一的IP作為代理即可,比如:

通過結合squid和tinyproxy,輕松的搭建一個代理池集群服務,客戶端只需要維護一個master地址即可,而不必每次都獲取一套新的代理地址。

⑩ 如何在linux上用squid搭建代理伺服器

安裝步驟:
./configure --prefix=/usr/local/squid
make all
sudo make install(要拷貝系統目錄需要root許可權所sudoroot登錄執行我Ubuntu系統所用sudoroot許可權行)
檢查配置文件:
sudo vi /usr/local/squid/etc/squid.conf
配置項1:
# Squid normally listens to port 3128
http_port 3128
配置項2:
acl localnet src 192.168.0.0/16
http_access allow localnet
配置項3:
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 128
cache_mem 32 MB (條必須配置)
否則遭遇報錯: 2013/10/12 16:16:55 kid1| WARNING cache_mem is larger than total disk cache space!
安裝系統新建用戶squid組查發現屬於nobody組:
cat /etc/passwd|grep s

熱點內容
文件伺服器訪問速度慢 發布:2025-03-19 05:45:36 瀏覽:632
python的下載與安裝 發布:2025-03-19 05:41:38 瀏覽:768
安卓怎麼用手電筒檢測換屏 發布:2025-03-19 05:30:33 瀏覽:672
蘋果6怎麼設置短密碼 發布:2025-03-19 04:44:41 瀏覽:18
三人樂隊怎麼配置 發布:2025-03-19 04:34:42 瀏覽:915
趣編程入口 發布:2025-03-19 04:25:09 瀏覽:940
a的存儲形式 發布:2025-03-19 04:24:00 瀏覽:790
android鍵盤修改 發布:2025-03-19 04:21:45 瀏覽:165
記錄體溫源碼 發布:2025-03-19 04:14:06 瀏覽:895
安卓電池充電次數怎麼查看 發布:2025-03-19 04:08:44 瀏覽:318