PPPOEを使ってインターネット
はじめに
pcやサーバをインターネットに接続するにはインターネットルータが必要です。
量販店にいけばcoregaなどのメーカーから3,000円も出せば買えてしまいますがやはり安いだけあってそれなりのスループットで高負荷時の安定性もそれなりになってしまいます。
PCにFreeBSDをインストールしてPPPOEを喋らせることで格安機器の何倍もの性能を持つPPPOEルータが手に入ります。
設定方法
/usr/src/sys/i386/conf/MYKERNEL に以下を追記してkernelを再構築して下さい。
options IPDIVERT options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 options DUMMYNET #options IPSEC #options IPSEC_ESP options TCP_DROP_SYNFIN options MSGBUF_SIZE=40960 # for PPPoE options NETGRAPH # for PPPoE options NETGRAPH_ETHER # for PPPoE options NETGRAPH_PPPOE # for PPPoE options NETGRAPH_SOCKET # for PPPoE
/etc/ppp/ppp.confを以下で作成
default: set device PPPOE:ed0 set MRU 1454 set MTU 1454 set log Phase Chat LCP IPCP CCP tun command accept CHAP set speed sync set mru max 1454 set mtu max 1454 set ctsrts off set timeout 0 # add default HISADDR enable tcpmssfix disable deflate disable pred1 deny pred1 disable lqr deny lqr nat enable yes ISP-NAME: add default HISADDR set authname ISP_Account@example.com set authkey ISP_Password
起動スクリプトを/etc/rc.confに記述
TCP Extensions and MTU discovery and MSS 問題回避のため tcp_extension を無効にします。
tcp_extensions="NO"
このFreeBSDマシンをルーターとして利用するには次の設定も必要です。
gateway_enable="YES"
自動起動設定
ppp_enable="YES" ppp_mode="ddial" ppp_profile="-unit0 ISP_NAME" ppp_nat="YES" #firewall がある場合以下の設定も必要 firewall_enable="YES" firewall_script="/etc/rc.ipfw"
firewallは必ず設定してください。PPPOEで接続するとFreeBSDがグローバルIPを持つことになり全世界のHOSTから接続可能な状態になります。
基本defaultでは全てのportを塞ぎ自分で必要なportのみ開けるように設定して下さい。
created: