dd-wrt で スイッチをいじってみる練習
dd-wrt は OpenWRT ベースで色々と機能が多いので、ハッキリ行って持て余すほどの機能があって、ネットワークで遊ぶにはスゴく楽しい。
swconfig で いろいろ見る
市販ルーターには通常Switchが1つのみでデバイスはswitch0のみが存在する。
swconfig dev switch0 help
swconfig でデバイスを指定して、help を見ると設定可能な項目一覧がわかる。
root@dd-wrt:~# swconfig dev switch0 help switch0: rtl8366rb(RTL8366RB), ports: 6 (cpu @ 5), vlans: 4096 --switch Attribute 1 (int): enable_learning (Enable learning, enable aging) Attribute 2 (int): enable_vlan (Enable VLAN mode) Attribute 3 (int): enable_vlan4k (Enable VLAN 4K mode) Attribute 4 (none): reset_mibs (Reset all MIB counters) Attribute 5 (int): blinkrate (Get/Set LED blinking rate (0 = 43ms, 1 = 84ms, 2 = 120ms, 3 = 170ms, 4 = 340ms, 5 = 670ms)) Attribute 6 (int): enable_qos (Enable QOS) Attribute 7 (int): enable_mirror_rx (Enable mirroring of RX packets) Attribute 8 (int): enable_mirror_tx (Enable mirroring of TX packets) Attribute 9 (int): enable_monitor_isolation (Enable isolation of monitor port (TX packets will be dropped)) Attribute 10 (int): enable_mirror_pause_frames (Enable mirroring of RX pause frames) Attribute 11 (int): mirror_monitor_port (Mirror monitor port) Attribute 12 (int): mirror_source_port (Mirror source port) Attribute 13 (none): apply (Activate changes in the hardware) Attribute 14 (none): reset (Reset the switch) --vlan Attribute 1 (string): info (Get vlan information) Attribute 2 (int): fid (Get/Set vlan FID) Attribute 3 (ports): ports (VLAN port mapping) --port Attribute 1 (none): reset_mib (Reset single port MIB counters) Attribute 2 (string): mib (Get MIB counters for port) Attribute 3 (int): led (Get/Set port group (0 - 3) led mode (0 - 15)) Attribute 4 (int): disable (Get/Set port state (enabled or disabled)) Attribute 5 (int): rate_in (Get/Set port ingress (incoming) bandwidth limit in kbps) Attribute 6 (int): rate_out (Get/Set port egress (outgoing) bandwidth limit in kbps) Attribute 7 (int): pvid (Primary VLAN ID)
現在の vlan 状態を見てみる
色々出来るのだけれど、まずは現在のvlan 状態を見てみよう
root@dd-wrt: # swconfig dev switch0 get enable_vlan 0
有効なら1、無効なら0がかえってくる
QoSの状態を見てみよう
root@dd-wrti:~# swconfig dev switch0 get enable_qos 1
QoSは有効ですね
たとえば、vlanを有効にしてみる
swconfig dev switch0 set enable_vlan 1
get の部分がset になって、 引数が2つになった。
あとはコレを反映する
swconfig dev switch0 apply
各ポートの状態を確認する。
swtich には各ポートが存在して、そのそれぞれのポートに状態を確認することが出来る
いま、ポート番号を指定して取得するコマンドはこんな感じ
swconfig dev switch0 port 5 get link
使ってるDD-WRTにはポートが6つ(WANが1,ルーターCPU側に1、ケーブルのジャックが4)存在するので、そのそれぞれの状態を見てみようと思う。
root@dd-wrt:~# for i in 0 1 2 3 4 5 ; do swconfig dev switch0 port $i get link ; done ; port:0 link:down port:1 link:up speed:100baseT full-duplex port:2 link:up speed:1000baseT full-duplex port:3 link:up speed:1000baseT full-duplex txflow rxflow port:4 link:down port:5 link:up speed:1000baseT full-duplex txflow rxflow auto
色々応用できそう
設定項目を見てみると、パケットのミラーリング・ポートを作ってモニタリングとか、QoSで特定の帯域を絞ったり、LEDをチカチカさせたり、VLAN組んだり、100Mbps/1000Mbps のチェックとか、コマンド出来そうですね。
数千円の家庭用ルーターでここまで遊べるのすごい。
かゆいところに手が届くのがいいね。
遊ぶだけなら、ヤフオクで中古が投げ売りされている古い機種を入手すれば直ぐ遊べるので楽しいですね。
タグVLANとかで集約できたら更に便利そう。OpenVPNサーバーとかもね
dd-wrt で技適・・・まぁそうなんですけど。
DD-WRTが技適マーク無いとか言われているけど、技適は電波を使う無線LANカードに対するものであって、ソフトウェアとスイッチではないから無線LAN使わなきゃ関係ないので大丈夫ですね。
無線LANを飛ばしてしまってDD-WRTを使うなら問題なさそうな物を使うといいみたい
【朗報】無線LANルータにカスタムファーム使っても違法じゃない場合があることが判明!(・∀・) | 有限会社 高梨IT製作所
応用するとLEDチカチカでイルミネーションが出来るらしい
MZK-WNH で動く OpenWRT でイルミネーション: ranosgrantのブログ