歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 《Proxy&Firewall手冊》

《Proxy&Firewall手冊》

日期:2017/2/27 12:18:44   编辑:Linux文化

用Linux 有一陣子了, 玩Linux 久了的人都知道在GNU 的世界裡, 不必花費一毛錢, 就有程式可以抓、有文件可以看。抓多看多了, 就不得不感佩這群Linux 奇跡幕後的無名英雄, 不像一些軟體帝國主義者, 一心只想用軟體撈錢, 而無私的貢獻自己的心血給大家分享。剛好最近在研究Firewall, 就「順手」把它翻成中文, 讓大家分享我研讀的心得, 試著追隨那些軟體烏托邦理想家的腳步。慶幸原文作者的筆法還算淺顯易懂, 但有些地方寫得相當簡要, 所以譯文中不免有部份屬個人的揣測推敲, 如果你發現任何地方有疑問, 歡迎來信指教。
( [email protected] )

本文將簡單的教你如何在Linux 上安裝Firewall, 同時也會提到Proxy Server的安裝及使用, 藉著Proxy Server使在Firewall後方的人對於Internet也能擁有比較大的Access權限。

1. 介紹

這一陣子, Firewall成了Internet保全上的熱門話題, 但也造成了許多人對它的誤解。這篇HOWTO 將會探討什麼是Firewall?如何安裝?何謂Proxy Server?如何設定Proxy Server?以及這些技術除了安全以外的新應用。

1.1. 讀者回響

歡迎給我任何意見, 我尤其想知道Macintosh 使用者的意見, 我在這方面的資訊不多, 「如果發現這篇文章中有任何錯誤, 請務必通知我」。人非聖賢, 孰能無過嘛! 如果你有發現任何錯誤, 請通知我, 我會很樂意去更正它的。我會試著去回覆所有的來信, 不過我挺忙的, 不要對我太苛求。我的EMAIL地址是[email protected].
[譯注: 我也絕對歡迎任何意見, 請寄到[email protected]]

1.2. 嚴正聲明

這份文件將介紹Firewall及Proxy Server的原理, 我無意裝作是個網路安全專
家, 我只是個讀得多而且愛電腦勝過愛人類的家伙。在此聲明, 我不對任何依本文所做行為所造成的損害負任何責任( I AM NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THIS DOCUMENT. ) 我只是想藉這篇文章去幫助你熟悉這個主題, 而非要窮畢生之力來研究它。

1.3. 版權宣告

除非另有聲明, Linux HOWTO文件的版權歸原作者所有。Linux HOWTO文件可以
重制及散布其全部或部份在任何媒體上, 只要完整保留此一版權宣告。允許也歡迎商業性的散布行為, 但應先知會作者。

所有對Linux HOWTO 文件的翻譯、修正、整理必須包含此版權宣告。亦即, 你
不能修改本文件卻在轉手散布時加諸額外的條件限制。如有異議請連絡Linux HOWTO coordinator, 地址在下面。我們希望此一資訊能從愈多管道散愈好, 不過我們仍希望能保留HOWTO文件的版權, 如有任何散布計劃, 請通知我們。

如有任何問題, 請連絡David Rudder, 譯文作者是Jeffrey Lee

[譯注: 我覺得這一段比技術性的本文還難翻, 而且有其法律上的重要性, 所以原文附上, 若中文語意和原文有所出入, 以原文為准。

Unless otherwise stated, Linux HOWTO documents are copyrighted by
their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

If you have any questions, please contact David Rudder . ]

1.4. 寫這篇文章的動機

過去一年來在comp.os.linux 論壇上有一大堆人在求救, 尋求Firewall方面的協助, 似乎也沒有什麼人要回答。我猜是沒人知道要怎麼回答吧! 所以我花了一點時間玩了玩Firewall, 寫這篇文章來回應那些需求。

1.5. 尚待努力方向

o 學習Macintosh的做法
o 學習不同的Windows TCP/IP套裝軟體
o 找個好用的UDP Proxy Server和Linux搭配

1.6. 深入研究時的參考資料

o TIS Firewall Toolkit文件
o NET-2 HOWTO
o PPP HOWTO
o Ethernet HOWTO
o MultIPle Ethernet Mini HOWTO
o Networking with Linux
o TCP/IP Network Administrator's Guide by O'Reilly and Associates

Firewall Toolkit by TIS 有一套很棒的文件, 其中有談到Firewall及相關的資料, 至於Firewall Toolkit的進一步說明, 請看Firewall軟體那一節。

