squid代理伺服器硬體配置
『壹』 linux下用squid實現代理服務器的問題。
完全可以
在伺服器上設置FQDN,squid要求使用FQDN。例如server.linux.com,使用hostname命令即可:
hostname server.linux.com
在/etc/hosts文件中寫入上述FQDN的解析條目:
192.168.2.161 server.linux.com
然後運行命令squid -z完成初始化
修改/etc/squid/squid.conf配置文件。該文件絕大部分的配置都不需要修改,只要加入你的訪問控制即可。
可以加入兩行:
acl mynet src 192.168.2.0/255.255.255.0
http_access allow mynet
最後客戶端在瀏覽器上設置代理地址就可以了
『貳』 squid代理伺服器有什麼優勢
配置好代理伺服器外就要設置防火牆策略了。而這個策略是在iptables中的nat表中完成的內,至於你們容老師說的使用forward也沒有錯,可以使用forward鏈對內網中的主機進行限制,比如說流量的限制。所以,朋友,你或是沒有學防火牆,或是那個防火牆沒有學好,建議你學好防火牆,你問的問題就迎刃而解了。
『叄』 我在linux下安裝squid完成後,squid.conf文件的配置
1、安裝好squid後配置文件在/usr/local/squid/etc目錄中,刪除原有的squid.conf配置文件,新建squid.conf文件,只輸入以下內容:
http_port 80 transparent
http_access allow all
2、注意,以上是squid2.6及以後版本的配置,如果是2.6以前版本的squid,配置如下:
http_port 80
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
3、/usr/local/squid/sbin目錄下的squid為運行文件。
第一次運行時,先運行squid -z創建緩存文件夾。緩存文件夾在/usr/local/squid/var下創建,因此創建緩存前還需運行chmod 777 /usr/local/squid/var給該文件夾許可權。
再運行squid -d 1開啟squid即可。
如果要關閉squid,運行squid -k shutdown則是安全關閉。
注意,如果沒有將新裝的squid配置成環境變數的話,盡量在sbin目錄下運行./squid,以免運行了伺服器上已有的舊squid。
4、設置一個DNS伺服器,將所有域名解析指向到需要被代理的伺服器的IP,例如使用Bind,WinMyDns軟體。將squid所在伺服器的DNS設置成該DNS伺服器。
5、將被代理的伺服器所有域名解析到squid所在伺服器,這時該伺服器即可作為中轉。
『肆』 如何在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/
否則你會遭遇:
WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.log
FATAL: Failed to make swap directory /usr/local/squid/var/cache/squid/00: (13) Permission denied
初始化squid.conf里配置的cache目錄,就是建立了一堆的目錄:
sudo /usr/local/squid/sbin/squid -z
在前台啟動squid,並輸出啟動過程
sudo /usr/local/squid/sbin/squid -N -d1
顯示ready to server reques,則啟動成功。可以鍵入ctrl+c,停止squid,並以後台運行的方式啟動。
我沒有在配置文件中配置DNS,而是在 /etc/resolv.conf 中配置:
domain site
nameserver x.x.x.x
所以列印出來的日誌中就這樣的:
2013/10/12 16:42:13| Adding nameserver x.x.x.x from /etc/resolv.conf
squid從這個配置文件中讀取了dns配置來用。
啟動squid後台運行
sudo /usr/local/squid/sbin/squid -s
檢查一下進程是否存在:ps -ef|grep squid
通過squid客戶端查看squid運行狀態
/usr/local/squid/bin/squidclient -h 127.0.0.1 -p 3128 mgr:info
那台不能上網的機器配置如下:
export http_proxy=http://192.168.199.235:3128/
可以把這句寫到你的啟動文件中,比如什麼.profile或者.bashrc,或者/etc/profile等等。
取消:unset http_proxy
測試一下能不能上網了:
能down下來文件就算大功告成啦。
『伍』 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
『陸』 centos7中的squid.conf配置訪問規則如何配置
#vi /etc/squid/squid.conf
#http_port指令告訴在哪個埠偵聽HTTP請求。默認埠是3128,除下面的形式外,也可以是http_port 192.168.63.50:3128
http_port 3128
icp_port 3130
#緩存目錄的設置,可以設置多個緩存目錄,語法為:<cache_dir> <aufs|ufs> <目錄所在> <MBytes大小> <dir1> <dir2>
cache_dir ufs /var/spool/squid 1000 64 1024
#下面是關於日誌文件的放置目錄與文件名!
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
#關閉認證機制,有些版本的squid 會自動的加入代理認證機制,而普通情況下是不需要的,故找到包括auth_param的行,給它們加上注釋
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#設置squid用戶及用戶組、管理員賬號
cache_effective_user squid
cache_effective_group squid
cache_mgr [email protected]
# 與內存有關的配置:因為我的系統內存很小,所以只給 8 MB!如果您的物理內存很大的情況下,例如 512 MB,可以考慮加大到 64 或 128 MB。
cache_mem 128 MB
# 與磁碟容量有關的配置(註:下列的 90 與 95 是百分比 ),如果您的 cache_dir 所在磁碟很大時,可以考慮將 4096 改成 32768 KB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
# 與內存保存資料有關的配置
maximum_object_size_in_memory 8 KB
#定義acl(訪問控制列表), 語法為:acl<acl> <acl名稱> <acl類型> <配置的內容>
#黑體為用戶自定義部分
acl All src 0/0
acl Manager proto cache_object
acl Localhost src 127.0.0.1/32
acl Safe_ports port 80 21 443 563 70 210 280 488 591 777 1025-65535
acl SSL_ports 443 563
acl CONNECT method CONNECT
acl MyNetwork src 192.168.0.0/16
#利用前面定義的acl,定義訪問控制規則
http_access allow Manager Localhost
http_access deny Manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow MyNetwork
http_access deny All
#定義與其它代理伺服器的關系,語法: <cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其它參數>
cache_peer 192.168.60.6 parent 4480 7 no-query default
#設置與其它代理伺服器的關系:
# <cache_peer_access> <上層 Proxy > <allow|deny> <acl名稱>
#cache_peer_access 192.168.60.6 allow aclxxx
#cache_peer_access 192.168.60.6 deny !aclxxx
coremp_dir /var/spool/squid
建議看看《Linux就該這么學》
『柒』 如何用Squid Windows版架設二級代理伺服器
一、Windows版Squid的下載與安裝
下載windwosNT版本的squid
1、把squid-2.6.STABLE13-bin.zip解壓縮,把裡面的squid文件夾拷到c:/下(squid默認的是c:/squid)
2、squid/etc目錄下把
squid.conf.default拷貝一份重新命名為squid.conf
cachemgr.conf.default拷貝一份重新命名為cachemgr.conf
mime.conf.default拷貝一份重新命名為mime.conf
3.用文本編輯器打開squid.conf,需要修改的地方:
找到http_port 3128在後面增加一行
http_port 80 transparent
找到#cache_peer sib2.foo.NET sibling 3128 3130 [proxy-only]在後面增加一行
cache_peer 192.168.1.8 parent 7001 0 no-query originserver
找到# TAG: visible_hostname在後面增加一行
visible_hostname volcano(任意命名)
找到http_access deny all在其前面加#將這一行注釋掉,然後增加一行
http_access allow all
4.從命令行到c:/squid/sbin目錄下執行
squid -i(將squid服務加入到服務裡面)
squid -z
安裝完成
5.從服務里啟動squid
訪問squid伺服器:
http://192.168.1.2(你的squid伺服器IP地址)>>>指向http://192.168.1.8:7001(web伺服器地址)
如果把#http_access deny all打開把http_access allow all注釋掉,你的訪問就會被拒絕
你需要配置一下:找到下面兩行
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
打開注釋,修改你的內網ip(段)可以設為192.168.1.0/24一個也可以如上面的一樣設一段IP
二、squid.conf配置文件
cache_mgr [email protected] #設置管理員郵箱,無關緊要
visible_hostname ibi #設置虛擬主機名,似乎squid2.5這個版本需要
#設置這一項,2.4卻不需要
cache_peer 10.10.2.53 parent 6666 3130 login=account:passwd default no-query
#設置上級代理,其中10.10.2.53是我們校內的代理地址,6666是他的埠號,
#account,passwd則是上網帳號密碼(當然我不會把我們真實的帳號貼出來)
#hierarchy_stoplist cgi-bin ? #注釋掉這一行,不然不能訪問帶有"?"
#的url
#acl QUERY urlpath_regex cgi-bin ? #這兩行沒有具體測試,應該和cgi請求有關
#no_cache deny QUERY
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 SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl lan-a src 10.49.41.150-10.49.41.190/32 #對ip進行控制,這行定義了一個ip
#段為組lan-a
http_access allow lan-a #這里控制組lan-a的ip可以使用squid代理
acl lan-b src 10.141.96.0/24 #同樣設置了一個ip段,ip地址前三位是
#10.141.96的所有ip,其實就是我們寢室樓的ip段
http_access allow lan-b
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow all
never_direct allow all #這一行解決無法登陸的問題。
『捌』 linux下squid代理伺服器配置 打入ping命令後之後沒有了反應怎麼解決
squid和ping又沒必然聯系。你這問題沒頭沒腦的。況且ping用的icmp協議又不支持http代理。
『玖』 如何查看squid代理伺服器配置怎麼查看
安裝步驟:
./configure --prefix=/usr/local/squid
make all
sudo make install(因為要拷貝到系統目錄,需要許可權,所以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/
否則你會遭遇:
WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.log
FATAL: Failed to make swap directory /usr/local/squid/var/cache/squid/00: (13) Permission denied
初始化squid.conf里配置的cache目錄,就是建立了一堆的目錄:
sudo /usr/local/squid/sbin/squid -z
在前台啟動squid,並輸出啟動過程
sudo /usr/local/squid/sbin/squid -N -d1
顯示ready to server reques,則啟動成功。可以鍵入ctrl+c,停止squid,並以後台運行的方式啟動。
我沒有在配置文件中配置DNS,而是在 /etc/resolv.conf 中配置:
domain site
nameserver x.x.x.x
所以列印出來的日誌中就這樣的:
2013/10/12 16:42:13| Adding nameserver x.x.x.x from /etc/resolv.conf
squid從這個配置文件中讀取了dns配置來用。
啟動squid後台運行
sudo /usr/local/squid/sbin/squid -s
檢查一下進程是否存在:ps -ef|grep squid
通過squid客戶端查看squid運行狀態
/usr/local/squid/bin/squidclient -h 127.0.0.1 -p 3128 mgr:info
那台不能上網的機器配置如下:
export http_proxy=
可以把這句寫到你的啟動文件中,比如什麼.profile或者.bashrc,或者/etc/profile等等。
取消:unset http_proxy
測試一下能不能上網了:
能down下來文件就算大功告成啦。