Команды коммутатора Mikrotik (создание VLAN, назначение портов)

Я работал с коммутатором Cisco, и команды очень просты;

например / vlan 100 (добавит vlan с именем 100)

интерфейс 1/0/1 vlan 100 (назначит vlan 100 порту)

Кажется, микротик не тот же. У меня нет микротик-переключателя, но мне даны следующие команды:

    //add name=vlan200 interface=ether2 vlan-id=200
    //add ports=switch1-cpu, ethernet vlan-id=200 learn=yes

Это кажется слишком сложным. Это правильные команды? Кто-нибудь из гуру Mikrotik знает, где я могу проверить команды без переключателя?

2 ответа

Итак, я нашел ответ. После того, как удалось получить переключатель Mikrotik. Существует отличный класс для подключения к командной строке MK - он связан здесь: API в C Sharp

Команды:

/interface ethernet switch vlan add switch="[yourswitch]" vlan-id="[yourvlan]" ports="[porttoassign]"

Чтобы назначить порт:

/interface ethernet switch port set [yourport] vlan-mode=secure vlan-header=always-strip default-vlan-id=[yourvlan]

Если вы используете класс MK, вам нужно написать его отдельно. Это выглядит примерно так:

MK mikrotik = new MK("192.168.188.1");
        if (mikrotik.Login("admin", "admin"))
        {
            mikrotik.Send("/interface/ethernet/switch/vlan/add");
            mikrotik.Send("=switch=switch1");
            mikrotik.Send("=vlan-id=333");

            mikrotik.Send("=ports=ether4", true);

            foreach (string h in mikrotik.Read())
            {
                Console.WriteLine(h);
            }

There are several ways on Mikrotik to use the VLANs depending on the device. If is a Router or a Switch and if the Switch can do hardware offloading or not. In the Mikrotik Wiki you'll have detailed information.

The most simple way I found to manage the vlans is:

  • Create a bride with all the interfaces you want to manage (trunk and access ports)
  • Create the vlans you want
  • Add the ports to the bridge port setting a pvid if they are access ports
  • Add the ports to the bridge vlan allowing the vlans you want

Here the Mikrotik code with an example with two vlans 10, 20. One access port per vlan (ether1 and ether2) and one trunk port on ether4 passing both vlans.

Be careful, and ensure to have at least one port without vlans or a serial cable to access the device if something goes wrong.

/interface bridge
add name=bridge-vlans vlan-filtering=yes

/interface vlan
add interface=bridge-vlans name=private-users-vlan vlan-id=10
add interface=bridge-vlans name=public-users-vlan vlan-id=20

/interface bridge port
add bridge=bridge-vlans comment="Access port on vlan10" interface=ether1 pvid=10
add bridge=bridge-vlans comment="Access port on vlan20" interface=ether2 pvid=20
add bridge=bridge-vlans comment="Trunk port vlan 10&20" interface=ether4

/interface bridge vlan
add bridge=bridge-vlans tagged=bridge-vlans,ether1 untagged=ether1 vlan-ids=10
add bridge=bridge-vlans tagged=bridge-vlans,ether1 untagged=ether2 vlan-ids=20

It your device is a router and you want a DHCP server on a VLAN you have to:

  • Set vlan interface as interfece in the DHCP
  • Assign an IP address the VLAN interface (as any other interface)

Here the Mikrotik code:

/ip dhcp-server
add address-pool=private-ips disabled=no interface=private-users-vlan lease-time=2h name=private-dhcp
add address-pool=public-ips disabled=no interface=public-users-vlan lease-time=2h name=public-dhcp
/ip address
add address=192.168.1.1/24 interface=private-users-vlan
add address=192.168.2.1/24 interface=public-users-vlan

Для этого не нужно использовать переключатель в Mikrotik.
Вы можете создать vlan Интерфейс на конкретный порт, как это:

 int vlan add vlan-id=1 interface=ether1 use-service-tag=yes 


* С use-service-tag=yes опция действует как коммутатор доступа к порту vlan1,
* Без этого или с use-service-tag=no он действует как транковый порт, позволяющий vlan1

Другие вопросы по тегам