IPv6 トンネルブローカー設定
関連記事
Hurricane Electric は IPv6 に IPv4 だけしか使えないホストから接続することができる無料の トンネルブローカー サービスを提供しており、Arch でも比較的簡単に使うことができます。
以下の手順は SixXS トンネルでも通用します。
目次
トンネルの登録
特に難しいことはありません。トンネルブローカーサイトにアクセスして登録を済ませるだけです。
SixXS トンネルの設定
まず、aiccu と radvd のインストールが必要です。
そして /etc/aiccu.conf
を編集してデータを入力してください。複数のトンネルを使用する場合、ファイルの中に tunnel_id オプションを記述する必要があります。以下は動的な ayiay トンネルの例です:
username <username> password <password> protocol tic server tic.sixxs.net ipv6_interface sixxs automatic true requiretls true pidfile /var/run/aiccu.pid defaultroute true makebeats true behindnat true
次のコマンドで設定をテストしてください:
# systemctl start aiccu
設定に問題がなければ NetworkManager に以下のディスパッチャスクリプトを追加することで、ネットワークに接続されたときにすぐ起動するようにできます。起動時にネットワークが必ずつながっているとは限らないため、systemd でサービスを有効化しても起動できません。詳しくは FS#38221 を参照。
/etc/NetworkManager/dispatcher.d/99-aiccu
#!/bin/bash # -*- coding: utf-8 -*- # Manual Running/Test: ./99-aiccu eth0 up if [ -e /sys/fs/cgroup/systemd ]; then case "$2" in up) systemctl start aiccu.service ;; down) systemctl stop aiccu.service ;; esac fi
Hurricane Electric トンネルの設定
以下の systemd ユニットを作成してください。太字の部分は HE から取得した IP アドレスに置き換えます:
/etc/systemd/system/he-ipv6.service
[Unit] Description=he.net IPv6 tunnel After=network.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/ip tunnel add he-ipv6 mode sit remote Server_IPv4_Address local Client_IPv4_Address ttl 255 ExecStart=/usr/bin/ip link set he-ipv6 up mtu 1480 ExecStart=/usr/bin/ip addr add Client_IPv6_Address dev he-ipv6 ExecStart=/usr/bin/ip -6 route add ::/0 dev he-ipv6 ExecStop=/usr/bin/ip -6 route del ::/0 dev he-ipv6 ExecStop=/usr/bin/ip link set he-ipv6 down ExecStop=/usr/bin/ip tunnel del he-ipv6 [Install] WantedBy=multi-user.target
そして he-ipv6.service
を起動・有効化します。
systemd-networkd
systemd-networkd でネットワークの接続を管理している場合、(.service
ファイルを使わずに) 一緒にトンネルブローカーの設定も行なってしまうことができます:
/etc/systemd/network/he-tunnel.netdev
[Match] [NetDev] Name=he-ipv6 Kind=sit MTUBytes=1480 [Tunnel] Local=<local IPv4> Remote=<tunnel endpoint> TTL=255
/etc/systemd/network/he-tunnel.network
[Match] Name=he-ipv6 [Network] Address=<local IPv6> Gateway=<IPv6 gateway> DNS=2001:4860:4860::8888 DNS=2001:4860:4860::8844 [Route] Destination=::/0
そして、デフォルトのインターネット接続に使っている .network
ファイルの [Network]
セクションに以下の行を追加してください:
Tunnel=he-ipv6
動的 IPv4 IP でトンネリングを使う
定期的にアドレスを更新する cron ジョブを設定するのが、動的な IPv4 IP でトンネリングを使用する最も簡単な方法です。crontab -e
を開いて、以下の行を追加してください:
*/10 * * * * wget -O /dev/null https://USERNAME:PASSWORD@ipv4.tunnelbroker.net/ipv4_end.php?tid=TUNNELID >> /dev/null 2>&1
wget によってエラーが吐き出されないことを確認してください。USERNAME, PASSWORD, TUNNELID はあなたのアカウントやトンネルの情報に置き換えて下さい。まずはコマンドを実行してみて問題がでないことを確認しましょう。以下を実行すれば確認できます:
wget https://USERNAME:PASSWORD@ipv4.tunnelbroker.net/ipv4_end.php?tid=TUNNELID