[email protected] (完全變態校警5號) 的大作中提到: 】
: pppoe只要針對連外的那張就可以了,不是嗎??!!
: 改一下/etc/ppp/ppp.conf
: default:
: set log Phase Chat LCP IPCP CCP tun command
: nat enable yes
這行其實可以不加,因為 /etc/defaults/rc.conf 已經寫了
ppp_nat="YES" 。
: nat same_ports yes
: nat use_scokets yes
這兩行,用得到的人再加。考量因素很多,先不寫出來。
: set redial 15 28800
: set reconnect 15 28800
這兩行可以不加,因為已經在後面提到的 /etc/rc.conf
加上了 ppp_mode="ddial"。
這樣會使得 ppp自己在斷線後預設每卅秒重新連線一次。
所以要擔心的是 /var/log/ppp.log ,視需要修改
/etc/syslog.conf跟 /etc/newsyslog.conf。
: pppoe:
: * set device PPPoE:vr0:
: set mru 1492
: set mtu 1492
這兩行不加也可以工作,因為 ppp會自己改。但是加了較好。
: set speed sync
可以不必設。通常這行是為了 modem的資料壓縮功能而設。
: enable lqr
: set lqrperiod 5
這兩行設定比較適合用在傳統 modem吧?
lqr 預設值是 disable,不主動、但接受並可回應對方發的 lqr。
這是因為通常不能保證連線雙方的設備都有支援 lqr。
而且 ppp預設每五秒會檢查一次 carrier。
(就是 set cd 5 那個設定)
這樣還有需要發封包檢查連線品質嗎?
: set cd 5
這是預設值,可不加。
: set dial
: set login
: set timeout 0
當 ppp在 ddial模式執行的情況下,set timeout 這行會被 ppp
忽略不看。
在 ddial模式下,ppp 不允許因為沒有封包通過就自動斷線的
情況發生。
: * set authname [email protected]
: * set authkey password
: set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
: add default HISADDR
: enable dns
: 在 /etc/rc.conf裡加入
: network_interface="auto"
這行是預設值可以不寫,它已經出現在 /etc/defaults/rc.conf。
如果要嚴謹一點,就把 auto 換成用得到的網卡就好。
舉例來說 "vr0 vr1 lo0"
: ifconfig_vr0="inet 10.0.0.1 netmask 255.0.0.0 -arp up"
可以不寫,而且也不必給 vr0 一個 IP 位址。
ppp 會自動把連到 ATU-R的網卡帶起來,
另外ISP 給的 IP 設定會套用在 tun0 。
: ppp_enable="YES"
: ppp_mode="ddial"
: ppp_profile="pppoe"
: defaultrouter="10.0.0.1"
非必要,在 ppp.conf 裡面的 add default HISADDR 會
將局端的 IP 設為 defaultrouter。
: gateway_enable="YES"
這行應該放在下面屬於 nat的設定,它的意思是要在這部機器的網卡之間
繞送網路封包。所以這部機器才能當內部網路的 gateway。
: #要做nat就再加入下面的設定
: ifconfig_vr1="inet 192.168.0.254 netmask 255.255.255.0"
: firewall_enable="YES"
: firewall_type="OPEN"
: natd_interface="vr0"
: natd_enable="YES"
不加上面四行也可以工作。
ppp 有自己的 nat,而且預設是啟動的。
(ppp_nat="YES" in /etc/defaults/rc.conf)
ppp 也有自己的 packet filter,只是功能有限。
如果只想架個簡單的 gateway,可以不必啟動 IPFW + NATD。
這樣不用讓系統背負 IPFW + NATD的負載。
另外,不想用 IPFW + NATD的話,可以用 IPFILTER + IPNAT + IPMON。
: 在區網的電腦要分享連線把其他電腦的ip設為192.168.0.x netmask 255.255.255.0
: gateway設192.168.0.254 dns設為hinet的,這樣就可以了。
: 這是以hinet為例,系統是freebsd4.4以後,以前的版本要在kernel加入一些設定
: #pppoe
: option NETGRAPH
: option NETGRAPH_PPPOE
: option NETGRAPH_SOCKET
這三行可以不加,系統會動態將所需的模組帶入 kernel。
如果真的要編進 kernel 的話,那還應該加上 NETGRAPH_ETHER。
可以用 kldstat -v 來分辨目前載入的模組有無編進 kernel。
: #nat方面(這個一定要加,不用nat不用加)
: option IPFIREWALL
: option IPDIVERT
: option IPFIREWALL_DEFAULT_TOACCEPT
: 再編譯核心。
如同 /etc/rc.conf 裡面的 FIREWALL + NATD 設定。單純只用
ppp nat 的話就不用加。其實這些也可以動態載入。
option IPFIREWALL_DEFAULT_TO_ACCEPT 還是不要用吧。去改
/etc/rc.conf,加上 firewall_type="open" 或是 "OPEN" ,
這樣應該比較好。
以上出處
man rc.conf
man ppp.conf
/usr/share/doc/en_US.ISO8859-1/books/ppp-primer/index.html
/usr/share/doc/en_US.ISO8859-1/books/handbook/ppp.html
/usr/share/doc/en_US.ISO8859-1/books/handbook/pppoe.html
/usr/src/sys/i386/conf/LINT
最後要說,所有設定都是可以很有彈性的,不過還是要弄清楚細節之後,
取捨利弊再論定。BSD 之強大,如雙面刃,還是小心點兒好。
有寫錯的地方,請告訴我,謝謝。 :)
--
Nicolas Hsu
Math Computing Lab, Grad. 1997
National Central University
--
※發信站 [中央數學 織夢天堂 bbs.math.ncu.edu.tw]
‧FROM [61-224-249-127.HINET-IP.hinet]
【 在