NTT西日本のフレッツ・光プレミアムでインターネットとフレッツ網を使おう

利用環境

制限事項

NTT西日本光プレミアムの裏側及び総評でも述べられている通り、NTT西日本フレッツ・光プレミアムでは以下の難点がある。

ネットワーク構成

上記の制限事項をふまえ、OCN向けとフレッツ向けにそれぞれPPPoE接続をするように、2台のFreeBSD boxesを用意して、例えば、我が家の場合、設定の煩雑さよりも配線の容易さを優先して、図のような構成にした。FreeBSD 1にNICを増設して、それをフレッツ側に接続する方法もあり得る。

ネットワーク構成図

ここで、FreeBSD 1はheimat.gr.jpのプライマリDNSサーバであり、宅内LANで利用するproxyサーバでもある。

設定例

FreeBSD 1ではOCNへPPPoE接続する

vr0をCTUのLAN2につないでいる。

/etc/ppp/ppp.confの設定

default:
 set device PPPoE:vr0
 set log Phase Chat IPCP CCP tun command
 set speed sync
 set MRU 1438
 set MTU 1438
 set ctsrts off
 set timeout 0
 accept CHAP
 enable tcpmssfix

ocnip8:
 accept lqr
 enable lqr
 set cd 5
 set dial
 set login
 set redial 0 0
 set authname OCNの認証ID
 set authkey OCNの認証パスワード
 set reconnect 5 5
 add default HISADDR

/etc/ppp/ppp.linkupの設定

ocnip8:
 ! ifconfig tun0 delete
 ! ifconfig tun0 xxx.xxx.xxx.xxx netmask 255.255.255.248 HISADDR
 add! default HISADDR

/etc/rc.confでppp起動の設定

### PPP
ppp_enable="YES"
ppp_profile="ocnip8"
ppp_ocnip8_mode="ddial"
ppp_ocnip8_nat="NO"
ppp_ocnip8_unit="0"

FreeBSD 2でフレッツ網につなぐ

bfe0をCTUのLAN3につないでいる。

/etc/ppp/ppp.confの設定

こちらには常につながっている必要がないので、auto modeにする。

default:
 set device PPPoE:bfe0
 set log Phase Chat IPCP CCP tun command
 set speed sync
 set MRU 1438
 set MTU 1438
 set ctsrts off
 set timeout 0
 accept CHAP
 enable tcpmssfix

flets:
 set timeout 600
 set authname flets@flets
 set authkey flets
 add! 10.0.0.0/8 HISADDR
 nat enable yes

/etc/rc.confでppp起動の設定

ppp_enable="YES"
ppp_nat="YES"
ppp_profile="flets"

DNSの設定

FreeBSD 1で動かしているnamedでfletsドメインの名前解決ができるようにする必要がある。

/etc/namedb/named.confにfletsドメインに関する情報を追記する

zone "flets" {
        type forward;                                      
        forward only;                                      
        forwarders {
                10.60.21.72;
                10.60.21.73;
        };
};

経路設定

宅内LAN(192.168.1.0/24)ではDHCPで経路情報を配ることにする。宅内LANに関するDHCPサーバは、NetBSD/i386で動作している。

NetBSD/i386の/etc/dhcpd.confに静的経路情報を設定する

subnet 192.168.1.0 netmask 255.255.255.0 {
  option subnet-mask 255.255.255.0;
  option routers 192.168.1.1;                ## デフォルトルート
  option netbios-name-servers xxx.xxx.xxx.xxx;
  option static-routes 10.0.0.0 192.168.1.4; ## フレッツ網の10/8への経路
  range 192.168.1.100 192.168.1.254;
}

NetBSD/i386では/etc/route.confを書く

net 10.0.0.0 -netmask 255.0.0.0 192.168.1.4

FreeBSD 1やFreeBSD/pc98でも/etc/rc.confで静的経路情報を設定する

static_routes="flets"
route_flets="10.0.0.0/8 60.32.13.193"

動作確認

PPPoE接続の確認

FreeBSD1$ ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1438
        inet 60.32.13.194 --> 210.247.16.1 netmask 0xfffffff8 
        Opened by PID 55104

FreeBSD2$ ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.183.6.178 --> 210.247.16.1 netmask 0xffffffff 
        Opened by PID 1345

経路情報の確認

FreeBSD 2で

$ netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0     2938   bge0
10.0.0.0/8         210.247.16.1       UGS         1        7   tun0
127.0.0.1          127.0.0.1          UH          0       40    lo0
192.168.1.0/24     link#2             UC          0        0   bge0
192.168.1.1        00:10:4b:26:69:7b  UHLW        2       62   bge0   1166
210.247.16.1       10.183.6.178       UGH         1        0   tun0

FreeBSD 1で

$ netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            210.247.16.1       UGS         0   132540   tun0
10                 60.32.13.193       UGS         0     1891    xl0
60.32.13.192       ff:ff:ff:ff:ff:ff  UHLWb       1      141    xl0 =>
60.32.13.192/29    link#1             UC          0        0    xl0
60.32.13.193       00:30:05:0c:cf:82  UHLW        2   511082    xl0    357
60.32.13.194       127.0.0.1          UH          0     5039    lo0
60.32.13.195       00:00:4c:17:57:3c  UHLW        1   642032    xl0     22
60.32.13.197       00:00:4c:63:55:83  UHLW        1   162301    xl0     26
60.32.13.199       ff:ff:ff:ff:ff:ff  UHLWb       1     1257    xl0
127.0.0.1          127.0.0.1          UH          0  2561701    lo0
210.247.16.1       60.32.13.194       UH          1       44   tun0

Windows Vistaで

route printコマンドを使う。

IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイ
ス  メトリック
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.253     20
         10.0.0.0  255.255.255.255      192.168.1.4    192.168.1.253     21
        127.0.0.0        255.0.0.0        リンク上         127.0.0.1    306
        127.0.0.1  255.255.255.255        リンク上         127.0.0.1    306
  127.255.255.255  255.255.255.255        リンク上         127.0.0.1    306
      169.254.0.0      255.255.0.0        リンク上     192.168.1.253     30
  169.254.255.255  255.255.255.255        リンク上     192.168.1.253    276
      192.168.1.0    255.255.255.0        リンク上     192.168.1.253    276
    192.168.1.253  255.255.255.255        リンク上     192.168.1.253    276
    192.168.1.255  255.255.255.255        リンク上     192.168.1.253    276
        224.0.0.0        240.0.0.0        リンク上         127.0.0.1    306
        224.0.0.0        240.0.0.0        リンク上     192.168.1.253    276
  255.255.255.255  255.255.255.255        リンク上         127.0.0.1    306
  255.255.255.255  255.255.255.255        リンク上     192.168.1.253    276
===========================================================================

DNSの確認

www.fletsを引けるか

FreeBSD1$ host www.flets.
www.flets has address 10.60.21.101

FreeBSD2$ host www.flets.
www.flets has address 10.60.21.101

残っている課題

参考文献