0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWRT IPv6設定虎の巻

Last updated at Posted at 2025-10-24

OpenWRT の設定で迷った時に見てください

OpenWRTの設定でipv6の設定になると、良く分からずに設定してしまっている事ってありませんか?
RA? DHCPv6? Oフラグ/Mフラグ? relay/serverモード? PD?
良く分からない専門用語が次々と出てきて何を設定していいやら。
こういう方を対象に、解説していきたいと思います。
まず、前提知識としてこちらを理解したうえで話をしていきます。

それでは、OpenWRTのLuCI画面から設定の意味を探っていきましょう。

Network - Interfaces - Global network options

image.png
この画面の各項目について解説します。

image.png

  • IPv6 ULA-Prefix
    IPv6のULAとプレフィックスを指定します。この値は初回起動時(OpenWRT化した後かファクトリーリセットした後)に乱数によって決定されます。ULAのプレフィックスは標準で/48が指定されます。通常はこのまま使って問題ありません。この後説明するIPv6 prefix filterGUAULAのプレフィックスを同じにしたい場合は、/56などに変更する必要があります。

image.png

  • TCP Layer 3 Master Device (tcp_l3mdev) accept / UDP Layer 3 Master Device (udp_l3mdev) accept
    この設定は、VRF環境で使うときに有効な設定です。OpenWRTではVRFを使うことまず無いと思いますので、チェックを入れる必要はありません。

VRF(Virtual Routing and Forwarding)
ルーターの中に仮想的に複数のルーターを作って、それぞれ別々のルーターとして振る舞うようにする技術です。


image.png

  • Packet Steering
    ルーターのCPUがマルチコアCPUで、処理を分散させる場合はEnabledに設定します。通常はEnabledで問題ありません。
  • Steering flows(RPS)
    受信パケットを複数のCPUコアに分散して処理する仕組みです。フロー単位でCPUを選択するハッシュベースの分散が有効になります。通常はデフォルトのままで問題ありません。

Network - Interface - lan - Advanced Settings

image.png
この画面の各項目について解説します。

image.png

  • Override IPv6 routing table
    ルーティングテーブルを指定します。コンボボックスから選択しますが、これは/etc/iproute2/rt_tablesファイルの中身になります。
    image.png
/etc/iproute2/rt_tables
#
# reserved values
#
128	prelocal
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep
200	pppoe

200 pppoeは自分で追加しています。
この設定は、Routing設定の以下と繋がっています。
image.png
この辺のことはnftablesの動作に関わる部分です。ルーティングに関する部分になるので、別の機会に取り上げたいと思います。

nftbales
Linuxに標準で備わっているパケットルーティング機能です。昔はiptablesを使っていましたが、nftablesに置き換わりました。


image.png

  • Delegate IPv6 prefixes
    チェックすると、DHCPv6-PDが有効になります。ISPからのプレフィックスが/48 /56の場合はチェックします。PDの委譲がない場合は、ULAに対してDHCPv6-PDを有効にするかの選択になります。(ULAに対してもDHCPv6-PDが効きます)
    ISPからDHCPv6-PDで委譲されているかは、OpenWRTルーターにTeraTermなどでログインしたあと、以下のコマンドを実行します。
ubus call network.interface.wan6 status

ipv6-prefixの項目が空だと、ISPからDHCPv6-PDの委譲はありません。
下は空の例、つまりDHCPv6-PDの委譲がなかった例です。

{
    "ipv6-address": [
        {
            "address": "2001:f77:e86a:5925:eafc:2512:fe62:3176",
            "mask": 64,
            "preferred": 604796,
            "valid": 2591996
        }
    ],
    "ipv6-prefix": [

    ],
    "ipv6-prefix-assignment": [

    ],
}

下はプレフィックス/56で委譲された場合の例です。

{
    "ipv6-prefix": [
        {
            "address": "2400:1234:abcd:5600::",
            "mask": 56,
            "preferred": 7000,
            "valid": 8000,
            "class": "wan6",
            "assigned": {
                "lan": {
                    "address": "2400:1234:abcd:5600::",
                    "mask": 64
                },
                "iot": {
                    "address": "2400:1234:abcd:5601::",
                    "mask": 64
                }
            }
        }
    ],
}

image.png

  • IPv6 assignment length
    LANインターフェースに割り当てるIPv6プレフィックスの長さを指定します。通常は64にしておいてください。
    ISPからプレフィックス/56で委譲された場合、下記のIPv6 assignment hintで残り8ビット分を結合して決定した値が、クライアントに通知されます。

image.png

  • IPv6 assignment hint
    DHCPv6-PDが移譲された場合、このインターフェースのsubprefixを16進数で指定します。/48なら16ビット分(0000~FFFF)、/56なら8ビット分(00~FF)を指定します。これと委譲されたプレフィックスを結合して、クライアントにプレフィックス/64として伝わります。

