powerman
@powerman
Systems Architect, Senior Go/Perl Linux Developer

Есть ли смысл вручную указывать broadcast для интерфейсов?

Я решил прекратить использовать одновременно net-tools и iproute2 и перевёл свои скрипты с
ifconfig eth0 192.168.2.1 netmask 255.255.255.0на
ip link set eth0 up
ip addr add 192.168.2.1/24 dev eth0


Но при тщательном сравнении результата выяснилось, что второй вариант не устанавливает broadcast.

было:
1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 1c:6f:65:c5:d6:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global eth0
стало:
1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 1c:6f:65:c5:d6:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 scope global eth0


Я, конечно, могу его ручками дописать в ip addr, но возник вопрос: а оно вообще надо? И если надо, то кому и для чего? Тем более, что роутинг оно вроде и так прописало:
# ip route show table local dev eth0 scope link
broadcast 192.168.2.0  proto kernel  src 192.168.2.1 
broadcast 192.168.2.255  proto kernel  src 192.168.2.1
  • Вопрос задан
  • 4722 просмотра
Пригласить эксперта
Ответы на вопрос 1
EvilMan
@EvilMan
Особой разницы нет, главное, чтобы широковещательные маршруты присутствовали в таблице local. Но тут надо смотреть по ситуации: видел примеры скриптов автоконфигурирования dhcp-сервера, которые без широковещательного адреса на интерфейсе роняли его (dhcp-сервер).

Так же можно использовать конструкцию по типу этой:
ip addr add 192.168.2.1/24 brd + dev eth0

В этом случае широковещательный адрес будет высчитан автоматически.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы