日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

用实例配置 linux squid 代理服务器

發布時間:2023/12/16 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用实例配置 linux squid 代理服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

27.1 squid概述

squid是linux下常見的代理服務器。Linux下代理服務器對硬件的要求不高,但是對內存的要求很高。代理服務器主要實現對一定的網絡管理要求以及帶寬要求的地方。

27.2 squid基本配置

27.2.1 squid安裝與啟動服務

rpm -q squid

squid-2.5.STABLE12-5.1

fc5 linux默認已經安裝了squid代理服務器軟件,如果沒有安裝的話,可以在光盤中找到該軟件進行安裝即可。

chkconfig squid on ???? /*設為開機自啟動*/

service squid start???? /*開啟服務*/

27.2.2 squid配置

Squid只要做一些基本的配置就能夠提供代理服務,這里只是提供最基本的配置方案,如果需要有更加精細的配置要求的話,需要對其訪問控制列表進行修改。

用vi刪除原有配置文件的內容,輸入以下內容。

vi /etc/squid/squid.conf

#代理服務器的監聽端口

http_port 192.168.1.1:8080

#內存緩沖區的大小

cache_mem 64 MB

#設置硬盤緩沖區最大4096MB,16個一級目錄,256個二級目錄。

cache_dir ufs /var/spool/squid 4096 16 256

#設定使用緩存的有效用戶

cache_effective_user squid

#設定使用緩存的有效組

cache_effective_group squid

#定義dns服務器的地址

dns_nameservers 202.103.1.117

#設置訪問日志文件

cache_access_log /var/log/squid/access.log

#設置緩存日志文件

cache_log /var/log/squid/cache.log

#設置網頁緩存日志文件

cache_store_log /var/log/squid/store.log

#設置squid主機名稱,一般為IP地址。

visible_hostname 192.168.1.1

#設置管理員email地址

cache_mgr abc@126.com

#訪問控制列表

#允許所有

acl all src 0.0.0.0/0.0.0.0

#定義允許名稱為all的http請求。

http_access allow all

27.2.3 初始化squid配置

1.創建緩沖區目錄結構

在初次啟動squid之前應建立硬盤緩沖區目錄結構。

/usr/sbin/squid -z

2009/02/13 19:54:33| Creating Swap Directories

目錄緩沖區地址/var/spool/squid

2.設置squid錯誤提示信息為中文

mv /etc/squid/errors /etc/squid/errors.bak

#創建快捷方式

in -s /usr/share/squid/errors/simplify_chinese /etc/squid/errors

/etc/init.d/squid reload或service squid reload

27.3 squid透明代理配置

27.3.1 squid透明代理介紹

透明代理就是nat與代理的結合,透明就是工作在這種方式下的客戶機感覺不到代理服務器的存在,不需要在瀏覽器中進行設置。只需要把網關設為代理服務器以及配置正確的dns地址。

27.3.2 squid透明代理配置

Squid只要做一些基本的配置就能夠提供代理服務,以下基本配置文件的內容是一樣的,只需要在此基礎上進行必要的修改。

vi /etc/squid/squid.conf

http_port 192.168.1.1:8080

cache_mem 64 MB

cache_dir ufs /var/spool/squid 4096 16 256

cache_effective_user squid

cache_effective_group squid

dns_nameservers 202.103.1.117

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

visible_hostname 192.168.1.1

cache_mgr abc@126.com

#以下是透明代理的設置,不可少。

#定義代理服務器為virtual加速模式。

httpd_accel_host virtual

#要加速的端口

httpd_accel_port 80

#squid既是web請求加速器又是代理服務器

httpd_accel_with_proxy on

#代理服務器的緩存功能才能工作。

httpd_accel_uses_host_header on

acl all src 0.0.0.0/0.0.0.0

http_access allow all

27.3.3 配置iptables

將所有由eth0接口進入的web服務80端口的請求直接轉發到8080口,由squid去處理。

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

27. 4 squid用戶認證配置

27.4.1 squid認證介紹

squid本身不自帶認證功能,需要由其它程序在進行認證。Squid就是可以實現沒有經過認證的用戶不能實現上網。

27.4.2 squid用戶認證配置

基本配置文件都是相同的,只需要在此基礎上進行修改。

vi /etc/squid/squid.conf

http_port 192.168.1.1:8080

cache_mem 64 MB

cache_dir ufs /var/spool/squid 4096 16 256

cache_effective_user squid

cache_effective_group squid

dns_nameservers 202.103.1.117

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

visible_hostname 192.168.1.1

cache_mgr abc@126.com

#以下實現用戶身份認證的語名

#設定認證程序路徑,與認證程序密碼。

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

#認證程序進程數

auth_param basic children 5

#用戶認證后的有效時間,超過時間需要再次認證。

auth_param basic credentialsttl 2 hours

#顯示驗證框時的提示內容。

auth_param basic realm Example.com's Squid proxy-caching

#允許經過認證的用戶訪問

#acl 列表名稱 列表類型?? 列表值

acl auth_user proxy_auth REQUIRED

http_access allow auth_user

27.4.3 建立帳戶文件

可以利用apache的htpasswd程序來生成帳戶文件

htpassed -c /etc/squid/passwd redhat

在第一次生成帳戶文件的時候需要加入-c,以后就不需要了。

注:還需要對passwd文件設置其它用戶可讀權限。在配置過程中可以出現認證框,但是輸入密碼不行。經發現權限為600。root用戶root組,配置文件中squid的用戶為squid,造成不能讀取密碼。

chmod o+r /etc/squid/passed

27.4.4 客戶端配置

基本配置與認證代理,只需要在IE中internet選項/連接/局域網設置/代理服務器中填入代理服務器的IP地址與端口即可。

透明代理,與正常的nat配置主網的方式一樣,只要設置網關與dns即可,不需要設置IE。

27.4.5 驗證

其它兩上配置都成功驗證,可以直接應用于實際環境中。

27.5 squid訪問控制應用

27.5.1 禁止訪問網絡

1.禁止一臺電腦上網

acl ip src 192.168.1.200

http_access deny ip

2.禁止192.168.1.0網段的電腦上網

acl ip src 192.168.1.0/255.255.255.0

http_access deny ip

27.5.2 禁止訪問特定網站

1.禁止訪問某IP地址

acl ip dst 192.168.1.200

http_access deny ip

說明:不能訪問該目標IP地址的所有內容,包含網站。與上面的內容區別。

2.禁止訪問某網站

acl ip dstdomain -i www.abc.com

http_access deny ip

說明:只是不能訪問www.abc.com,下面的子頁面還是可以訪問的。

3.禁止訪問含有某域名的網站

acl ip url_regex -i abc.com

http_access deny ip

說明:比上面的控制嚴格。

27.5.3 基于時間的訪問控制

1.禁止某子網在周一至周五9:00到18:00(上班時間不能上網)

acl ip src 192.168.2.0/255.255.255.0

acl worktime time MTWHF 9:00-18:00

http_access deny ip worktime

說明:可以參考此規則進行變通。

2.禁止下載含有.rar、.mp3

acl ip urlpath_regex -i \.mp3$\.rar$

http_access deny ip


總結

以上是生活随笔為你收集整理的用实例配置 linux squid 代理服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。