采用PPPOE管理用戶是比較方便的,只需要設定用戶和密碼就什麼都不用管了。
選擇FREEBSD還是LINUX是個問題,以前我就是用的FREEBSD,感覺不是很穩定。現在又准備用LINUX。 GOOGLE了一下,看到 http://www.jraitala.net/comp/articles/2002/pppoe/ 如上地址的結果。所以就選擇了LINUX。 況且LINUX上面有SHOREWALL作為軟件防火牆,功能比較好,不用自己編IPTABLES的規則。
選擇什麼樣的發行版作為這個帶PPPOE防火牆呢? 首先這個操作系統要安裝簡單, 然後最好內置所有制作這個防火牆需要的軟件, 我還希望我的PPPOE能和RADIUS服務器聯合起來使用,這樣管理起來更加方便。
我在CENTOS、UBUNTU和FC5中作了個選擇,我選擇了FEDORA 5。 CENTOS帶的PPPD不支持RADIUS的PLUGIN 需要自己編譯pppd,要支持內核模式的PPPOE需要重新編譯rp-pppoe UBUNTU和FEDORA 5都代支持RADIUS的pppd,UBUNTU的pppd版本還是最新測試版,但他們兩個都需要重新編譯RP-PPPOE來支持內核模式的PPPOE。 他們都帶freeradius。還都帶shorewall。
我選擇了用得最順手的FEDORA。 新裝好的fedora作pppoe服務器會不能用,於是我將rp-pppoe3。8下載下來重新編譯,發覺還是不能用,於是又將其編譯為內核模式,pppoe服務器就能夠使用了。 到rp-pppoe的src目錄下面 ./configure --enable-plugin然後make install 就好了。 在啟動pppoe-server的時候記得加上-k的參數(內核模式的PPPOE)。
試著不改動系統原來的配置文件啟動一下你的pppoe-server,記得給pap-secrets文件添加用戶。其實這樣就已經可以用了。
然後撥號上來的用戶還需要上網,這時就需要配置shorewall了。對於我們這個簡單的需求,我修改了interfaces文件和zone文件,修改了masq文件,由於每個文件裡面本來就有詳細的配置使用說明,我就不多說了,然後啟動shorewall,網絡就可以用了。 masq文件的內容大概是這樣的: eth0 172.18.6.0/24 eth0是我的外網界面。 對於這種情況的shorewall的配置大概是這樣的。 eth0外網 eth1撥號的界面 eth2服務器區 interface 文件 loc ppp+ net eth0 dmz eth2
zone文件 loc ipv4 net ipv4 dmz ipv4
masq文件(172.18.2.0是撥號分配的地址) eth0 172.18.2.0/24
police文件和rules文件的編輯就看你的喜好了。 常用的police文件是這樣的: loc net ACCEPT net all DROP all all DROP 常用的rules文件大概是這樣的: DNAT net dmz:172.18.3.1 tcp http - - - 3/sec:10 DNAT net dmz:172.18.3.1 tcp ssh,http - - - 3/sec:10
當然,shorewall支持的高級配置是很多的,如果需要屏蔽bt,你還可以編譯ipp2p模塊,shorewall 也支持的。 編輯rules文件: DROP loc net ipp2p all
其實基本的shorewall配置由於document比較齊全,查看一下,很好弄的
摘自:chinaunix.net
[ 關閉窗口 ]