Я много искал, но, похоже, есть противоречивая информация о том, какой должна быть правильная сетевая маска для IP-адреса с псевдонимом. Некоторая противоречивая информация, похоже, специфична для FreeBSD. Я ищу "наиболее технически правильный" ответ, если он есть.
Мне назначили x.x.x.168 / 29.
Вот это eth0:
address x.x.x.170
netmask 255.255.255.248
gateway x.x.x.169
Так что правильный eth0: 0 сетевая маска должна быть 255.255.255.something
.
РЕДАКТИРОВАТЬ: Согласно комментарию Криса С., я не использую FreeBSD; Я использую Debian. Насколько я понимаю, пользователи FreeBSD должны использовать .255 для псевдонимов. Но я могу ошибаться, поэтому вам следует провести собственное исследование.
Сетевая маска предназначена для каждой сети, а не для каждого IP-адреса, поэтому, как говорит NickW, она должна быть одинаковой для всех IP-адресов в данной сети. Есть угловые случаи, когда вы можете дополнительно ограничить данный интерфейс псевдонима, но они чрезвычайно редки.
Ваша маска подсети eth0: 0 должна быть 255.255.255.248, если только у вас нет причин, по которым вы не хотите, чтобы eth0: 0 напрямую взаимодействовал с остальными хостами в подсети. Если вы сделаете его меньше, вам понадобится маршрутизатор, который позволит этому IP-адресу связываться с остальной частью сети.
Ответ Ника В. правильный.
Как бы хорошо вы ни понимали теорию этих сетевых спецификаций CIDR, вычисление чисел вручную утомительно и чревато ошибками. Я рекомендую инструмент под названием ipcalc, который доступен в репозиториях программного обеспечения, связанных со многими из основных дистрибутивов Free * nix. Это полезно для правильных расчетов, а также в качестве образовательного инструмента, разъясняющего, что представляют собой числа, путем демонстрации двоичных представлений.
me@mine$ ipcalc 1.2.3.168/29 Address: 1.2.3.168 00000001.00000010.00000011.10101 000 Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000 Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111 => Network: 1.2.3.168/29 00000001.00000010.00000011.10101 000 HostMin: 1.2.3.169 00000001.00000010.00000011.10101 001 HostMax: 1.2.3.174 00000001.00000010.00000011.10101 110 Broadcast: 1.2.3.175 00000001.00000010.00000011.10101 111 Hosts/Net: 6 Class A
Зависит от того, что вам нужно:
если вам нужно использовать псевдоним IP для связи с той же сетью, вы должны использовать ту же сетевую маску
если вам нужно, чтобы псевдоним IP использовался в другой сети (например, вы не хотите, чтобы этот IP-адрес принимал какие-либо широковещательные или какие-либо пакеты из других сетей и по какой-то причине назначал его другой сети), тогда назначьте ему право маска сети
К вашему сведению, сетевая маска используется для фрагментации ваших сетей, поэтому будьте осторожны, чтобы не пересекать их, иначе у вас могут возникнуть конфликты.