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:

Back to top