Manual:Scripting – MikroTik Wiki /
https://wiki.mikrotik.com/wiki/Manual:Scripting#Operations_with_Arrays
InterfaceにVLAN IDを付与するとき、一個二個ならば手作業で追加するのでも問題ないと思いますが、例えば100個単位で付与しなければならないとなった時はどうすれば良いでしょうか?
そういうときはScriptを使うと解決できるかもしれません。
たとえば、Ether1にVLAN 1から20までを付与するときは以下の様なScriptを組むと、Ether1に一気にVLAN IDを付与することが出来ます。
:for i from=1 to=20 do={ /interface vlan add vlan-id=$i interface=ether1 name=("eth1-vlan" . $i); }
では、VLAN IDを10から100までの10こ飛ばしで設定する場合はどのようにすればよいでしょうか?
そのようなときは上記のScriptにStepを追加することで、付与することが出来ます。
[admin@Mikrotik] > :for i from=10 step=10 to=100 ... do={ /interface vlan add vlan-id=$i interface=ether8 name=("ether8-vlan" . $i);}
[admin@Mikrotik] > interface print Flags: D - dynamic, X - disabled, R - running, S - slave # NAME TYPE ACTUAL-MTU L2MTU MAX-L2MTU ... 12 ether8-vlan10 vlan 1500 1586 13 ether8-vlan100 vlan 1500 1586 14 ether8-vlan20 vlan 1500 1586 15 ether8-vlan30 vlan 1500 1586 16 ether8-vlan40 vlan 1500 1586 17 ether8-vlan50 vlan 1500 1586 18 ether8-vlan60 vlan 1500 1586 19 ether8-vlan70 vlan 1500 1586 20 ether8-vlan80 vlan 1500 1586 21 ether8-vlan90 vlan 1500 1586
どうでしょうか?
これでTrunk Portなどに複数のVLAN IDを付与したInterfaceを作成するときも、若干楽になるのではないかと思います。
設定からそもそも範囲指定できないのか、との疑問もあるかもしれませんが、Mikrotikに確認したところ、今のところは開発が困難だということで、今回のScriptを教えてもらいました。
もしかしたら将来出るであろう、RouterOS v7では解決しているかもしれませんね。
それではよいRouterboardライフを!