導航:首頁 > IDC知識 > squid域名轉發

squid域名轉發

發布時間:2020-11-14 18:05:17

1、Linux如何從一個網卡進入伺服器 經過squid轉發到另外一張網卡,就相當於做一個路由器。有什麼好方案么、

。。。。。。直接squid中做NAT不就得了
iptables寫策略啊

2、電信的80埠全部封了,現在用URL轉發問題太多,有沒有其他辦法?SQUID反向代理可以么?

SQUID如果想在你這個環境下弄,不還得用SQUID的虛擬主機設置法么。。。

3、如何實現域名跳轉到IP加埠但域名不變

如果是LAMP環境,可以修改Apache2的配置,使得不同的域名調用不同的文件夾下的網站,這個和IP及埠無關。具體可參見:基於Ubuntu搭建LAMP多站點Web伺服器

4、squid 能反向代理多個SSL嗎?(可根據情況加分)

官網說的「一個ssl」指的是 只能用一張數字證書,你可以在squid下建兩個虛擬主機內 使用同一個證書,不過一容般一個證書對應一個域名,你的這種情況可以使用一個多域名數字證書,這樣就可以用一個公網ip 一個squid來代理兩個web服務啦!有什麼不明白的可以繼續問,我配置過這種應用。

5、squid 可以實現路由功能嗎

Squid cache(簡稱為Squid)是一個流行的自由軟體(GNU通用公共許可證)的代理伺服器和Web緩存回伺服器。Squid有廣泛的用答途,從作為網頁伺服器的前置cache伺服器緩存相關請求來提高Web伺服器的速度,到為一組人共享網路資源而緩存萬維網,域名系統和其他網路搜索,到通過過濾流量幫助網路安全,到區域網通過代理上網。Squid主要設計用於在Unix一類系統運行。
Squid的發展歷史相當悠久,功能也相當完善。除了HTTP外,對於FTP與HTTPS的支援也相當好,在3.0 測試版中也支援了IPv6。

6、如何配置squid是他直接訪問正式web伺服器

代理伺服器的功能是代理網路用戶取得網路信息,它是網路信息的中轉站。隨著代理伺服器的廣泛使用,隨之而來的是一系列的安全問題。由於沒有對代理伺服器的訪問控制策略作全面細致的配置,導致用戶可以隨意地通過代理伺服器訪問許多色情、反動的非法站點,而這些行為往往又很難追蹤,給管理工作帶來極大的不便。
Squid是Linux下一個緩存Internet數據的代理伺服器軟體,其接收用戶的下載申請,並自動處理所下載的數據。也就是說,當一個用戶想要下載一個主頁時,可以向Squid發出一個申請,要Squid代替其進行下載,然後Squid連接所申請網站並請求該主頁,接著把該主頁傳給用戶同時保留一個備份。當別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當快。目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS協議,暫不能代理POP3、NNTP等協議。Squid可以工作在很多操作系統中,如AIX、Digital、Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。
安裝和配置Squid Server
通常說來,安裝Squid有兩種方法:一是從Red Hat Linux 9中獲取該軟體的RPM包進行;二是安裝從Squid的官方站點http://www.squid-cache.org/ 下載該軟體的源碼進行編譯後安裝。目前網上最新的穩定版本為squid-2.5.STABLE10,下面以此版本為例對兩種安裝方法進行介紹。
Squid伺服器工作原理示意圖
1. RPM包的安裝
首先,查看是否已經安裝了squid:
#rpm -qa | grep squid
Red Hat Linux9自帶了Squid安裝軟體包,將第一張安裝光碟放入光碟機後掛裝光碟分區:
#mount /mnt/cdrom
然後,進入/mnt/cdrom/Red Hat/RPMS目錄:
#cd /mnt/cdrom/Red Hat/RPMS
最後,執行安裝:
#rpm -ivh squid-2.5.STABLE1-2.i386.rpm
當然,我們也可以在開始安裝系統的過程中安裝該軟體。
2. 源代碼包的安裝
從http://www.squid-cache.org/下載squid軟體的最新源代碼包squid-2.5.STABLE10.tar.gz,然後,按照如下步驟進行安裝。
首先,將該文件拷貝到/tmp目錄:
#cp squid-2.5.STABLE10.tar.gz /tmp
然後,解開該文件:
#tar xzvf squid-2.5.STABLE10.tar.gz
解開後,在/tmp生成一個新的目錄squid-2.5.STABLE10,為了方便使用mv命令,將該目錄重命名為squid:
#mv squid-2.5.STABLE10 squid
切換進入squid目錄:
#cd squid
接著,執行/configure,可以用./configure --prefix=/directory/you/want指定安裝目錄,系統默認安裝目錄為/tmp/squid:
#./configure
最後,分別執行make all、make install:
#make all
#make install
安裝結束後,Squid的可執行文件在安裝目錄的bin子目錄下,配置文件在etc子目錄下。

