pfSenseでフレッツのIPv6を通す(IPv6 NAT)
はじめに(前提・いいわけ)
- ひかり電話なし
- IPv6 NAT してしまうとエンド to エンド通信ができなくてよろしくないみたいなのは一度置いておく
- pfSense だと ND Proxy がないので普通に IPv6 を通すことは(ひかり電話なしでは)できない
- 手順といいつつ、終わったあとに書いているので手順がかなり怪しいです。
手順
IPv6 を許可する
System - Advanced - Networking の一番上、All IPv6 traffic will be blocked by the firewall unless this box is checked
にチェックが入っていることを確認する
WAN に IPv6 を通す
DS-Lite で接続しているなら既に済んでいるはず。
ONU に向かっている Interface(普通にやっていたら WAN)の IPv6 Configuration Type
を SLAAC
に設定。これでよしなに IPv6 のアドレスを取得してくれる。
pfSense の LAN I/F に IPv6 アドレスを設定
今回は NAT するつもりなので、ここで設定する IPv6 アドレスはローカル限定のもの。
うちの環境では fc00:a::1
/64
とした。 fc00:〜〜〜
はユニークローカルアドレス(IPv4 のプライベートアドレス的なものだと思う)なので何を振ってもよい。
ここで固定 IP アドレスを振っておかないと、あとで DHCPv6 サーバーの設定に失敗する。
RA の設定
LAN に対して RA(Router Advatise)を行うように設定する。これにより LAN 内の端末は、IPv6 のアドレスを得ることができるようになる。
Router mode
を Unmanaged
に変更
Subnets
を fc00:a::
/64
と設定。
DNS Configuration
DNS Server 1
を fc00:a::1
(pfSense の LAN 向きの IP アドレス)
ひかり電話を契約していれば、ここで上位からもらったアドレス帯(/56)を分割して NAT なしで扱えるのだけれども…
NAT6 の設定
Firewall - NAT
の Outbound
タブにルールを追加する。
Outbound NAT Mode
は Hybrid Outbound NAT rule generation. (Automatic Outbound NAT + rules below)
を選択している。
しかし、IPv6 の NAT は自動で定義されることはない(そりゃそうだ)
Interface `WAN`
Address Family `IPv6`
Protocol `Any`
Source `Network` `fc00:a::` `/64`
Destination `Any`
Firewall の設定
IPv6 を許可するルールを INTRA
(LAN インターフェイス)のルールに追加。
ここまでのテスト
ping6 2001:4860:4860::8888
で ping してみる(宛先は Google public DNS)
OK であれば次へ。
システム DNS の設定
System / General Setup 内の DNS サーバーのところに
2404:1A8:7F01:A::3
2404:1A8:7F01:B::3
を指定する。
(なお、これは NTT 東日本の場合。西日本の場合はおそらく異なると思われる)
DNS の設定
DNS Resolver を有効にする。だけ。
もし、Firewall で弾かれるようであれば(うちはこれに該当した)
Firewall - Rules
の Floating
に次のルールを追加する
Action `Pass`
Interface `INTRA` (LAN のインターフェイス)
Direction `in`
Address Family `IPv4/IPv6`
Protocol `TCP/UDP` (最近の DNS は TCP も使うようなので)
Source `Any`
Destination `This Firewall` Port from `DNS(53)` to `DNS(53)`
DNS のテスト
適当なクライアントから nslookup www.google.com
or host www.google.com
して
www.google.com has address 172.217.161.68
www.google.com has IPv6 address 2404:6800:4004:80b::2004
IPv6 のアドレスが帰ってくれば OK
その他
- 一つづつ設定を変えて、ちゃんと IPv6 アドレスが取得できるか? traceroute6 が通るか、と確認しながらやっていった。
- 正直、NAT してしまって良いのであれば、ND Proxy とか考えるよりこちらの方が話が早いように思える。
- ただし、外から見たときに pfSense がもっている WAN の IPv6 アドレスが常に見えるのでこれによる不具合が起きる…かもしれない?(IPv6 NAT を意識していないなにかの場合)
Discussion