FreeBSD PPPoE設置指導
對于FreeBSD PPPoE設置的知識,我們今天就來系統地講解一下。那么分為四個步驟來幫助大家學習。首先是環境,看看我們的搭建環境以及一些相應的條件。之后對于編譯,配置和啟動內容再來詳細看看。
FreeBSD PPPoE設置== .0. == 環境
網絡環境:
*DSL PPPoE連接;
硬件準備:
- - pentium II 233mhz MMX
- - 10G
- - 128 meg RAM
- - 2 x Intel eepro100
- - alcatel 1000 DSL external modem
- - one ethernet interface connected to DSL modem (10Mbit, half duplex)
- - one ethernet interface on LAN (100Mbit, half duplex)
軟件準備:
最小化安裝的FreeBSD (3.4+或4.1+)
c/c++編譯環境
內核源代碼樹
ppp和pppd (內置)
在一般情況下,推薦使用FreeBSD 4.8 / 4.9及配套源代碼
注意:
在連接外網的NIC上不需要配置IP地址,只要ifconfig把這個接口UP起來即可,在內網地址上可以配置靜態IP地址,作為FW/NAT使用。
性能: 在233M CPU的機器上,運行FreeBSD 4.8作為一個NAT/PPPoE網關,當系統內存為48M時,平均負載大約為4%,在celeron 800 + 128M Ram時,負載低于1%;在更多的網絡客戶端連接和更大流量情況下,負載會有一定上升;如果啟用了較多的防火墻規則或使用了狀態檢測的話,可能需要更多內存(但是一般情況下128M足夠了)。
FreeBSD PPPoE設置== .1. == 編譯
在內核配置文件中加入如下行(FreeBSD 4.1以上版本):
- options NETGRAPH #netgraph(4) system
- options NETGRAPH_ASYNC
- options NETGRAPH_BPF
- options NETGRAPH_CISCO
- options NETGRAPH_ECHO
- options NETGRAPH_FRAME_RELAY
- options NETGRAPH_HOLE
- options NETGRAPH_IFACE
- options NETGRAPH_KSOCKET
- options NETGRAPH_LMI
- options NETGRAPH_MPPC_ENCRYPTION
- options NETGRAPH_PPP
- options NETGRAPH_PPPOE
- options NETGRAPH_PPTPGRE
- options NETGRAPH_RFC1490
- options NETGRAPH_SOCKET
- options NETGRAPH_TEE
- options NETGRAPH_TTY
- options NETGRAPH_UI
- options NETGRAPH_VJC
- {
- 在FreeBSD 3.*版本中配置如下:
- options NETGRAPH
- options NETGRAPH_ASYNC
- options NETGRAPH_BPF
- options NETGRAPH_CISCO
- options NETGRAPH_ECHO
- options NETGRAPH_FRAME_RELAY
- options NETGRAPH_HOLE
- options NETGRAPH_IFACE
- options NETGRAPH_KSOCKET
- options NETGRAPH_LMI
- options NETGRAPH_PPP
- options NETGRAPH_PPPOE
- options NETGRAPH_PPTPGRE
- options "NETGRAPH_RFC1490"
- options NETGRAPH_SOCKET
- options NETGRAPH_TEE
- options NETGRAPH_TTY
- options NETGRAPH_UI
- options NETGRAPH_VJC
- }
根據你所選擇的防火墻類型(Ipfilter或IPFW),可能還需要加入如下配置:#p#
- ## (for ipfilter)
- options IPFILTER
- options IPFILTER_LOG
- options IPFILTER_DEFAULT_BLOCK
- ##
- ## (for IPFW)
- options IPFIREWALL
- options IPFIREWALL_DEFAULT_TO_ACCEPT
- options IPFIREWALL_VERBOSE
- options IPDIVERT
- ##
配置完成之后,編譯并安裝:
# cd /usr/src && make buildkernel KERNCONF=配置名 && make installkernel KERNCONF=配置名
FreeBSD PPPoE設置== .2. == 配置
編譯和安裝成功后,修改ppp配置文件/etc/ppp/ppp.conf:
- ##
- default: # or name_of_service_provider
- set device PPPoE:fxp0 #替換fxp0為你的網卡接口設備名
- set MRU 1490
- set MTU 1490
- set authname YOURLOGINNAME #PPPoE用戶名
- set authkey YOURPASSWORD #PPPoE密碼
- set log Phase tun command
- set dial
- set login
- set ifaddr 10.0.0.1/0 10.0.0.2/0
- add default HISADDR
- nat enable yes
- set cd off
- set crtscts off
- set redial 0 0
- papchap:
- set authname #PPPoE用戶名
- set authkey #PPPoE密碼
- ##
配置完成后,運行:
# ppp -dedicated
FreeBSD PPPoE設置== .3. == 啟動
如果一切順利,那么可以設置fw和PPPoE為自動啟動,在/etc/rc.conf中添加如下配置:
- ## /etc/rc.conf
- ppp_enable="YES"
- ppp_mode="dedicated"
- ppp_nat="YES"
- ppp_profile="default"
- ## (如果使用IPFW)
- gateway_enable="YES"
- firewall_enable="YES"
- firewall_quiet="YES"
- natd_interface="fxp0"
- natd_enable="YES"
- ## (如果使用ipfilter)
- gateway_enable="YES"
- ipfilter_enable="YES"
- ipnat_enable="YES"
***,就根據你自己的情況進行防火墻規則的配置吧。