Hatena::ブログ(Diary)

ローリングコンバットピッチ!なう! このページをアンテナに追加

2016-01-10 寒い

[]OpenWrtを有線ブリッジ化 23:06 OpenWrtを有線ブリッジ化を含むブックマーク

さてBHR-4GRVにインストールしたOpenWrtですがデフォルトではWAN側とLAN側には別のsubnetが割り当てられ、WAN-LAN間はNATが動作します。WAN側は上位ルーターからDHCPでIPやgateway,DNS等の情報を取得、LAN側は192.168.1.1固定でLAN側に対してDHCPやNAT等のサービスを提供します。

自宅にはメインルーターは別にあり、その下にBHR-4GRVをぶら下げて単なるイーサースイッチ兼サーバー(sambaとか、いずれはOpenVpnとか)として使いたいのでLAN側のブリッジ機能だけが欲しい。ただBHR-4GRVはWAN 1 Port,LAN 4 Portの合計5 PortのGbEの口があるので5つ全部同一LANに繋がるスイッチにすることにしました。

[親ルーター:192.168.11.1]---[BHR4-GRV:192.168.11.254]---他の有線接続マシン

こんな感じ。

が、同じマシンで全く同じことをやっている例が見つからなかったので、下記のページを参考に試行錯誤。

https://wiki.openwrt.org/doc/recipes/dumbap

https://wiki.openwrt.org/doc/recipes/bridgedap

https://wiki.openwrt.org/doc/uci/network

https://wiki.openwrt.org/doc/uci/network/switch

http://ttsubo.hatenablog.com/entry/2014/04/06/174230

最初はWebUIだけでやろうとしてLAN側のBrigde定義にWAN側のeth0.2を追加した上でWAN側を停止、LAN側に固定IPを振ったのですがpingにも応答しない状態に。何度かFailsafeモードからの復旧させた上で、CLIからconfigをいじることに。

Failsafeモードについては

https://wiki.openwrt.org/doc/howto/generic.failsafe

を参照。

基本的にはここに書いてある手順でfailsafeモードに入れたあと、telnet 192.168.1.1でログインしてfirstbootコマンドを実行するとOpenWrtインストール直後の初期状態に戻ります。電源入れた直後、あるタイミングで背面のボタンを押すのですがBHR-4GRVにはfailsafeモードに入れるタイミングがわかる様なLEDのブリンク表示がなく勘で何度も試行することに。とりあえず基板からシリアル引き出すとかしなくても復旧は可能です。

復旧後、ブリッジ化のためにやったのは以下の手順。

  1. /etc/config/networkでWAN,LAN定義を変更
    1. interface 'wan','wan6'の定義をコメントアウト
    2. switch_vlan vlan '2'の定義(eth0.2)をコメントアウト
    3. switch_vlan vlan '1'のポート定義にport '1'を追加

BHR-4GRVにはWANポート1,LANポート4ありますがHW的にはこれらは同じスイッチ上のポートで同等の様です。デフォルトではWANにアサインされているのが1,LANが2〜4の様なので、デフォルトでLAN側にアサインされたvlan '1'のポート設定にポート番号1を追加して5ポートのLANスイッチとして定義しなおします。

    1. interface (lan'のIPを使いたいIPに変更、gateway,DNSを親ルーターのアドレスを追加
  1. /etc/config/dhcpでDHCPの設定を変更
    1. dhcp 'lan'の設定にoption ignore '1'を追加してLAN側DHCPをdisableに。念のためにリース範囲等の設定をコメントアウト
  2. firewallは要らないのでdisable
$ /etc/init.d/firewall disable
$ /etc/init.d/firewall stop
  1. ネットワーク再起動
$ /etc/init.d/network reload

だいたいこんな感じです。

/etc/config/network抜粋

config interface 'lan'
	option ifname 'eth0.1'
	option force_link '1'
	option type 'bridge'
	option proto 'static'

	option ipaddr '192.168.11.254'
	option netmask '255.255.255.0'
	option gateway '192.168.11.1'
	option dns '192.168.11.1'
#	option ip6assign '60'

# config interface 'wan'
#	option ifname 'eth0.2'
#	option proto 'dhcp'

# config interface 'wan6'
#	option ifname 'eth0.2'
#	option proto 'dhcpv6'


config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'

	option ports '0t 1 2 3 4 5'


# config switch_vlan
#	option device 'switch0'
#	option vlan '2'
#	option ports '0t 1'



/etc/config/dhcp抜粋

config dhcp 'lan'
	option interface 'lan'

	option ignore '1'
#	option start '100'
#	option limit '150'

これで5ポートのギガビットスイッチ兼、コンパクトLinuxサーバーの出来上がり。WAN(と書かれた)ポートに繋がった親ルーター側からもSSHアクセス等が自由にできます。

(Firewall disableしましたがenableのままでも使えるはず)

次はsambaかIP over USBあたりを試す予定。

くらまくらま 2016/09/16 13:54 ブリッジ、非常に参考になりました。

トラックバック - http://d.hatena.ne.jp/RC30-popo/20160110/1452434803