Squid軟體向用戶提供了許多與配置、應用程序和庫、日誌等相關的文檔進行配置和管理,Squid有一個主要的配置文件squid.conf。同時,在Red Hat環境下所有Squid的配置文件都位於/etc/squid子目錄下。在該目錄當中,系統同時提供了一個默認的配置文件,其名稱為squid.conf.default,然而,在實際的應用當中,該默認的配置文件存在某些問題,所以在使用Squid之前,必須首先對該配置文件的有關內容進行修改。
下面介紹squid.conf文件的結構以及一些常用的選項。squid.conf配置文件可以分為13個部分。雖然Squid的配置文件很龐大,該配置文件的規模達到了3000多行。然而,如果只是為一個中小型網路提供代理服務,並且只准備使用一台伺服器,那麼,配置問題將會變得相對簡單,只需要修改配置文件中的幾個選項即可滿足應用需求。這些幾個常用選項分別是:
1. http_port
該選項定義Squid監聽HTTPD客戶連接請求的埠。默認是3128,如果使用HTTPD加速模式,則為80。可以指定多個埠,但是所有指定的埠都必須在一條命令行上出現,程序才能正確地識別。
2. cache_mem(bytes)
該選項用於指定Squid可以使用的內存的理想值。這部分內存被用來存儲以下對象:In-Transit objects(傳入的對象)、Hot Objects(熱對象,即用戶常訪問的對象)、Negative-Cached objects(消極存儲的對象)。
3. cache_dir Directory-Name Mbytes Level1 Level2
該選項指定Squid用來存儲對象的交換空間的大小及其目錄結構。可以用多個cache_dir命令來定義多個交換空間,並且這些交換空間可以分布在不同的磁碟分區。「directory」指明了該交換空間的頂級目錄。如果想用整個磁碟作為交換空間,那麼可以將該目錄作為裝載點將整個磁碟掛裝上去。默認值為/var/spool/squid。Mbytes定義了可用的空間總量。
配置訪問控制
使用訪問控制特性,可以控制在訪問時根據特定的時間間隔進行緩存、訪問特定站點或一組站點等。Squid訪問控制有兩個要素:ACL元素和訪問列表。通過使用這些方法,系統管理員可以嚴格、清晰地定義代理伺服器的訪問控制策略。
1. ACL元素
該元素定義的語法如下:
acl aclname acltype string1…
acl aclname acltype 「file」…
當使用文件時,該文件的格式為每行包含一個條目。其中,acltype可以是任一個在ACL中定義的名稱;任何兩個ACL元素不能用相同的名字;每個ACL由列表值組成,當進行匹配檢測的時候,多個值由邏輯或運算連接,換句話說,任一ACL元素的值被匹配,則這個ACL元素即被匹配; 並不是所有的ACL元素都能使用訪問列表中的全部類型;不同的ACL元素寫在不同行中,Squid將這些元素組合在一個列表中。

2. http_access訪問控制列表
根據訪問控制列表允許或禁止某一類用戶訪問。如果某個訪問沒有相符合的項目,則默認為應用最後一條項目的「非」。比如最後一條為允許,則默認就是禁止。通常應該把最後的條目設為「deny all」或「allow all」來避免安全性隱患。使用該訪問控制列表需要注意如下問題:
● 這些規則按照它們的排列順序進行匹配檢測,一旦檢測到匹配的規則,匹配檢測就立即結束;
● 訪問列表可以由多條規則組成;
● 如果沒有任何規則與訪問請求匹配,默認動作將與列表中最後一條規則對應;
● 一個訪問條目中的所有元素將用邏輯與運算連接,如下所示:
http_access Action 聲明1 AND 聲明2 AND 聲明 OR
http_access Action 聲明3
● 多個http_access聲明間用或運算連接,但每個訪問條目的元素間用與運算連接;
● 列表中的規則總是遵循由上而下的順序。
3. 使用訪問控制
上面詳細講述了ACL元素以及http_access訪問控制列表的語法以及使用過程中需要注意的問題,下面給出使用這些訪問控制方法的實例。
如果,允許網段10.0.0.124/24以及192.168.10.15/24內的所有客戶機訪問代理伺服器,並且允許在文件/etc/squid/guest列出的客戶機訪問代理伺服器,除此之外的客戶機將拒絕訪問本地代理伺服器。那麼具體操作如下:
acl clients src 10.0.0.124/24 192.168.10.15/24
acl guests src 「/etc/squid/guest」
acl all src 0.0.0.0/0.0.0.0
http_access allow clients
http_access allow guests
http_access deny all
其中,文件「/etc/squid/guest」中的內容為:
172.168.10.3/24
210.113.24.8/16
10.0.1.24/25
……
如果,允許域名為job.net、gdfq.e.cn的兩個域訪問本地代理伺服器,其他的域都將拒絕訪問本地代理伺服器。那麼具體操作如下:
acl permitted_domain src job.net gdfq.e.cn
acl all src 0.0.0.0/0.0.0.0
http_access allow permitted_domain
http_access deny all
如果,使用正則表達式,拒絕客戶機通過代理伺服器訪問包含有諸如「sexy」等關鍵字的網站。那麼具體操作如下:
acl deny_url url_regex - sexy
http_access deny deny_url
如果,拒絕客戶機通過代理伺服器訪問文件中指定IP或者域名的網站,其中文件/etc/squid/deny_ip中存放有拒絕訪問的IP地址,文件/etc/squid/deny_dns中存放有拒絕訪問的域名。那麼具體操作如下:
acl deny_ip dst 「etc/squid/deny_ip」
acl deny_dns dst 「etc/squid/deny_dns」
http_access deny deny_ip
http_access deny deny_dns

7、如何讓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這篇,講的非常詳細,相信能解決你的問題

8、squid做反向代理同時支持Http和https請求,怎麼配置

Squid反向代來理伺服器位於本地源 WEB 伺服器和 Internet 之間 , 組織架構如圖 客戶端請求訪問 WEB 服務時,DNS 將訪問的域名解析為 Squid 反向代理伺服器的 IP 地址,這樣客戶端的 URL 請求將被發送到反向代理伺服器。 如果 Squid 反向代理伺服器中squid做反向代理同時支持Http和https請求,怎麼配置

9、squid和iptables工具,架構代理伺服器。伺服器所有埠轉發到3128,在從8080埠出去。

你可以通過iptables的DNAT方式實現。iptables中加一條rule就可實現你的用途。

10、squid透明代理問題 IE輸入代理沒問題 用iptables做埠轉發想實現透明代理就不能上網

你的iptables規則是不是寫錯了,應版該是:權
iptables -t nat -A PREROUTING -i eth0 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

與squid域名轉發相關的知識