無線 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
コメント