Назад | Перейти на главную страницу

Группы на основе Mac-адресов DHCPD в Linux

Наш текущий DHCPD.conf выглядит следующим образом.

subnet 10.0.32.0 netmask 255.255.255.0
{
        range 10.0.32.100 10.0.32.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.32.255;
        option domain-name-servers 208.67.222.222,208.67.220.220;
        option routers 10.0.32.5;

        host Dev-ABaird-W {
                hardware ethernet 00:1D:09:3E:49:13;
                fixed-address 10.0.32.94;
    }

    ... more static hosts ....

}

Примерно так же просто, как и получается. Старый маршрутизатор - 10.0.32.1, наша компания хотела реализовать прокси-сервер Squid, чтобы лучше отслеживать веб-трафик во время работы и, при необходимости, блокировать большие траты времени, IE Facebook.com.

Однако мы быстро поняли, что это изменение сыграло злую шутку с нашими SIP-телефонами Polycom. Иногда наши телефоны не звонят, конечный получатель слышит звонок (искусственно созданный нашей АТС), однако телефон никогда не звонит. ЕДИНСТВЕННОЕ, что изменилось в нашей сети, - это линейка дополнительных маршрутизаторов.

Итак, поскольку все MAC-адреса Polycom начинаются с 00: 04: F2 можно ли в DHCP сказать 00: 04: F2::: * MAC-адреса получают вариант маршрутизатора 10.0.32.1, а что-нибудь еще должно разговаривать с нашим шлюзом?

Вы можете использовать условное выражение для сопоставления с MAC-адресом телефонов:

if substring(hardware, 1, 3) = 00:04:f2 {
    option routers 10.0.32.1;
} else {
    option routers 10.0.32.5;
}

Я тестировал это внутри subnet строфы, но я считаю, что она будет работать везде, где option команда будет работать. Протестировано с ISC DHCPD 3.1.2.

Я считаю, что вы ищете группы. Группы позволят вам передавать различные параметры, такие как маршрутизаторы, различным группам хостов.

Например.

subnet 10.0.32.0 netmask 255.255.255.0
{
        range 10.0.32.100 10.0.32.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.32.255;
        option domain-name-servers 208.67.222.222,208.67.220.220;
        option routers 10.0.32.1;
}


group {
     # Group uses a different router.
     option routers 10.0.32.5;

     host Dev-ABaird-W {
                hardware ethernet 00:1D:09:3E:49:13;
                fixed-address 10.0.32.94;
     }

     ... more hosts ...
}