![]() |
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(36):PPP協議 |
![]() |
PPP協議通過電話連接使用IP協議有兩種協議,一種為SLIP協議,另一種為PPP協議,FreeBSD支持這兩種協 議,但是SLIP協議已經過時,當前已經很少有ISP使用這種方式提供接入服務了,而PPP協議則成為了標准。 建立一個PPP連接需要以下過程:
FreeBSD對PPP提供了兩種不同方式的支持,一種為內核級PPP,它將PPP協議代碼編譯進內核,并運 行一個PPP守護進程pppd,提供對PPP的支持,這是一種傳統的方法,但配置起來較困難。另一種為用戶級PPP, 它使用一個應用程序ppp,通過通用tunnel設備傳遞PPP數據,配置較為容易。一般情況下可以使用用戶級PPP 來建立撥號方式的Internet連接。 要建立PPP連接,首先要檢查串口、modem和電話線連接是否正確。可以使用一些通信軟件來幫助進行診斷, 例如minicom,如果使用minicom能正常撥號,并在撥ISP的撥號服務器時能出現username和password 提示,就說明串口和modem的配置正確無誤。接下來就可以配置PPP連接。
用戶級PPP使用tunnel設備進行PPP數據的傳遞,因此內核中必須支持相應的tunnel設備,通常為 tun0。缺省內核中支持這個偽設備(pesudo-device tun),/dev目錄下也具備相應的設備文件t un0。如果同時需要多個撥號連接,就可以增加內核中支持的偽設備數量和相應的設備文件。 要使用ppp,還需要設置它的配置文件,這些文件位于/etc/ppp目錄中。缺省情況下,/etc/ppp 目錄下安裝了這些文件的例子:
這些以sample結尾的文件都給出了最常用的配置,因此只需復制生成正確的設置文件,再稍加修改, 就能用于使用者自己的撥號連接。
ppp.conf是用戶級PPP的主要配置文件,可以從ppp.conf.sample生成適合自己的ppp.conf。ppp.conf 文件使用帶有冒號的標簽標識不同的選項,第一項標簽通常為default:,用于設置缺省的選項。
注意default:為這一項的標簽,必須位于一行的開始,而其他的行是這一項的具體配置,因此使用一個空白 字符開頭。否則語法錯誤就造成不能ppp不能正常建立連接的問題。 第一個設置set log用于設置連接過程中要記錄的日志內容,這有助于幫助解決連接過程中出現的故障﹔第二 項設置set device設置連接使用的串口設備,本文件中設為第三個串口cuaa2﹔第三項設置了串口與mode m的連接速度,115200為PC常用的串口通信芯片UART 16550的最大通信速率﹔第四項在該medom上屏 蔽線路質量請求lpr﹔最后一項為發送到medom的一些命令和相應的回應,通常稱這些為交談腳本(chat script ),上例中這個設備跨越了兩行,實際上它應該位于同一行內。 設置了default項之后,就可以進入ppp程序測試這些設置是否正確了。
進入ppp程序之后,輸入term命令可以進入終端模式,這個模式下用戶可以直接輸入modem認可的AT指 令控制modem,本例中使用atdt 163撥接163,連接之后系統將進行提示輸入用戶名和口令,此后ppp就建 立起PPP連接,而ppp的提示符改變為大寫的PPP。
使用手工輸入的連接方法不很方便,而且也不適合使用PAP或CHAP等安全認証方式的連接,因此 最好在ppp.conf對指定的連接進行配置。這要求對每個要連接的ISP,都配置相應的設置。例如對CHINANET 的接入,使用下列chinanet標簽配置:
這個例子中使用chinanet作為設置的標簽,設置了電話號碼為163,登錄時使用sername匹配對用 戶名的提示Username,接收到這個字符串后自動輸入用戶名pppuser,使用word匹配對口令的提示Pas sword,然后自動輸入口令。這里只使用了提示信息的一部分來進行匹配,這是為了避免匹配時出現問題。對于不同的系 統,這些提示還有所不同,對于使用Unix作登錄服務器的提示為通常的Login,而大多數專用撥號服務器的提示為U sername。 set ifaddr用于設置本地PPP連接的IP地址,由于PPP協議在客戶和服務器之間協商客戶的IP地 址,通常由撥號服務器從自己控制的自由IP地址池中分配給撥號的計算機一個動態IP地址,因此這里的設置只是客戶端對 地址協商進行的限制。可以針對本地要申請的IP地址,和遠端計算機的IP地址進行限制,本地的IP地址和網絡掩碼為s et ifaddr的第一個參數,而遠端的IP地址和網絡掩碼為set ifaddr的第二個參數,前兩個參數的網絡 掩碼是用于限制IP地址所在的網絡,可以是真實網絡的網絡掩碼,也可以不是,第三個參數才是用來指定PPP界面使用的 網絡掩碼。 一般情況下,不需要對雙方的IP地址范圍進行限制,撥號之后可以接受任意的IP地址,就如上例中設置本地IP 地址和遠端IP地址的限制網絡掩碼長度都為0,由于網絡掩碼長度為0使得任意IP地址都符合要求,此時掩碼前面的IP 地址就沒有意義了。 如果想讓撥號的計算機擁有一個靜態IP地址,就必須設置網絡掩碼為32,明確指定IP地址,此時也可以省略掩 碼,直接使用IP地址本身。例如,本地每次連接都使用靜態IP地址192.168.1.98,另一端的IP地址為19 2.168.1.64,那么這一項就應為: set ifaddr 192.168.1.98 192.168.1.64 255.255.255.0 使用靜態IP地址就能使FreeBSD使用固定的IP地址,從而能使用DNS域名,以方便提供更多的服務。然 而,這個set ifaddr的配置命令可以更靈活,可以在協商IP地址時指定本機使用的IP地址范圍,或者指定對方 所在的IP地址范圍,進行地址限制。例如: set ifaddr 192.168.1.98/24 192.168.1.64/24 255.255. 255.0 這種限制撥號網絡IP地址范圍的機制對于使用自動撥號的情況十分有用,通常可以使用帶參數的命令ppp -a uto將ppp程序放入后台,一旦有網絡請求就立即撥號建立連接。但是FreeBSD上有多個網絡界面,就需要判斷這 個網絡請求需要使用哪個撥號網絡界面進行網絡傳輸,否則如果使用錯誤的撥號網絡進行撥號,即使建立了連接,也不能找到 目的計算機建立連接。由于每個連接請求中都具備目的IP地址,便需要根據這個IP地址來進行判斷。然而普通的撥號網絡 在建立連接之前是沒有分配IP地址的,因此還是無法確定對這個IP地址的連接請求應該通過那個撥號網絡界面進行傳輸。 但是,如果指定了ppp網絡界面的IP地址范圍,就可以根據這個地址范圍來判斷連接請求中的IP地址是否在這個范圍內 ,以決定是否使用這個網絡界面進行撥號。 delete all指出刪除不必要的路由配置,add 0 0 HISADDR指出將缺省路由設為對方的地 址,由于使用動態IP時,在建立連接前對方的IP是未知的,因此使用HISADDR代替。如果已知撥號服務器的IP地 址,也可以直接填上這個IP地址。也可以不將撥號服務器作為缺省路由,而只將它作為對某個子網的路由,那么在這個配置 中就不可以使用0作為IP地址和網絡掩碼,必須使用正確的IP地址和子網掩碼進行設置。例如add 192.168. 1.0 255.255.255.0 HISADDR,就將對方作為通向192.168.1子網的路由器。事實上這些 設置路由的指令等價于執行對應的route指令,以設置路由,如route add 192.168.1.0 HIS ADDR -netmask 255.255.255.0。 然而對于動態分配IP的情況,問題在于在ppp進行撥號的時候,對方的IP地址HISADDR還沒有確定,因 此這些設置路由的指令往往不能正確執行。必須在撥號完成,建立了PPP連接之后,HISADDR才能確定,因此設置路 由的命令應該放在更合適的位置:ppp連接建立之后立即執行的文件ppp.linkup中。
ppp.linkup文件格式與ppp.conf文件相同,它在PPP連接建立后執行,執行與撥號使用的標簽 相同的項,以及客戶獲得的地址為標簽的項。通常使用MYADDR表示本機得到的IP地址,因此這個標簽下的內容都將執 行﹔而192.168.1.98項表示獲得這個地址時增加下面的路由,最后一項以chinanet為標簽,與ppp. conf相同,表示進行這個chinanet撥號后執行的相關動作,其中包括在后台執行的取郵件的腳本ppp.fet chmail。 如果撥號服務器要求使用PAP或CHAP認証,而不是普通的登錄認証方式,則要在ppp.conf中的使用不 同的配置選項:
使用authname和authkey來定義PAP或CHAP認証方式下的用戶名和口令,就能連接到使用PAP或CHAP 的撥號服務器,而具體使用哪種認証方式則由撥號服務器決定。
設置了針對具體撥號連接的配置之后,撥號就非常方便了,直接使用該撥號服務的標簽進行操作。
使用ppp的dial命令發起連接之后,ppp連接被建立,提示符也由原來的小寫ppp>變為大寫PPP>, 這就表示PPP連接已經正確設立了。這個時候如果使用ifconfig進行查看,就可以看到網絡界面tun0 已經設置正確,并可以使用了。 當要結束連接時,使用close或quit命令關閉連接。結束連接時將執行/etc/ppp目錄下的ppp.linkdown 腳本。ppp.linkdown腳本和ppp.linkup格式相同,都會依據相同的標簽執行操作。 如果使用者租用了一條模擬專線,專門用于Internet連接。這樣就不希望每次傳輸時都重新進行連接,而希 望建立一條永久連接,ppp在后台自動撥號連接到Internet上,并一直維護這個連接。這樣就可以使用-ddial 參數啟動ppp。
-ddial參數使得ppp立即使用相應參數對應標簽設置的撥號連接建立永久連接,而不管有沒有實際的 數據傳輸。而絕大多數情況下,使用者并沒有租用專線,還是希望在有數據傳輸時才建立網絡連接,在沒有 數據傳輸時斷開網絡連接,以減少電話連接時間。這樣就可以使用-auto參數啟動ppp。
這樣啟動的ppp將一直停留在后台,但并不立即進行連接,而是在應用程序發出網絡請求時才進行撥 號,這個網絡請求的目的地址應該在chinanet標簽定義的網絡地址范圍內。而如果一段時間內沒有任何數據 傳輸,就斷開連接(這個時間由set timeout命令設置,單位為秒)。
-background選項使PPP立即進行撥號,并停留在后台。但與-auto不同在于,在一段沒有數據傳輸的 時間間隔后ppp將斷開連接,但是ppp程序也停止執行,而不象auto參數那樣,ppp一直駐留在后台監視網絡 連接,要再次建立連接必須重新執行ppp程序。這個選項適合最普通的網絡客戶,使用戶能明確什么時候才 建立連接。
ppp程序的另一個有用的選項是alias。如果撥號用戶內部有自己的局域網,用戶或許希望讓整 個網絡內的計算機共享一個撥號連接。使用ppp的alias選項能使FreeBSD將局域網上的網絡連接請求中的 本地IP地址替換為FreeBSD系統的ppp網絡使用的IP地址,從而使其他用戶也能訪問外部網絡。-alias參數 應該和auto或ddial參數聯合使用,以駐留在后台提供服務。這種方式比較簡潔、易用,當然代理服務器 和網絡地址轉換的方法能提供更多的控制能力。 當使用這些參數執行ppp程序時,ppp程序將切換在后台維護PPP連接。然而由于ppp程序在后台運行,就 無法輸入指令以控制ppp程序的執行。為了方便使用者控制后台運行的ppp程序,ppp提供了通過socket連接 的方式來接受外部輸入。為了支持這個特性,便需要設置set server選項。
這個選項將使ppp程序監聽6670端口,并使用MySecretpassword作為連接時認証的口令,以免ppp程序 被非法控制。此后,就可以使用pppctl向ppp程序發送指令,這些指令都是ppp的標准指令。
除了使用標准的Intenet套接字接收pppctl的連接之外,ppp還能通過本地Unix套接字來接收輸入。這 就需要設置一個套接字使用的文件及其訪問屬性,具備更好的安全性。
而在pppctl中應該使用對應的參數以指明相應的Unix套接字:
PPP協議只是定義了兩台計算機之間如何進行通信的方式,并沒有定義如何進行撥號建立連 接。用戶級PPP由于以應用程序的方式來實現了PPP協議,因此它可以集成撥號程序,使用起來很方 便。但內核級PPP并非如此,它使用一個守護進程pppd來實現ppp協議,因而必須首先使用外部撥號 程序建立連接。內核級PPP比較難以使用,因此FreeBSD使用者通常使用用戶級ppp。 但是pppd是實現PPP協議的最早方式,其他繼承BSD Unix網絡代碼的Unix系統中也使用這種 PPP實現方式,這樣pppd使用的廣泛性就不僅局限于FreeBSD。很多使用者對內核級PPP進行封裝, 實現了多種圖形化的連接工具,假如想使用這些圖形化撥號連接工具的話,就需要對pppd有一定了 解。因此這里只對pppd的撥號方式加以簡單介紹,事實上使用ppp程序建立連接更為常用和方便。 用來配合pppd的撥號程序有很多,最常使用的是chat,此外如kermit、tip也可以用于和 pppd進行配合。由于撥號程序要和pppd相互配合,因此需要將要發送給撥號程序的命令放入一個 文件中,而在啟動撥號程序時使用相關參數告訴它到該文件中讀取命令。 對于chat撥號程序,通常將它的撥號程序命名為chat.script,放在/etc/ppp目錄下。
使用chat -f /etc/ppp/chat.script可以啟動chat進行撥號,chat程序等待PPP服務器發送 Username:提示,發送用戶名,等待PPP服務器發送Password:提示,發送用戶口令。然而,chat程序 只能負責撥號,至于撥號完成之后的任務,就必須由pppd來負責了。 pppd使用網絡界面ppp0,當然可以在內核配置中增添配置值并重新編譯核心,就可以根據需 要增加可使用的ppp界面的數量。例如將可以使用的ppp界面改變為3個,則內核配置文件應包括 “ pseudo-device ppp 3” ,這樣在重新編譯內核,建立相應的設備文件并重新啟動后,就可 以使用ifconfig命令來查看可以利用的網絡界面:
內核還可以配置ppp界面在傳輸時對ppp數據進行壓縮,事實上用戶級ppp和內核級ppp都支持 傳輸壓縮,但內核級ppp多支持兩種方式,一種是ppp的BSD壓縮標准,另一種為delalte壓縮標准。一 般都可以在內核配置中加上這兩個選項,使ppp連接中可以使用這些選項,以提供更高的傳輸效率。 那么內核配置文件中的ppp相應配置應包括:
內核級ppp使用的配置文件也放在/etc/ppp目錄下,文件名為options,此外各個用戶可以使 用自己的配置文件~/.ppprc。
defaultroute項將在ppp連接設定之后,將缺省網關設置為PPP服務器上﹔domain設置本機的 域名﹔crtscts告訴ppp使用modem的硬件流量控制,如果硬件不支持這種方式,就只好使用另一種軟 件流量控制方式為xonxoff﹔modem行使ppp使用DCD信號來判斷連接是否正常,有無掉線現象﹔deflate 使pppd使用defalte壓縮方式﹔idle設置了一個時間限制,當在300秒的時間內沒有數據傳送,就斷 開連接﹔lock則創建一個鎖定文件,其他程序在發現存在這個文件后,就能得知相應的串口已經被使用。 配置好配置文件之后,就可以使用pppd進行連接了:
缺省情況下,使用pppd命令立即進行撥號連接,在超過idle參數設定的時間內沒有數據傳送的條 件下斷開連接并退出。然而在options文件中可以使用persist參數告訴pppd建立一條永久連接,或者使 用demond參數告訴pppd停留在后台,監視網絡數據,一旦有要求就立即進行連網,超時后就斷開連接, 但pppd仍然停留在后台等待下次數據傳送。這兩種形式分別等價于ppp程序的ddial和auto模式。
FreeBSD不但能夠能通過PPP協議和遠程撥號服務器相連接,也能夠提供撥號服務,讓其他計算 機能夠撥入本機。事實上PPP協議本身,并不沒有區分客戶機和服務器,PPP服務器只需要比客戶機多完 成一些額外的工作,如用戶認証、分配IP等。然而PPP必須建立在已經設定好的連接上,而為了設定連 接,撥號服務器和客戶端的設置就有不同的地方。首先在硬件上,服務器上的modem必須能接受連接, 建立物理連接,然后服務器和客戶軟件要進行額外的驗証過程,最后雙方才啟動ppp,設定ppp連接。
早期的Unix使用字符終端訪問主機,將字符終端通過串口連接到計算機上之后,就能通過這些 終端登錄進Unix系統了。但是FreeBSD下缺省屏蔽了串口的終端登錄過程,要完成這個任務,管理員還 必須更改/etc/ttys文件,為串口指定一個getty進程,以監視串口,一旦發現有連接請求,便立即啟動 登錄進程login接受用戶的登錄。 在/etc/ttys中有下面的行是與串行端口相關的,對應于個人計算機的四個串口,使用getty進程 進行監控,但缺省狀態為off,并沒有打開這個功能。如果要使用某個串口進行終端連接,就需要改變相 應行的設置為on,同時還可以改變第三列中的終端類型設置及最后一列的安全設置。
getty的第一個參數std.9600指明了串口的各項參數,這個參數在/etc/gettytab中定義 ,定義了如波特率、校驗方式、數據位、停止位以及流控方式等。缺省使用9600,指明了連接速率為9600bps,現 代串口連接通常使用的連接速率要比這個設置高,因此要根據自己的串口和modem的型號,選擇gettytab中的更 高速率,如std.19200或std.57600。 更改系統之后,可以使用kill -1 1使FreeBSD重新讀取ttys文件,或者重起計算機,才可以使 用終端連接。這時在連接在串口上的終端鍵盤上按下几次回車鍵后,字符終端將連接到計算機上,會出現登錄提示。如果沒有 出現提示,就說明終端設置和使用的gettytab文件中的設置項不匹配,可以更改終端設置或gettytab文件中 的設置,使兩者使用的校驗、停止位、流控等設置選項保持一致。 如果沒有專用的字符終端設備,可以使用終端仿真軟件,如Windows下的超級終端,Unix下的minicom 等,都能通過串口登錄到FreeBSD下。 可以看到,使用串口連接,那么再加上modem和電話,就能夠使得遠程計算機能連接到這個FreeBSD系統 上了。對于提供登錄服務的計算機來講,并不會注意一個連接是從串口直接相連的,還是通過modem建立的。然而這就要 設置服務器的modem,必須設置為能進行應答,以接通客戶計算機打入的電話來設定連接。因此必須首先初始化modem ,需要使用AT命令AT&C1&D2&S0=1&R2&W。可以通過mi nicom或ppp的term模式,直接輸入這個AT指令設置modem。 當雙方都配置好串口,連接設置好modem,并且連接上電話線之后,兩台遠程計算機相連接的准備工作就完成了 。這時可以使用通信軟件,例如minicom或kermit,從一台計算機遠程登錄到另一台計算機上,除了需要撥號, 與本地連接沒有什么兩樣。
如果遠程計算機能正常登錄進入FreeBSD,那么說明撥號連接沒有問題,那么下一步就是分別配置PPP客 戶端和服務器端。事實上對于PPP來講,建立連接之后,客戶端和服務器端就沒有區別了,區別在于建立連接的 過程中,服務器要驗証用戶的登錄并為其分配IP地址等。 使用用戶級PPP和內核級PPP均可實現PPP服務器,由于用戶級PPP配置起來更為容易,因此更為常用。同樣,這 也需要更改配置文件/etc/ppp/ppp.conf。
以上是一個ppp程序做撥入服務器的設置例子,這個例子中允許普通可以啟動這個ppp程序,并打開了代 理ARP功能,使其他計算機能通過這個計算機同客戶正常通信,為連接上的客戶計算機分配IP地址。 當ppp客戶計算機連接到ppp服務器上之后,通過ppp服務器的路由能力,ppp客戶就能和外部計算機通信了。 并且兩個ppp客戶機之間的通信也必須經過ppp服務器轉發。由于在每個ppp客戶看來,其他的ppp客戶是與它自己位于 同一個網段內,因而它就廣播ARP請求詢問對方的MAC地址,以便進行直接通信。而在事實上,ppp客戶之間并沒有物理 連接,它們之間無法直接通信,因而廣播的ARP請求也不可能傳送給目的計算機。此時,具備代理ARP能力的ppp服務器 就能代替某個客戶,回應發送ARP請求的客戶。此后這個客戶就以為ppp客戶的物理地址就為ppp服務器的物理地址,所 有的數據包都先轉發給ppp服務器,然后它再轉發到另一個ppp客戶機中。這個代理內部的計算機回應ARP請求的功能就 被稱為Proxy ARP,它能夠對外隱藏內部的網絡結構,如內部子網或ppp連接。 同時配置PPP用戶的登錄腳本為立即啟動使用服務器標簽的ppp程序,因此一個簡單PPP用戶登錄腳本應為:
direct參數就用于在標准Unix認証之后,立即啟動ppp進程,使客戶端直接與服務器端ppp交談,以建立ppp 連接。這個文件應該是一個可執行的文件,最簡單的登錄腳本可以讓不同的PPP用戶共同使用一個撥號服務器標簽, 更復雜的情況應該為每個撥號用戶都設置獨立的選項,并在登錄腳本區分用戶,啟動不同的撥號選項。 由于getty在接收到連接請求之后,就立即執行login認証過程,因此系統認証提示為Login,而與前面ppp客 戶設置中使用Username的認証提示不同,需要修改前面的設置,才能使用前面的認証登錄上服務器。但也由于getty 必須執行login認証,因此使用getty作為ppp服務器的端口監控進程,就無法進一步支持PAP或CHAP認証。為了支持這 些復雜的認証方式,就需要使用mgetty或類似的端口監控進程來監視是否有連接請求。 在FreeBSD的Handbook中有使用mgetty設置ppp服務器的例子。
除了最常見撥號連接上Internet之外,還可以利用ppp程序的功能來完成其他几種任務。在缺省的ppp.conf中 給出了几個例子,這些例子能幫助使用者進一步了解ppp程序的能力。
使用串口線直接連接與使用medom除了不需要撥號之外并無不同,但是通常要在兩端都使用LQR,用于 幫助判斷電纜的連接情況。此時客戶端的ppp.conf中的設置應為:
而ppp服務器應該設置為:
可以將PPP建立在TCP網絡連接之礎上,而非通過電話網絡,這樣就在TCP/IP網絡上建立了一條 PPP通道。tcp-client為客戶端計算機的設置,這里使用一個網絡連接作為連接設備,tcpsrv為遠程計 算機的主機名,1234為tcpsrv上的TCP端口:
tcp-server為服務器端計算機的設置:
當ppp客戶端使用tcp-client進行連接時,它將向tcpsrv的1234端口發送ppp連接請求。這就要求 tcpsrv能偵測到對1234端口的連接請求,并啟動ppp服務器來建立連接。因此就可以使用inetd監聽上面 定義的端口1234,并負責啟動ppp服務器。就需要在/etc/services中應該增加相應的端口:
修改好inetd.conf之后,向inetd發送SIGHUP信號使得其重讀設置文件。然后就可以使用ppp建 立虛擬連接了。在ssh等加密傳輸軟件的幫助下,還可以進一步設定為安全的虛擬通道連接。
在ppp的auto模式下,需要根據超時設置斷開連接,但是網絡中一些協議會定時發送一些數 據包,這些數據包主要用于保持網絡數據的及時更新,大部分情況下不影響網絡應用。但是這些數 據包會引起ppp刷新時間設置,從而使得ppp一直保持撥號連接。 這時可以使用ppp的過濾機制中的afilter過濾器,它定義了在auto模式時應濾掉的數據包, 使得數據包不會影響超時時間。下面的三行分別不允許ICMP包和DNS包通過,最后一行允許其余的包 通過。
使用dial參數的情況下,也有相似的限制,這時使用dfilter主要來限制icmp數據包。
另外,還可以使用包過濾能力,按照端口、地址來允許或屏蔽某些TCP數據包。
ifilter表示對進入的數據包進行過濾,ofilter表示對出去的數據包進行過濾,因此上 面的設置允許進行WWW瀏覽(80端口),并允許與192.168.1.0這個網段內的計算機進行連接。每 一個過濾器最多可以定義20個規則。
當一個局域網上的一台FreeBSD通過PPP連接到Internet上之后,其他計算機也能通過這台FreeBSD 訪問Internet,從而共享同一條撥號線路。這必須使用ppp的alias選項啟動ppp,這樣當內部計 算機的數據包到達這台FreeBSD之后,由ppp將這些數據包中的IP地址更換為本機ppp界面上的IP,同時也會 對端口地址進行調整,再發送到外部的Internet上。 要完成這個任務,還需要將這台FreeBSD配置為允許轉發IP數據包,在/etc/rc.conf中配置 gateway的值為YES。但為了使得路由保持正確,不能啟動routed或gated等動態路由程序,因為這些程序 會動態更改路由表,如果改動與ppp相關的路由數據,就會使得FreeBSD不能正確路由數據包。 使用這種連接方式,再加上ppp的簡單過濾能力,FreeBSD就能作為一個簡易的具備一定防火牆能力的 Internet訪問網關,能夠提供整個內部網絡訪問Internet的能力,并將內部網與Internet相隔離。然而 這個簡易的撥號網關僅限于使用ppp界面,并且功能也有限。FreeBSD提供了更強大的防火牆能力,能完成要求更為 復雜的各種任務。 未完,待續。。。 |
||||||||||||||||||||||||||||||||||
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(36):PPP協議 | |||||||||||||||||||||||||||||||||||
Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved
版權所有 四通利方 新浪網