1、首先下載:squid-3.2.9.tar.bz2
2、上傳到伺服器後解壓:
解壓: tar -vxjf squid-3.2.9.tar.bz2
解壓後生成目錄:squid-3.2.9
進入目錄翻看文檔INSTALL:
xxxx> more INSTALL
To build and install the Squid Cache, type:
% ./configure --prefix=/usr/local/squid
% make all
% make install
To run a Cache, you will need to:
1. customize the squid.conf configuration file:
% vi /usr/local/squid/etc/squid.conf
2. Initalise the cache:
% /usr/local/squid/sbin/squid -z
3. start the cache:
『貳』 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
最後客戶端在瀏覽器上設置代理地址就可以了
『叄』 linux SQUID代理伺服器上網設置問題
而SSH則很好地解決了這個問題。你只需要一個vps,就可以配置了。架設還是挺容易的。 安裝webmin
webmin是一個可視化管理linux系統的免費軟體。我們安裝它是為了方便管理squid代理伺服器或者linux系統。詳細安裝地址如下:
CentOS 安裝Webmin管理系統 安裝squid代理伺服器
1、在安裝squid之前,我們需要安裝EPEL軟體包。
復制代碼 代碼如下:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm2、安裝squid代理伺服器
登錄webmin,點擊Un-used Moles,找到Squid代理伺服器,點擊「click here」開始安裝。安裝成功後,到伺服器->squid代理伺服器啟動squid。在這個頁面你可以根據自己的需要來配置squid。最後還需要編輯文件/etc/squid/squid.conf,搜索」http_access deny all」改為」http_access allow all」,並重啟squid,」service squid restart」。 設置putty
打開putty,到Connection->SSH->Tunnels,填入Source port:3128,選擇Dynamic,並點擊add。 最終效果:點擊左邊菜單」Session」,輸入Host Name,填入Saved Sessions,並保存,點擊「open」,輸入用戶名和密碼之後SSH通道就建立好了。
設置火狐瀏覽器 根據測試,IE和谷歌瀏覽器無法設置成功,所以只能用火狐瀏覽器。
打開火狐瀏覽器,到「工具->選項->高級->網路「,點擊設置。 根據如圖填入信息。
設置本地DNS伺服器
設置完火狐瀏覽器之後,還沒有完,還有傳說中的DNS截持。我們需要修改自己電腦的DNS伺服器為8.8.8.8,8.8.4.4。對於撥號上網的用戶,需要重新撥號以讓DNS伺服器生效。
好了,到此全部設置完畢。希望你上網愉快。
詳細出處參考: http://www.jb51.net/article/26623.htm
詳細出處參考: http://www.jb51.net/article/26623.htm
『肆』 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
『伍』 [www@ squid-3.4.14]$ ./configure --enable-linux-netfilter
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搭建代理伺服器
1、首先下載:squid-3.2.9.tar.bz2
2、上傳到伺服器後解壓:
解壓: tar -vxjf squid-3.2.9.tar.bz2
解壓後生成目錄:squid-3.2.9
進入目錄翻看文檔INSTALL:
xxxx> more INSTALL
To build and install the Squid Cache, type:
% ./configure --prefix=/usr/local/squid
% make all
% make install
To run a Cache, you will need to:
1. customize the squid.conf configuration file:
% vi /usr/local/squid/etc/squid.conf
2. Initalise the cache:
% /usr/local/squid/sbin/squid -z
3. start the cache:
% /usr/local/squid/sbin/squid
If you want to use the WWW interface to the Cache Manager,
the cachemgr.cgi program into your httpd server's cgi-bin
directory.
3、安裝步驟:
./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
最後測試一下能不能上網了。
『柒』 雙線伺服器如果配置squid
一台伺服器已經連了兩個帶寬,為什麼還要用squid呢?直接在伺服器上綁雙線的兩個地址就可以了
如果是squid,理想的部署環境是兩台伺服器,一台作為主伺服器放在一個機房,另一台作為節點放在另一個機房,用DNS廣播的差異來實現兩個伺服器的訪問.有什麼問題的話,可以留言一起探討下.
『捌』 squid代理伺服器
編輯$SQUID_HOME/etc/squid.conf文件
裡面各項配置的使用方法寫的很清楚,可以對照配置
關鍵的配置如下:
http_access:配置允許訪問squid的IP和squid所在主機的IP
http_port:squid使用的埠
cache_peer:配置需要代理的web伺服器(如tomcat,jboss)的IP和PORT
基本配置是這三項,可以讓squid實現代理的功能,具體的優化,可以對照squid.conf進行配置
『玖』 如何用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 #這一行解決無法登陸的問題。
『拾』 Squid+Stunnel怎麼搭建代理伺服器
一,伺服器說明
一台國外的vps(推薦linode),服務端squid
一台公司內部的PC機,能訪問外網就行,客戶端stunnel
要達到的目的,公司內部人員,連接公司內部pc機,通過stunnel通道連接遠端squid,上外網查資料,谷歌,眾里尋他千網路,驀然回首你卻在高牆外頭。
二,服務端安裝squid
1,安裝squid
# yum install squid openssl openssl-devel
2,生成加密代理證書
# cd /etc/squid
# openssl req -new > tank.csr //要求輸入密碼和確認密碼
# openssl rsa -in privkey.pem -out tank.key //輸入上面輸入的密碼
# openssl x509 -in tank.csr -out tank.crt -req -signkey tank.key -days 3650
3,配置squid
# vim /etc/squid/squid.conf
acl OverConnLimit maxconn 10 //限制每個IP最大允許10個連接,防止攻擊
minimum_object_size 1 KB //允午最小文件請求體大小
maximum_object_size 1 MB //允午最大文件請求體大小
cache_swap_low 10 //最小允許使用swap 10%
cache_swap_high 25 //最大允許使用swap 25%
cache_mem 300 MB //可使用內存
/*****************上面是新增,下面是修改************************/
cache_dir ufs /var/spool/squid 2048 16 256 //2048存儲空間大小,一級目錄16個,二級256個
https_port 4430 cert=/etc/squid/tank.crt key=/etc/squid/tank.key //埠可自定義
http_access allow all
vps硬碟,內存都不富裕,所以對squid所佔用的內存和硬碟等要加以控制。
4,啟動squid,並查看
# /etc/init.d/squid start
# ps aux |grep squid
root 15984 0.0 0.0 103256 844 pts/0 S+ 17:31 0:00 grep squid
root 16585 0.0 0.0 72484 4176 ? Ss 15:27 0:00 squid -f /etc/squid/squid.conf
squid 16587 0.0 0.3 93064 29468 ? S 15:27 0:03 (squid) -f /etc/squid/squid.conf
squid 16589 0.0 0.0 48632 2100 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16590 0.0 0.0 48632 1788 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16591 0.0 0.0 48632 1784 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16592 0.0 0.0 48632 1788 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16593 0.0 0.0 48632 1784 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16594 0.0 0.0 20084 1112 ? S 15:27 0:00 (unlinkd)
VPS很少有,自啟動開啟防火牆的,如果有先關掉,等都配置好了,在開放埠。
三,客戶端安裝配置stunnel
1,安裝
# yum install stunnel
2,新增配置/etc/stunnel/stunnel.conf,添加以下內空
client = yes
fips = no
[https]
accept = 7071
connect = 外網VPS的IP:4430
如
果報,FIPS_mode_set: 2D06C06E: error:2D06C06E:FIPS
routines:FIPS_mole_mode_set:fingerprint does not
match,stunnel.conf配置文件中加上,fips = no
3,啟動stunnel並查看
# stunnel //啟動,默認配置文件路徑 /etc/stunnel/stunnel.conf
# ps aux |grep stunnel //查看
root 15972 0.0 0.0 103256 848 pts/0 S+ 17:30 0:00 grep stunnel
root 21099 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21100 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21101 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21102 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21103 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21104 0.0 0.0 2077984 6824 ? Ss 15:42 0:00 stunnel
到這兒就安裝好了,設置瀏覽器代理,填寫區域網IP和埠,就可以訪問外網了,這樣不太安全,如果能加上用戶認證會,安全一點。
四,用戶認證
1,添加認證用戶 test123
# htpasswd -c /etc/squid/passwd test123
2,配置代理以及用戶認證
# vim /etc/squid/squid.conf //添加以下內容
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd //認證方式為basic,認證程序路徑和密碼文件路徑
auth_param basic children 5 //認證程序的進程數
auth_param basic credentialsttl 1 hours //認證有效時間
auth_param basic realm my test prosy //瀏覽器顯示輸入用戶/密碼對話框時,顯示的內容
acl test123 proxy_auth REQUIRED
http_access allow test123 //普通用戶需要通過認證才能訪問
http_access deny all //最下面,匹配是從上到下的
3,重啟squid
# /etc/init.d/squid restart
這樣squid代理就搭好了,瀏覽器裡面設置一下代理IP和埠,會彈出認證框,輸入用戶名和密碼就行了。
4,php也可以利用代理伺服器
function testCurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $gurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, "192.168.1.18:7071"); //ip/埠
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test123:123456'); //認證用戶和密碼
$result=curl_exec($ch);
curl_close($ch);
return $result;
}
echo testCurl(「google.com」);
這些都是小鳥雲的工程師告訴我的,建議你可以試試小鳥雲