アーカイブ

6rd設定方法(Vyatta編)

さくらの6rd(トライアル)>6rd設定方法(Vyatta編)

ここでは、Vyattaにおける6rdの設定方法について説明します。
※ 設定前にトップページの「提供条件」を必ずお読みください。

ネットワーク構成例

例として、以下のようにグローバル側(eth0)にIPv4アドレス59.106.69.117が設定されたVyattaの設定方法を説明します。LAN側インターフェイス(eth1)に6rd経由で使用可能なIPv6アドレスを設定し、6rd CE(カスタマエッジ)ルータとして動作させます。

6rd対応Vyattaインストールメディアを作成する

Vyattaはまだ標準で6rdに対応していませんが、銀座堂の浅間さんが6rdに対応するためのパッチを作成されています。ここではそちらを用いて6rdをサポートする手順をご紹介します。

まずは、以下のページにアップされているCD-ROM ISOイメージを取得します。

▽ 浅間さんのブログ
http://bougaidenpa.org/masakazu/archives/96

▽ CD-ROM ISOイメージのURL
http://enog.jp/~masakazu/vyatta/vyatta-livecd-1102031519-7353197.iso

ISOイメージのダウンロードが完了したら、CD-Rメディアなどに書き込み、インストールメディアを作成します。

Vyattaをインストールする

作成したインストールメディアを用いて、Vyattaをインストールします。NICが2枚刺さったサーバを用意してください。ここでは、インストールの手順は省きますので、以下のURL等を参考にしていただければと思います。(説明されているバージョンが古いのですが、手順はそのまま使えます)

▽ GIGAZINE: パソコンを業務用途にも耐えうる高性能ブロードバンドルータにしてしまう「Vyatta」
http://gigazine.net/news/20080426_vyatta/

6rdの設定を行う

Vyattaのインストールが終わったら、早速6rdの設定を行います。以下コマンド中の青文字部分は、それぞれの環境に読み替えてください。

Vyattaにログインし、コンフィグモードに移行します。

vyatta@vyatta-6rd:~$ configure
[edit]
vyatta@vyatta-6rd#

IPv4アドレスとデフォルトゲートウェイを設定します。以下のように入力してください。

set interfaces ethernet eth0 address 59.106.69.117/27
set protocols static route 0.0.0.0/0 next-hop 59.106.69.97

続いて、6rd経由で使用可能なIPv6アドレスを算出します。コンフィグモードでそのまま入力可能です。

printf "2001:e41:%02x%02x:%02x%02x::1\n" 59 106 69 117
2001:e41:3b6a:4575::1

表示されたIPv6アドレスを用いて、6rdトンネルインターフェイスの設定を行います。

set interfaces tunnel tun0 6rd-prefix 2001:e41::/32
set interfaces tunnel tun0 address 2001:e41:3b6a:4575::1/32
set interfaces tunnel tun0 encapsulation sit
set interfaces tunnel tun0 local-ip 59.106.69.117
set interfaces tunnel tun0 mtu 1280
set interfaces tunnel tun0 ttl 64
set protocols static route6 ::/0 next-hop 2001:e41:3dd3:e07d::1

最後にLAN側インターフェイスの設定を行います。RA(Router Advertisement)の送出も行います。設定の反映(commit)を忘れないようにしてください。

set interfaces ethernet eth1 address 2001:e41:3b6a:4575::1/64
set interfaces ethernet eth1 ipv6 router-advert prefix 2001:e41:3b6a:4575::/64

commit

設定を確認する

設定が完了すると、以下のようになります。

[edit]
vyatta@vyatta-6rd# show
 interfaces {
     ethernet eth0 {
         address 59.106.69.117/27
     }
     ethernet eth1 {
         address 2001:e41:3b6a:4575::1/64
         ipv6 {
             router-advert {
                 prefix 2001:e41:3b6a:4575::/64 {
                 }
             }
         }
     }
     tunnel tun0 {
         6rd-prefix 2001:e41::/32
         address 2001:e41:3b6a:4575::1/32
         encapsulation sit
         local-ip 59.106.69.117
         mtu 1280
         ttl 64
     }
 }
 protocols {
     static {
         route 0.0.0.0/0 {
             next-hop 59.106.69.97 {
             }
         }
         route6 ::/0 {
             next-hop 2001:e41:3dd3:e07d::1 {
             }
         }
     }
 }

IPv6での通信が可能になっているはずですので、ping6やtraceroute6コマンドで疎通性を確認してみてください。