2. 了解Firewalls

Firewall原來是汽車上的一個術語, 它用來隔離引擎和乘客, 在引擎爆炸時可以發揮保護乘客的功能。電腦上的Firewall是一個邏輯裝置, 用來保護私人的區域
不受公用部份的侵害, 做法是:

1. 找一部有Routing能力的電腦(例如Linux)
2. 加入兩個界面(例如: 序列埠、Ethernet、Token Ring等等)
3. 關掉IP forwarding的功能
4. 把其中一個界面接上Internet
5. 把受保護的網路接在另一個界面上

現在你使電腦接到兩個不同的網路上。這部Firewall電腦, 現在就稱為Firewall 了, 可以接到Internet上, 也可以接到保護網路(Protected Network) 上。但保護網路無法連上 Internet, Internet也連不上保護網路。

如果要從保護網路內連上Internet, 必須要先telnet到Firewall, 從那裡使用Internet。同樣的, Internet上的人要進入保護網路, 也必須先透過Firewall。

這種作法對於Internet上的攻擊有很優秀的免疫作用。如果有人企圖對受保護的網路進行攻擊, 則必須先穿過Firewall, 攻擊必須分成兩步驟, 難度也增加了。如果有人想藉著使用一般的手法, 如郵件炸彈(MAIL BOMB)或"Internet Worm", 來攻擊受保護的網路, 他們可能是無法如願的。

2.1. Firewall的缺點

Firewall最大的問題在於由內部Access Internet的困難。基本上, Firewall利用Dial-Up Shell 的帳號來減少對於Internet的使用, 必須先login Firewall 才能做其他對Internet的Access動作。因此一些需要直接連接Internet的程式(如Netscape) 便無法在Firewall後方順利動作, 解決的辦法——Proxy Server。

2.2. Proxy Server

Proxy Server可用來協助由Firewall後方直接Access到Internet。它們的工作是在Server上開啟一個Socket, 作為和Internet溝通的管道。舉例來說, 我的電腦drig是在保護網路內, 當我要使用Netscape去浏覽Web 時, 我得在Firewall上建個Proxy Server, 這個Proxy Server設定好可以接受我的電腦的請求, 把要連上Port 80請求轉接到它的Port 1080上。

任何用過TIA 或TERM的人應該對這個觀念不會太陌生, 在這兩個程式裡, 你可以對一個Port做轉向的動作。我的一個朋友用TIA 設定允許大家用192.251.139.21 port 4024去連上他的web server。這裡提到的Proxy Server原理也差不多, 只是恰好相反, 讓你使用port 1080(或某特定值)去連接其他人的port 80。Proxy Server最了不起的地方在於它的安全性, 如果你設定正確的話, 它不會允許任何人逾越它。

3. 動手吧!

3.1. 硬體需求

本例中, 電腦采用486-DX66, 8M RAM, 500M Linux 分割, 以一台1.44 bps
MODEM連到ISP上。這就是原本Linux box的基本配備, 要架成Firewall, 我們還得加上一塊NE2000 Ethernet網路卡。接著連上三部PC(Win 3.1+Trumpet Winsock)和兩台Suns(SunOS 4.1)。我選擇這樣的架構是著眼於它很普通常見, 而且我對這兩種平台都蠻熟悉的。本來有考慮要加上Mac, 可是我不太常用也不熟, 就算了。

3.2. 設定軟體

現在, Linux box 透過14.4 PPP line連上Internet, 再用Ethernet連上其他的電腦。首先, 先recomplie linux kernel, make config時得做適當的調整。

我參考了Kernel HOWTO, Ethernet HOWTO, NET-2 HOWTO然後進行"make config":

1. 使用Networking Support
2. 使用TCP/IP Networking
3. 取消IP Forwarding (CONFIG_IP_FORWARD).
4. 使用IP Firewalling
5. 可以使用IP accounting, 這樣比較審慎一點。
6. 使用Networking Device Support
7. 使用PPP 及Ethernet support, 視你的界面而定

接著, 我們recompile, reinstall kernel 後重開機。應該可以在開機過程中
看到我們所加入的界面的資料, 如果沒有, 參考其他的HOWTO, 看看是那裡做錯了。

3.3. 設定網路位址

