NAPT配下のIX2105でTunnel BrokerのIPv6アドレスを取得する

はじめに

我が家では部屋の壁にLANポートがついており、マンションのインターネット接続サービスが利用できるようになっています。 そこに接続するとマンション管理のプライベートIPv4アドレスが降ってきて、マンションのゲートウェイを経由してインターネットに抜けられます。 このプライベートIPv4アドレスを持ったIX2105とTunnel Broker間でIPv6 over IPv4トンネルを張り、IPv6アドレスを使えるようにします。

f:id:jackson58:20200712150638p:plain
ネットワーク構成図

Tunnel Brokerとは

Tunnel Brokerとは、アメリカのISPの1つであるHurricane Electric社がIPv6アドレスを開発や実験の目的で利用したいユーザーに対して無償で提供してくれるサービスです。 IPv4ネットワークを用いてIPv6 over IPv4トンネルをHE社とユーザーの間で張ることでIPv6ネットワークへの到達性を得ることができます。

Tunnel Brokerへの登録

IPv6アドレスの割り当てをしてもらうため、Tunnel Brokerにユーザー登録を行います。

その後トンネル作成を行います。 このとき自分のIPアドレスを入力する場所がありますが、NAPTで利用されるグローバルIPアドレスを入力します。

f:id:jackson58:20200712151802p:plain
NAPTで使用されるグローバルIPを入力する

IX2105の設定

Tunnel BrokerとのIPv6 over IPv4トンネリング

IPv6アドレスを割り当ててもらうために、Tunnel BrokerとのIPv6 over IPv4トンネリングの設定を行います。

interface Tunnel0.0
  description he.net ipv6
  tunnel mode 6-over-4
  tunnel destination 74.82.46.6
  tunnel source GigaEthernet0.0
  no ip address
  ipv6 address 2001:470:XX:YYY::2/64 ★IPv6 Tunnel EndpointsのClient IPv6 Addressに記載されているv6アドレス
  no shutdown
exit

この時点でIPv6 Tunnel EndpointsのServer IPv6 Address(上記コンフィグを例にすると 2001:470:XX:YYY::1)宛にpingが飛ぶようになります。

LAN側インターフェース

次に自サイトの端末が使用するIPv6アドレスの設定を行います。 ここではGE1.0に対して設定を行います。既にGE1.0に対してIPv4系の設定がしてあっても問題ありません。

ipv6 ufs-cache enable
ipv6 route default Tunnel2.0

interface GigaEthernet1.0
  ipv6 address 2001:470:AA:BBB::1/64
  ipv6 nd ra enable
  ipv6 nd ra managed-config-flag
  ipv6 nd ra other-config-flag
  no shutdown

アクセスリスト

上記までの設定でIPv6での通信ができるようになりましたが、外部から直接アクセスされる状態になっています。 ここでは中から外の通信、ICMPを許可し、外部が起点の通信をブロックする設定を行います。

ipv6 access-list acl-deny deny ip src any dest any
ipv6 access-list acl-icmpv6 permit icmp src any dest any
ipv6 access-list acl-permit permit ip src any dest any
ipv6 access-list dynamic dflt-list access acl-permit

Tunnelインターフェースにアクセスリストを適用します。 GE1のほうに書かないように気を付けてください(端末からIX2105への通信がブロックされます…)

interface Tunnel0.0
  ipv6 filter acl-icmpv6 1 in
  ipv6 filter acl-block 100 in
  ipv6 filter acl-icmpv6 1 out
  ipv6 filter dflt-list 100 out
exit

loggingの設定を行うことでアクセスリストによってブロックされた通信を確認することができます。

logging subsystem flt warn

をした上で、show logging を実行するとログを確認できます。

これで設定完了です。 自端末にIPv6アドレスが降られてるのを確認したらhttp://www.kame.net/ にアクセスしてみてカメが踊っているか確認してみましょう。

おわりに

IPv6 over IPv4トンネルを張るにはグローバルのIPv4アドレスが必要なのかなと思ってたんですが、archwikiを眺めてたらNote: If you are behind a NAT (typical home router setup), use your local IPv4 address for client_IPv4_address, e.g. 192.168.0.2. と記載があり、グローバルアドレスは関係ないと分かったのでIXを使って試してみました。

これを機にIPv6の勉強をしていきたいと思います。

参考