image.png

  • IPv6 prefix filter
    上記subprefixを適用するのが、ULAかGUAかを決めます。
    wan6(GUA) / local(ULA) / 未指定のいずれかを指定します。
    未指定だと、ULAとGUAの区別はしません。なのでULA/GUAは同じプレフィックスに設定する必要があります。GUAのプレフィックスが/56で委譲された場合は、ULAのプレフィックスもGUAに合わせてプレフィックス/56に設定すべきです。
    ISPからPDの委譲が無く、上記Delegate IPv6 prefixesがチェックされている場合は、localに設定しておきます。

image.png

  • IPv6 suffix
    このインターフェースのIPv6 Suffix部64ビットを指定します。ab:8765:4321などを16進表記で記述します。他には、HELPに書いてある通りeui64 randomも指定できます。

EUI64
IEEEが定めた64ビット長の識別子で、MACアドレスの中間に「FFFE」を挿入し、7ビット目の「universal/localビット」を反転させる「Modified EUI-64」という方式でsuffixを生成します。


image.png

  • IPv6 preference
    DHCPv6-PDで委譲する際の優先度を指定します。WANが複数あるようなルーターでは、この値が小さい方のインターフェースが優先されます。

Network - Interface - lan - DHCP Server - IPv6 Settings

image.png
この画面の各項目について解説します

image.png

  • Designated master
    DHCPv6/RA relay構成で使うフラグです。複数のインターフェースでrelayモードを使う場合、どのインターフェースが「マスター」として動作するかを決める必要があります。
    ONにするとこのインターフェースがマスターとして扱われ、IPv6アドレスやプレフィクス情報を取得し、下流インターフェイスに転送する役割を担います。通常はWAN6のインターフェースではチェックしておきます。

image.png

  • RA-Service
    RAを送出するモードを選択します。以下のセレクトボックスが表示されます。
    image.png
    それぞれ、どんな役割なのかを表にまとめました。
mode 説明
server mode 自身でRAパケットを生成し、クライアントへ送出します
relay mode 上流インターフェイスから受け取ったRAを下流へ中継します
hybrid mode 自動判別し、マスター・スレーブインターフェイスに応じて使い分けます

server mode / hybrid mode に設定すると、画面上のタブが増えてRAの設定項目が現れます。この項目は後ほど説明します。

image.png

  • DHCPv6-Service
    image.png
mode 説明
server mode このインターフェースがDHCPv6サーバとして動作します。クライアントへIPv6アドレス、DNS情報などを配布します
relay mode 上流から受け取ったDHCP情報を下流へ中継します
hybrid mode 上流から受け取った情報を中継しつつ、独自に設定された項目は変更してクライアントへ配布します

server mode / hybrid mode に設定した場合は、下記の項目が現れて設定できるようになります。
image.png
これらの項目について解説します。

image.png

  • PD minimum length
    プレフィックス委譲(PD)で下流に配布する最小プレフィックス長を制御します。
    例:PD minimum length : 60 下流に/60以下のサイズを割り当てる(/62/64は不可)

image.png

  • Announced IPv6 DNS servers
    クライアントに配布するDNSサーバー情報を設定します。
    設定しないと、下記の設定次第では、DHCPv6ではDNS情報が配布されません。(RAでも配布することが可能です)
    外部のパブリックDNSを配布したいときなどに設定します。
    例:Google DNS(2001:4860:4860::8888,2001:4860:4860::8844)

image.png

  • Local IPv6 DNS server
    ONにすると、このルーターのLLA(リンクローカルアドレス)がDNSサーバーとして通知されます。
    上記両方に設定した場合は、両方が通知されますが、どちらを採用するかはクライアント次第です。なので両方設定することはお勧めしません。

image.png

  • Announced DNS domains
    ライアントに対してDNSサフィックスを通知します。--
    例えば、example.local を設定すると、クライアントがhost1を名前解決しようとしたときにhost1.example.localで名前解決しようとします。(クライアントに通知するだけでなので、名前解決自体はクライアント自身で行います)

image.png

  • NTP Servers
    クライアントに対してNTPサーバーを通知します。NTPサーバーの通知はRAではできません。DHCPv6のみ可能です。

NTPサーバー
ネットワーク上の機器に正確な時刻を配布するためのサーバー。
代表的なパブリックサーバーとして、jp.pool.ntp.org time.google.com ntp.nict.jpなどがあります。


image.png

  • NDP-Proxy
    image.png
mode 説明
relay mode クライアントに対して上位のNDPを中継します。ISPからプレフィックス委譲がない場合、クライアントにGUAを割り当てるためには、ISPが送ってくるNDPを中継してクライアントに送る必要があります。
hybrid mode ルーター自身がNDP応答を直接処理できる高機能モードです。上流から1つの/64プレフィックスしかもらえない環境で、LAN全体にIPv6を確実に届けたい場合に最適な選択肢です。上流からのRAをリレーしつつ、LAN側に自前でRAを送信できるため、クライアントの自動設定がスムーズに行えます。

image.png

  • Learn routes
    ONの場合、ISPからプレフィックス委譲がないのに、クライアント機器へ/64を割り当てたい場合、ルーターが学習したホストルートにより、戻りの通信が正しくクライアント側へ届けられます。プレフィックス委譲がない場合はONにしておいてください。
    プレフィックス委譲がある場合は、プレフィックスごとにルーティングができるためOFFにしておくことをお勧めします。

image.png

  • IPv6 Prefix Lifetime
    Prefix Lifetime(プレフィックス有効期限)を設定します。

image.png

  • Follow IPv4 Lifetime
    ONにした場合、IPv6の有効期限をIPv4 DHCPリース時間に同期させます。IPv6 Prefix Lifetimeと同時に設定した場合は、こちらの設定が優先されます。

Network - Interface - lan - DHCP Server - IPv6 RA Settings

image.png

image.png

  • Default router
    image.png
mode 説明
automatic プレフィックスが有効で、WAN側にIPv6接続がある場合に、クライアントにデフォルトルートを広告します
on available prefix WAN側でIPv6プレフィックスが取得できない場合は、RAでRouter Lifetimeを0に設定し、クライアントに「このルーターはデフォルトゲートウェイではない」と通知します
forced 常にRouter Lifetimeを設定し、必ずデフォルトルーターとして広告します。WAN接続がなくてもRAでデフォルトルートを通知するため、クライアントはこのルーターをゲートウェイと認識します。

image.png

  • Enable SLAAC
    ONにすると、クライアントにSLAACでIPv6アドレスを生成することを通知します。

image.png

  • RA Flags
    image.png
mode 説明
managed config ここを参照
other config ここを参照
mobile home agent Mobile用ローミングのための設定です。Mobileでは、移動すると接続ルーターが変わるため通信の遮断が頻繁に起きます。これを解消する技術がMobile Home Agentです。この設定だけの話ではないので、通常は選択しないでください。

Mobile Home Agent
モバイル端末がネットワークを移動しても(接続しているルーターが切り替わることをローミングと言います)同じIPアドレスを維持できるようにするための技術です。


image.png

  • NAT64 prefix
    NAT64機能(通常はtaygaやjoolなどのパッケージ)を提供する場合、このプレフィックスを設定します。IPv6オンリーのネットワークで、IPv4サービスに接続する必要がある場合に限られます。現在のISPでは、MAP-EDS-Liteなど、IPv4への接続手段がISPから提供されるので設定する必要はありません。

NAT64プレフィックス
NAT64では、IPv4アドレスをIPv6アドレスに埋め込むため、特定のIPv6プレフィックスを使います。標準的なプレフィックスは64:ff9b::/96です。

NAT64
IPv6ネットワークで、IPv4サービスにアクセスするための技術です。IPv6移行を進めつつ、IPv4互換性を維持することができます。NAT64パッケージ(taygaやjool)が必要です。


image.png

  • Max RA interval / Min RA interval
mode 説明
Max RA interval RAを送信する最大間隔(秒)。RFCでは 最大値は1800秒(30分)が推奨
Min RA interval RAを送信する最小間隔(秒)。RFCでは 最大値の1/3以上であることが推奨

image.png

  • RA Lifetime
    このルーターをデフォルトゲートウェイとして利用できる時間(秒)です。クライアントはこの値が0以外なら、そのルーターをデフォルトルートとして使います。値が0なら、「このルーターはデフォルトゲートウェイではない」と通知します。

image.png

  • RA MTU
    IPv6では標準MTUは1280バイト以上ですが、LAN環境では通常1500バイト(Ethernet標準)を通知します。

MTU(Maximum Transmission Unit)
ネットワークインターフェースが一度に送信できる最大パケットサイズ(バイト単位)です。標準EthernetのMTUは 1500バイトです。


image.png

  • RA Hop Limit
    IPv6のRAで通知されるHop Limit値を指します。これはIPv6におけるTTL(Time To Live)相当で、パケットがネットワークを通過できる最大ホップ数を示します。RAにこのHop Limitを含めることで、クライアントは送信するIPv6パケットのHop Limitをこの値に設定します。標準は64です。

Hop Limit
パケットの寿命を示す値で、IPv4の TTL(Time To Live) に相当します。Hop Limitは、パケットがネットワークを通過できる最大ホップ数(ルーター数)を指定します。
各ルーターを通過するたびにHop Limitが1減り、0になるとパケットは破棄されます


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?