這是很有趣的一部份。因為我們不希望Internet直接Access我們的網路, 所以不必使用真實位址。一個不錯的選擇是C Class的192.168.2.xxx, 它是設定來做測試的dummy domain。所以放心大膽的用它吧! 沒人會跟你搶的。在我們的設定中, 只需要一個真實的位址, 其他的自設就可以了。指定連上PPP 的串列埠一個真實IP位址, Firewall上的Ethernet卡設為192.168.2.1, 將其他電腦設為192.168.2.xxx。

3.4. 測試看看

試著從Firewall上ping一個Internet上的Node。我使用nic.ddn.mil做為測試點。[ 譯注: 在國內可以ping edu.tw 看看 ]如果不行, 查查你的PPP 有沒有設好, 仔細的讀一下Net-2 HOWTO, 再試一次。

現在, 試著ping保護網路內的電腦, 所有網路內的電腦應該可以ping其他任何一台電腦, 如果不行, 老話一句, 看看NET-2 HOWTO 再試一次。接著, 所有在保護網路內的機器應該都可以ping Firewall。若不行, 再重覆以上步驟, 記得, 你該ping 192.168.2.1, 而非PPP 的真實IP位址。

然後試著從Firewall裡的電腦去ping PPP的IP位址, 如果可以, 表示你IP Forwarding的功能未取消, 你必須重新compile kernel。雖然我們已經把受保護的網路設為192.168.2.1 domain, 不會收到來自Internet的封包, 可是把IP Forwarding 關掉還是比較保險一點, 可以自己主控全局而非仰賴ISP。

最後, 從Firewall上ping一下受保護的網路內的機器, 到這個地步, 應該不會有什麼問題。到這裡, 我們已經完成了最基礎的Firewall安裝。

3.5. Firewall的安全性

目前的Firewall還不夠好, 因為它還敞開著大門等待別人來攻擊。首先, 找到/etc/inetd.conf, 它又被稱為"super server", 因為在上面有超過一打的server daemon被執行。例如:

o Telnet
o Talk
o FTP
o Daytime

取消所有不需要的功能, 例如netstat、systat、tftp、bootp、finger。甚至你可以關掉telnet只允許rlogin或vica-versa。你只要在該功能前加上# 就可以輕易的把它取消掉。利用kill -HUP 送出一個SIG-HUP給inetd, 使inetd 重新去讀取我們剛才改的設定(inetd.conf)同時restart。試試telnet Firewall的port 15(netstat port), 如果你還讀得到netstat的資料, 表示你沒有正確的restart inetd。[譯注: 如果還搞不定, 考慮reboot吧!]

4. Firewall軟體

4.1. 可用的套裝軟體

單純的Firewall除了Linux核心及基本網路套裝軟體(inetd, telnetd和telnet, ftpd和ftp)外不需外加任何軟體, 但這種情況下, 限制極多而且不太好用。所以有些軟體可以使你的Firewall更有用, 我最主要要探討的是一個叫"socks"的Proxy Server。另外, 有兩個軟體你可以記在心中, 我等一下會簡單介紹。

4.2. TIS Firewall Toolkit

TIS 中有一套程式用來進行Firewalling, 這些程式和socks基本上相同, 但采用了不同的設計策略。socks是用一個程式來搞定所有的Internet動作, TIS 則利為不同的功能發展不同的程式。

為了明白說明起見, 就以World Wide Web和telnet作例子吧! 在socks中, 你要設定一個config檔和一個daemon, 透過這個檔案及daemon, telnet及www可以正常使用, 就宛如你沒把它們關掉前一樣。

而在TIS toolkit中, 你要為WWW and Telnet各設一個daemon及config檔。完成之後, 其他的Internet Access仍被禁止, 直到你完成其設定為止。如果某一特定功能沒有daemon(如talk), 你可以使用"plug-in"的daemon, 只是不像其他的工具那樣有彈性且不易使用罷了。

這裡似乎有一點小小的不同, 不過會造成很大的不同——socks 允許你隨便設設就上路, 不過一個設定不良的Socks server, 網路內部的人可以試著得到超出預期的Internet Access權。而TIS toolkit中, 人們只能使用系統管理者所賦與的權限。

Socks易於安裝、易於complie且具有較大的彈性。如果你想嚴格控制網路內的使用者, 則TIS toolkit的安全性較佳。但二者都提供了對外的絕對保護。

4.3. TCP Wrapper

TCP wrapper不是一個Firewalling工具, 但它提供了許多相同的效果。透過TCP wrapper, 你可以控制誰有權Access你的機器和Access那些服務, 同時可以追蹤連線的記錄, 而且它還提供了一個基本的偵測偽裝功能。

