moetora_banna
counter
todaydailycounter today yesterdaydailycounter yesterday
illustlated by 茜猫さん


[RSS 配信中] [トップページ] [このページについて]
[Linux Tips]
[Ubuntu(Feisty):メールサーバ] [Ubuntu:Cyrus IMAP + SSL] [Ubuntu:fglrx + Xgl + Beryl(0.2.0以前] [Ubuntu:fglrx + Xgl + Beryl(0.2.1以降)] [Gentoo:mplus-outline-fonts] [Ubuntu:arpspoof] [Ubuntu:logwatch] [Ubuntu:DPMS on Xgl] [Ubuntu:日本語入力 on Xgl] [Ubuntu:PDFへのフォント埋め込み] [Ubuntu:Compiz で widget] [Ubuntu:Thinkpad のファン調節]
[注目されたっぽい記事一覧]
[東大のなのはポスター] [lolifox特集] [ウイスキーマガジンライブ]

Log Search


Log


Mozilla!

Get Firefox!
Get Thunderbird!

Link




Linux での IIJ4U IPv6 接続 (流れ)
IPv6によるインターネット接続「IPv6仮想アクセス」提供開始のお知らせ
というのが4月末に出て,Windows ではすぐ試したのですが,Linux では接続できていなかった私...
時間ができたのでコンフィグとにらめっこしながら,なんとか成功させました.
とりあえずまとめておきます.
まずは,利用するアプリケーションのインストール.
# apt-get install pptp-linux
基本的にはこれだけ.
あとはこいつを如何にして使うか,が問題なわけです.
こいつのコンフィグファイルは,/etc/ppp/ 以下に入っているのですが,頑張っていじってみることにします.
/etc/ppp/peers/ 以下に各接続のコンフィグが入るので,そこに適当なファイルを作ってあげます.
今回は,iijv6 という名前で作成.
# vi /etc/ppp/peers/iijv6
pty "/usr/sbin/pptp ipv6a.2iij.net --nolaunchpppd"
name iijv6 # この接続に適当な名前をつけます.
remotename ipv6a.2iij.net # 接続先サーバ名を書きます
user YOUR_ACCOUNT # 自分の PPPoE アカウント名を書きます.
password YOUR_PASSWORD # 自分のアカウントのパスワードを書きます.
lock
usepeerdns # 書いてはみたけど,意味ないらしい.
mtu 1400 # 適当に MTU を設定.ただし,1280以上じゃなきゃだめ.
mru 1400 # 適当に MRU を設定.ただし,1280以上じゃなきゃだめ.
lcp-echo-failure 10 # 何回まで失敗していいか
lcp-echo-interval 10 # リトライ間隔の秒数
require-mppe-128 # これは必須のはず
require-chap # これは必須のはず
nobsdcomp # おまじない
require-mschap # おまじない
require-mschap-v2 # おまじない
passive # おまじない
noip # IPv4 なんか使わねーよ,と明記.
ipv6 ::dead:beef:dead:821 # IPv6 を使うことを明記.引数としてインタフェースの識別子が必要.(*1)
debug # デバッグメッセージが /var/log/messages に出る
kdebug 7 # 同じく,デバッグメッセージが /var/log/messages に出る.
nodeflate
noauth # おまじない
noccp # これは必須!!(*2)
ipv6 オプションの引数となるインタフェースの識別子が曲者.
とりあえず,今は何も考えずにリンクローカルアドレスの下64ビットを指定してやればいい.(詳しくは下にまとめた注釈参照)
自分の場合だと,
$ ifconfig eth0
inet6 addr: fe80::dead:beef:dead:821/64
この赤字の部分を指定しました.# もちろん実際は違うアドレスが表示されますよ,はい.
以上のように指定してあげて
# pon iijv6 (*3)
なんて打ってあげると,
$ ifconfig ppp0
inet6 addr: 2001:240:bb8a:87:dead:beef:dead:821/64 Scope:Global
とか出ました.そして,
$ ping6 www.wide.ad.jp -n
64 bytes from 2001:200:0:1::5: icmp_seq=1 ttl=57 time=7.17 ms
64 bytes from 2001:200:0:1::5: icmp_seq=2 ttl=57 time=7.86 ms
64 bytes from 2001:200:0:1::5: icmp_seq=3 ttl=57 time=7.86 ms
という感じで成功しました!(*4)
いやー,長い道のりだった...
Linux での IIJ4U IPv6 接続 (注釈)
上で書いた流れの細かいところを補完しておきます.

(*1)
ipv6 オプションについてよく分からんので,man を見てみると,
$ man 8 pppd
ipv6 <local_interface_identifier>,<remote_interface_identifier>
Set the local and/or remote 64-bit interface identifier.
Either one may be omitted.
The identifier must be specified in standard ascii notation of IPv6 addresses (e.g. ::dead:beef).
なんて書いてました.
例として,"::dead:beef" なんて取りあげるのは趣味が悪い気がしましたが,逆に IPv6 アドレスの表現力の豊かさに感動したりしました.

(*2)
よくわかってないのですが,このオプションはとにかく必須.
CCP (Compression Control Protocol) のネゴを無効にするらしいです.
ここでかなり長い時間ハマってました...

(*3)
pon コマンドは,/etc/ppp/peers 以下のファイルを探します.
なので,/etc/ppp/peers/iijv6 が設定ファイルの場合は,iijv6 指定で OK.

(*4)
実は,IPv6 グローバルアドレスがついたのを確認した後に,意気揚々と ping6 を試したら
$ ping6 www.wide.ad.jp
unknown host
なんて返ってきやがりました.
うちは,Buffalo のブロードバンドルータが DNS キャッシュサーバになってるんですが,どうやらこいつは,AAAA レコードを理解してくれないらしい...
$ dig @192.168.11.1 AAAA www.wide.ad.jp # 192.168.11.1 がブロードバンドルータ
;; QUESTION SECTION:
;www.wide.ad.jp. IN AAAA
なんて感じで,見事に答えてくれません.
というわけで,DNS のキャッシュサーバを IIJ4U のに書き換えて再挑戦しました.
# vi /etc/resolv.conf
nameserver 210.130.1.1
これで上で書いたように ping6 が通りました.
いやー,最後の最後でやってくれました,Buffalo...
大事なお知らせ
  • ここに書いてあるのはあくまで自分の環境での成功例なので,皆さんの環境で動くかどうかは責任とれません.
  • 動かなくても僕に質問を投げないでください.
  • もちろん IIJ4U とか IIJmio とかにも聞かないでね.