В man interfaces
для /etc/network/interfaces
в Debian:
Статический метод
Этот метод может использоваться для определения интерфейсов Ethernet со статически распределенными адресами IPv4.
Параметры
трансляция
broadcast_address
Широковещательный адрес (четверка с точками, + или -) Значение по умолчанию: «+»
Что +
и -
значит здесь?
Знак плюс после ключевого слова netmask
причины ifconfig
взять соответствующее значение из /etc/init/netmasks
.
# ifconfig eth0 192.168.1.50 netmask +
Скажет ifconfig
смотреть в netmasks
файл для подсети для этого интерфейса. Строка будет выглядеть примерно так:
192.168.1.0 255.255.255.0
Это остатки солнечных дней, большую часть времени у вас будет что-то вроде NETMASK=255.255.255.0
в конфигурационном файле сетевого интерфейса.
На Linux, при использовании айпи адрес команда, которая если вверх используется в Debian 10 (и 9 и, возможно, в нескольких предыдущих версиях), а не в ifconfig команда, + и - для трансляции означают, что после разделения сеть часть IPv4-адреса (с адресом / xx, первые xx биты, которые останутся нетронутыми) и хозяин часть IP-адреса (оставшиеся 32-xx бита) для установки всех хозяин биты соответственно 1 и 0 для + и - при вычислении трансляция адрес. Также можно выбрать любой произвольный IP-адрес в этой сети для использования в качестве широковещательного (это вариант с четырьмя точками). Результирующий IP-адрес, выбранный любым из трех предыдущих способов, будет зарезервированным IP-адресом назначения, который (по крайней мере, на интерфейсах Ethernet) будет связан с адресом уровня широковещательного канала (так что ff: ff: ff: ff: ff: ff в Ethernet) .
Вот несколько примеров:
# ip link add name test type dummy
# ip link set test up
# ip address add 192.0.2.5/24 broadcast + dev test
# ip address add 198.51.100.20/28 broadcast - dev test
# ip address add 203.0.113.130/24 broadcast 203.0.113.100 dev test
# ip -4 address show dev test
4: test: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
inet 192.0.2.5/24 brd 192.0.2.255 scope global test
valid_lft forever preferred_lft forever
inet 198.51.100.20/28 brd 198.51.100.16 scope global test
valid_lft forever preferred_lft forever
inet 203.0.113.130/24 brd 203.0.113.100 scope global test
valid_lft forever preferred_lft forever
# ip route get 203.0.113.100
broadcast 203.0.113.100 dev test src 203.0.113.130 uid 0
cache <local,brd>