TCP wrapper基於一些理由, 並未廣泛的運用:

o 它不算是一個真的Firewall
o 要使用它, 你必須要連上Internet, 因此你得有一個IP 位址
o 它只控制安裝它的「機器」, 對「網路」不能提供很好的服務。Firewall則可以保護每一個架構上的每一個機器。TCP wrapper在Mac及MS Windows機器無法使用。

4.4. IPfw 和 IPfw Admin


5. Proxy Server

5.1. 安裝Proxy Server

Proxy Server需要額外的軟體, 你可以從ftp://sunsite.unc.edu/pub/Linux/system/Network/misc/socks-linux-src.tgz得到你要的寶貝。在sock-conf下同時有一個config檔范例。解壓之後, 跟著指示把它make起來, 我在make時遇到了一籮筐的問題, 確定你的Makefile正確無誤。一件要注意的是記得把Proxy Server加到/etc/inetd.conf裡, 你可以加入下行:

socks stream tcp nowait nobody /usr/local/etc/sockd sockd

5.2. 設定Proxy Server

socks的程式需要兩個configuration檔。一個說明那些Access是被允許的, 另一個則是把請求route到適當的Proxy Server。Access檔必須設在server上。而routing檔則要裝在每部Un*x機器上。DOS 和mac的機器會進行它們自己的routing。

5.2.1. Access檔

在socks4.2 Beta中, Access檔稱為"sockd.conf", 應該包括兩行, 一行允許的(permit), 一行是禁止的(deny), 每行有三個項目:

o 識別字(permit/deny)
o IP位址
o 位址修正值(位址 modifier)

識別字不是permit就是deny, 應該要有一行permit、一行deny。IP位址采用Internet上的標准記法, 例如192.168.2.0。 位址修正值也是采IP位址的格式, 而有netmask 的效果。把它想像成一個三十二位元的二進位數, 若該位元為1, 表示在做位址比較時, 此一位元必須和之前IP位址那一項的該位元相符。例如:

permit 192.168.2.23 255.255.255.255

意思是只有192.168.2.23算是相符, 而

permit 192.168.2.0 255.255.255.0

會允許192.168.2.0到192.168.2.255間的IP 位址, 即整個C Class domain。如果你加入下行:

permit 192.168.2.0 0.0.0.0

則代表你是來者不拒了。所以先允許你要開放權限的位址, 再拒絕其他的位址。例如:

permit 192.168.2.0 255.255.255.0
deny 0.0.0.0 0.0.0.0

會允許所有的192.169.2.xxx, 注意deny行裡的"0.0.0.0" 使用了0.0.0.0做修正, "0.0.0.0"並沒什麼特殊用意, 修正值就拒絕了所有的位址, 用0只是因為打字方便罷了, 你要用255.255.255.255 也沒人攔著你。除這兩行外, 你還可以加上額外的限制。

你也可以permit或deny某一特定的user, 但這需要"ident authenticaiont", 並非所有的系統都有此一功能, 像Trumpet Winsock 就沒有, 所以我就不再深入研究, 以上所做的討論應該已經足夠了。

5.2.2. Routing檔

Routing檔稱作"socks.conf", 很容易跟Access檔搞混。Routing檔用來告訴socks clients何時用socks , 何時不用。例如, 在我們的網路上, 192.168.2.3 和192.168.2.1 (Firewall) talk時就用不到socks , 它們直接用Ethernet相連。因為系統自動定義127.0.0.1作為回路之用, 你和自已talk時當然也不需socks。

檔案中有三個項目:

o deny
o direct
o sockd

Deny指示何時要拒絕請求, 它的語法和sockd.conf同。一般來說, 把修正值設為0.0.0.0 就可以輕易擋掉所有的外來者。direct項指出那些位址不必用到socks , 即不必透過Proxy Server就可連到的地方。同樣有三欄, 識別字、IP位址和位址修正值, 例如:

direct 192.168.2.0 255.255.255.0

這使我們可以在保護網路內直接通行。sockd 項說明那些電腦上有socks server daemon在執行, 語法是:

sockd @=

注意"@="那一欄, 它讓你列出一堆Proxy Server的IP位址。在我們的例子裡, 我們只用一台Proxy Server, 但你可以多設幾個好容納高負載, 同時減少故障停擺的風險, IP位址和修正值用法同前。

5.2.3. Firewall內的DNS

相較之下, 在Firewall內安裝DNS 是很簡單的事, 只要在Firewall的機器上裝個DNS , 並且將Firewall內的機器DNS 設定改成它就行了。

5.3. 使用Proxy Server

5.3.1. Unix

若你的應用程式想要應用Proxy Server, 先絕條件是它們必須是"sockified"型的, 所以你必須有兩個TELNET, 一個是直接連接的, 一個則是透過Proxy Server連接。Socks 有教你怎麼去sockify 一個程式, 同時也有一堆己經sockified 的程式, 如果你使用一sockified 版本去作直接連接, socks 會自動替你轉換成直接版。所以, 我們得把所有保護網內的原有程式改為sockified 的版本, 先將"finger"改為"finger.orig", "telnet" 改成"telnet.orig"等等, 你必須在include/socks.h檔中告訴socks這些資料。

有些程式會自行routing並sockify自己, Netscape就是一個例子。你可以在Netscape中使用Proxy Server, 只要在Proxies 選項中輸入 Server的位址就可以了(在本例中為192.168.2.1)。每個應用程式都會讓你有點手忙腳亂吧!

5.3.2. MS Windows/Trumpet Winsock

Trumpet Winsock 具有內容Proxy Server的能力, 在"setup" menu裡輸入你的server IP位址和其他相關可以直接連通的電腦位址, Trumpet會處理所有外送的封包。

5.4. 使Proxy Server處理UDP 封包

有點美中不足的是socks 軟體只能處理TCP 封包, 而不包括UDP 封包。很多有用的程式像talk, Archie都使用UDP。 有個軟體可以用來當作UDP 的Proxy Server, 叫作UDPrelay, 由Tom Fitzgerald所寫。不幸的是, 到目前為止,
它還不相容於Linux。

5.5. Proxy Server的缺點

Proxy Server是個安全裝置, 用它在有限的IP位址上增加Internet的Access動
作會有一些缺點。Proxy Server允許在保護網路到Internet的大量Access, 卻可以讓外界不能觸及網路內部, 亦即外界的server, talk或Archie, mail都無法真接傳至保護網路內, 看起來沒什麼大不了的, 可是請你仔細想想:

o 你可能在保護網路內用電腦打了一篇報告, 回家之後, 你想把它拿回來看看, 抱歉, 這是不可能的, 你根本無法Access你的電腦, 因為它在Firewall內部。你試著login Firewall, 可是因為每個人都有Proxy Server Access, 所以沒有人為你在上面另設帳號。

o 你和你的女友用email通信, 有些「不可告人」的私事要講, 請她把email直接寄到你的電腦上會比較好, 但是不行。你信任Firewall的管理者沒錯, 但這畢竟還是私人信件。

o 無法處理UDP 封包是Proxy Servers的致命傷, 我想UDP 的用途會愈來愈多。
[例如: CoolTalk... ]

FTP 會造成Proxy Server上的另外一個問題, 當你抓檔或是作一個ls動作時, FTP Server會開一個socket 在client機器上, 並藉由它來傳送資訊。而一個Proxy Server不會允許你這麼做, 所以FTP 就無法順利完成。另外, Proxy Server跑起來挺慢的, 因為overhead太大了些, 其他的方法相形之下就快多了。

基本上, 如果你有一個IP位址, 你也不擔心安全的問題, 也用不到Firewall或是Proxy Server; 如果沒有, 而你也不擔心安全問題, 你可以找找IP emulator 之類的工具, 如Term、Slirp或TIA。Term可以在ftp://sunsite.unc.edu拿到, Slirp 可以在ftp://blitzen.canberra.edu.au/pub/slirp拿到, 而TIA在marketplace.com 上有。這些工具跑起來快多了, 連線也較有效率, 同時由Internet連入內部網路的權限也大多了。Proxy Server適合那些有一大堆主機要連上Internet卻不太想安裝和設定太多東西的人。

6. 進階設定

在結束之前, 我有些設定要交代一下, 之前所說的適合大部分的人。但以下我會談到一些進階的設定來澄清一些問題。如果對之前我所提的你尚有疑問, 或是有興趣了解一下Proxy Servers和Firewall的多彩多姿, 就再讀下去吧!

6.1. 強調安全性的大網路

[譯注: 原文中舉了一個Milwaukee 23rd Discordian Cobal的例子, 術語很多, 而且對不熟當地文化的人幾乎不知所雲, 我乾脆把它整個換成宋七力的
例子, 有點類似, 而且有趣多了。:) ]

如果你是宋七力本尊, 你想建個網路, 參考一下。假設你有50部電腦和一個有32 (5 bits)IP 位址的子網路, 有多重的Access等級, 你要依據不同的等級交代你的手下不同的事情。很明顯的, 你會想把網路中的一部分保護起來, 防止不同等級的人去接觸。
[聲明: 本例純屬虛構, 如有雷同, 純屬巧合。]

這些等級分別為:

1.凡夫級: 泛指可以給所有的人看的, 基本上, 就是一些閒扯蛋, 例如對本尊的流言毀謗之類的。
2.信徒級: 在這裡你告訴他們宇宙光明體的真谛, 還有本尊是個萬能的神的事實。
3.核心級: 真正的精華所在, 在這一級中, 有七人小組所從事的地下活動的資訊, 准備要使接管世界統治權的計劃, 包括了用Photoshop合成的發光照片、用Word排版的宇宙光明論及用Delphi寫的信徒供養資料庫等等。

6.1.1. 網路設計

IP位址安排如下:

o 192.168.2.255, 用作廣播之用。
o 32個IP位址挪出23個, 設給供Internet Access的機器。
o 一個IP給Linux box。
o 一個給網路上另一部Linux box。
o 兩個IP號碼給Router。
o 剩下四個Domain Names設為paul, ringo, john, 和george, 用來掩人耳目。
o 保護網路位址為192.168.2.xxx

建立出兩個分離的網路, 放在顯相紀念館不同的房間中, 使用紅外線Ethernet來做Route , 對外界而言完全隱形。幸運的, 紅外線Ethernet用起來和一般的Ethernet完全相同(我猜想是吧!), 所以可以視為一般的網路。兩個網路各接上一台Linux box。

有一個File Server 連上兩個保護網路, 真是因為接管世界的計劃包含了一部份忠誠的信徒參與。File Server 對信徒級用192.168.2.17, 對核心級用192.168.2.23。
之所以用不同的位址是因為它們用不同的Ethernet卡, IP forwarding己經關了。

兩台Linux box上的IP Forwarding都關了, Router不會把寄給192.168.2.xxx的封包向前傳, 除非另有設定, 因此已算安全, 之所以要關掉IP forwarding是要防止信徒網路接觸到核心網路。

NFS server也可以設計來提供不同的檔案存取權限, 這可以用手動來控制, 但要用到一點符號鏈結的技巧, 使得一些共用檔可供所有人使用。利用這個設定再加上一塊Ethernet卡可以使三個網路都可以分享這些檔案。

6.1.2. Proxy的架設

現在來制定三個網路的Net Access權。凡夫網直接連上Internet, 省得跟Proxy Server攪混, 信徒網及核心網已被包在在Firewall內, 所以凡夫網中不用架設Proxy Server。信徒網和核心網路的架設十分相似, 幾乎設定相同, 因此我加入一些限制條件, 使它有些變化而且有趣一點。

1.不許任何人用File Server 作Internet Access 以防止病毒及其他的惡作劇等。這點十分重要。
2.不允許信徒使用World Wide Web, 外界的流言會影響他們的忠貞。

所以信徒網Linux box上的sockd.conf檔設定如下:

deny 192.168.2.17 255.255.255.255

核心網機器上則是:

deny 192.168.2.23 255.255.255.255

信徒網還要加上這一行:

deny 0.0.0.0 0.0.0.0 eq 80

這樣可以防止任何機器使用Port 80, HTTP Port, 但其他的服務仍然是開放的, 除了浏覽WEB 之外。然後兩邊的檔中還要加上:

permit 192.168.2.0 255.255.255.0

使得192.168.2.xxx的電腦可以使用這個Proxy Server, 除了己經被拒絕者之外。(ie. File Server 和信徒網上的web Access) 信徒網的sockd.conf看起來如下:

deny 192.168.2.17 255.255.255.255
deny 0.0.0.0 0.0.0.0 eq 80
permit 192.168.2.0 255.255.255.0

核心網的檔案應該如下:

deny 192.168.2.23 255.255.255.255
permit 192.168.2.0 255.255.255.0

這樣應該就行了, 每個網路都是獨立的, 只允許有限度的接觸, 大家都如願了。

[譯注: 為了第六章, 我推敲了一下午, 總算搞懂作者的意思( 或者是完全誤會了作者的意思, 畫一張圖讓大家能更快進入狀況。


Copyright © Linux教程網 All Rights Reserved