無線APなどのLANインタフェースがひとつしかない機器でOpenWrtを動作させているとき、あるひとつのインタフェース(例えばブリッジインタフェースとか)にIPv4アドレスを付与しつつ、IPv6アドレスをDHCPで設定する方法がなかなかみつからなかった。
OpenWRTの設定(/etc/config/network)をみていたところ、wanとwan6のように設定すればいいのではないかと思い設定をいれてみるとビンゴであった。
設定手順
前提
LANインタフェースは一口の機器(eth0)。
二つのVLANを取り扱う。VLAN番号は10と20とする。10番を外部側、20番を内部側ネットワークとする。
network —> Devices でeth.10(VLAN番号10)とeth.20(VLAN番号20)を作成する。さらに同じ画面でBridgeインタフェースbr-lan10とbr-lan20を作成する。デバイスにそれぞれeth.10とeth.20を指定する(プルダウンメニューで選択する)。
これでブリッジインタフェースが二つでき、tag付VLANを取り扱えるスイッチングHUBと組合せることによってルータにすることが可能となる。
IPv4アドレス(Static)とIPv6(DHCP)を同時に割り当てる方法
今回は、br-lan20にIPv4とIPv6のアドレスを割当てる。
network –> Interfaces でlan20(名前は任意)というインタフェースを作成しProtocolにStatic addressを選択しつづいて、Deviceにbr-lan20を指定しIPv4のアドレス他を設定する。IPv6関連設定は空白にしておく。設定ができたらsaveをクリックする。
さらにnetwork –> Interfaces でlan20_v6(名前は任意)というインタフェースを作成しProtocolにDHCPv6 clientを選択しつづいて、Deviceにbr-lan20(上記と同じ)を指定し save をクリックする。
これで、ブリッジインタフェースbr_lan20にIPv4の固定アドレスとIPv6のアドレスが割り当てられる。
以下はip addrコマンドの出力例。
7: br-lan20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether ba:ca:ba:ca:ba:ca brd ff:ff:ff:ff:ff:ff
inet 192.0.2.42/24 brd 192.0.2.255 scope global br-lan20
valid_lft forever preferred_lft forever
inet6 2001:db8::baca:baca:baca:baca/64 scope global dynamic noprefixroute
valid_lft 14169sec preferred_lft 12369sec
inet6 fe80::baca:baca:baca:baca/64 scope link
valid_lft forever preferred_lft forever
コメント