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

Что означает трансляция +/- в / etc / network / interfaces?

В 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>