{網絡A}==網卡a:RRAS:網卡b=={網絡B}
一、預備知識:
1、實際中常需要針對具體應用作限制,那么網管就需要了解:常用服務、應用所用的協議及端口,可查閱winnt\system32\drivers\etc\protocol和文件services。如WEB服務器所用的http使用tcp:80口;ftp要使用tcp:20口來傳數據,tcp:21口來控制;ping命令依賴協議號為3的ICMP協議。
2、TCP會話連接建立過程,以客戶機訪問WEB服務器(192.168.0.1)為例說明:
?。?)客戶機-->服務器,發出會話請求:192.168.0.1:80口在嗎?
?。?)客戶機<--服務器,服務器會應答:在呀!我們怎么交談?
?。?)客戶機-->服務器,發出它的建議:我使用1300口和你的80口交談,怎么樣?
這樣服務器使用眾所周知的http的默認80口,與客戶端的大于1024隨機任意的1300口建立了會話連接。這就是著名的TCP連接過程中的三次握手。
后面為了描述方便,簡述為:客戶機以任意端口去連WEB服務器的默認tcp:80口。其它應用、服務也是一樣,如客戶機以任意端口去連FTP服務器的默認tcp:20和21口;以UNC路徑(形如:\\192.168.0.1或\\server或\\server.mcse.com)或網上鄰居去訪問網絡共享時,是客戶機以任意端口去連服務器的默認tcp:139或tcp:445口,注意這里是“或”,已在2000計算機環境中實驗證明。
3、任何宏觀上的訪問過程的本質都是兩向的,即源向目標發出請求,目標向源返回答。兩個方向都通,用戶才能看到宏觀上的訪問(或者說通了)。如下圖,B訪問A將依次經過1—4這4步:
(2) ?。?)
<--網卡a-RRAS<--網卡b—
—網卡a -->RRAS—網卡b -->
(3) ?。?)
4、輸入還是輸出篩選器,是指經過具體網卡,是進入還是離開RRAS這臺計算機的而言的。以B網段客戶機B1以任意端口去連A網段WEB-A服務器的默認80口為例,篩選器應做如下配置。說明:端口不配或配置為0表示任意端口。
?。?)網卡b上,輸入篩選器。源:B,端口:0 ;目標A端口:80;
?。?)網卡a上,輸出篩選器。源:B,端口:0 ;目標A端口:80;
?。?)網卡a上,輸入篩選器。源:A,端口:80;目標B端口:0;
?。?)網卡b上,輸出篩選器。源:A,端口:80;目標B端口:0;
二、分析:能否實現A到B通,B到A不通。
1、若是針對所有應用(對應任意端口)實現,答案是否定的。
2、若是針對單項應用,如前面提到的客戶機訪問WEB服務器,可以實現。即:
A網段用戶能訪問WEB-B服務器,B網段用戶不能訪問WEB-A服務器。
原理:配置好RRAS后,A到B,B到A,就都是通的。關鍵要把B到A的WEB-A設成不通。將前述4步,任意一步阻斷,就可實現。也就是說有4種方法,理論上講在(1)上設效果最優,但實際上差別不大。
3、既然單項應用可以實現,我們可以多做幾條篩選器,把常用的應用、服務都羅列上,近似可以實現1中的要求。
三、操作方法如下:
開始/程序/管理/路由和遠程訪問/IP路由選擇/常規/接口/右鍵屬性/常規:輸入/輸出篩選器。
說明:
1、注意對話框上面的選項是:接收(還是丟棄)所有除符合下列的條件以外的數據包。這兩名話翻譯的不好,可按如下理解:接收所有,除了下列數據包;丟棄所有,除了下列數據包。
2、在源網絡和目標網絡設置中什么都不選:相當于“任何”。另外:
指定某一個IP,形如IP地址:192.168.1.100,子網掩碼:255.255.255.255。
指定一個網段,形如IP地址:192.168.1.0,子網掩碼:255.255.255.0。
3、在端口上不配,或配置為0:相當于“任何”。
4、TCP(已建立的),指先前已建立好的TCP連接所用的數據包。這一選項平常一般用不到,除非一個連接已建立且不允許斷開,而網管又要馬上做篩選器設置。
5、注意區分UDP與TCP端口,即使它們使用相同的端口數值,也不能理解為同一個。
6、DHCP客戶與DHCP服務器之間所有的通信都利用udp:67和68口進行。
7、ICMP協議是ping命令的應答所依賴的協議,它的協議號為3。如果不想應別ping你的計算機,可以在RRAS篩選器中禁用它。直接指明ICMP,或協議選其它,協議號上輸入:3,這兩種方法都可以。注意:ICMP代碼和類型是不選或255表示:任何。
8、在網上鄰居/屬性/本地連接/屬性:TCP/IP—高級—選項—TCP/IP篩選,相當于一個簡單的輸出篩選器。實驗中發現基于它的第三項IP協議號來阻止ping無效,怎么設都能ping通。但TCP/IP篩選在2000P/XP上非常有用,因為在2000P/XP上是不能安裝RRAS的。