Как узнать маску сети linux

Обновлено: 07.07.2024

Значит сетевая маска (netmask) это такая штука, которая позволяет разделить сеть на подсети для более эффективного их использования.

Начнем с простой и популярной маски для сети класса С:
Сеть \ Маска
192.168.0.0
255.255.255.0

Итак, это сеть компов с адресами от 192.168.0.0 до 192.168.0.255, как несложно догадаться. Сеть, в которой 192.168.0.0 это адрес сети (network), а 192.168.0.255 широковещательный адрес (broadcast). Пример простой, повсеместно использующийся, потому всем понятный.

Усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.128

Ага! А вот это уже ДВЕ подсети:
от 192.168.0.0 (network1) до 192.168.0.127 (broadcast1) первая,
и от 192.168.0.128 (network2) до 192.168.0.255 (broadcast2) вторая.

При этом адреса сети и широковещательный - зарезервированы и не подлежат использованию.

Еще усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.192

Это четыре подсети:
от 192.168.0.0 (network1) до 192.168.0.63 (broadcast1) первая,
от 192.168.0.64 (network2) до 192.168.0.127 (broadcast2) вторая.
от 192.168.0.128 (network3) до 192.168.0.191 (broadcast3) третья,
и от 192.168.0.192 (network4) до 192.168.0.255 (broadcast4) четвертая.

Как так получается и как узнать кол-во подсетей по маске? Очень просто - надо отнять размер маски от 256 и вы получите размер одной подсети (кол-во подсетей при этом надо считать в голове).

Маска \ размер подсети:
255.255.255.0 -- 256-0 = 256 компов
255.255.255.128 -- 256-128 = 128 компов
255.255.255.192 -- 256-192 = 64 компа
255.255.255.224 -- 256-224 = 32 компов
255.255.255.240 -- 256-240 = 16 компов
255.255.255.248 -- 256-248 = 8 компов
255.255.255.252 -- 256-252 = 4 компа
255.255.255.254 -- 256-254 = 2 компа
255.255.255.255 -- 256-255 = 1 комп
(вроде нигде не ошибся =/)

Маска, как видите, меньше 128 не бывает, потому что кол-во подсетей должно быть кратным 256. Т.е. маска 192.168.0.64 обозначала бы 192 компа, а 256 ровно на 192 че-то как-то не делится :)

Запишем те же маски в том же порядке, но в виде двоичной записи:
255.255.255.0 -- 11111111.11111111.11111111.00000000
255.255.255.128 -- 11111111.11111111.11111111.10000000
255.255.255.192 -- 11111111.11111111.11111111.11000000
255.255.255.224 -- 11111111.11111111.11111111.11100000
255.255.255.240 -- 11111111.11111111.11111111.11110000
255.255.255.248 -- 11111111.11111111.11111111.11111000
255.255.255.252 -- 11111111.11111111.11111111.11111100
255.255.255.254 -- 11111111.11111111.11111111.11111110
255.255.255.255 -- 11111111.11111111.11111111.11111111

Видали фишку? Единички прибавляются по одной слева-направо. А теперь самое интересное, что будет если их посчитать:
255.255.255.0 -- 24
255.255.255.128 -- 25
255.255.255.192 -- 26
255.255.255.224 -- 27
255.255.255.240 -- 28
255.255.255.248 -- 29
255.255.255.252 -- 30
255.255.255.254 -- 31
255.255.255.255 -- 32

Получатся числа, которые часто можно встретить в записях адресов. И значат эти числа простую вещь - кол-во единичек слева направо в маске.
Т.е. зная это число и умея преобразовывать в уме двоичные записи в десятичные - можно вычислить маску. Вот примеры:
8 -- 255.0.0.0
13 -- 255.248.0.0
15 -- 255.254.0.0
18 -- 255.255.192.0

т.е. самый первый пример можно записать как, сеть \ маска:
192.168.0.0 \ 24

где 24 это: 11111111.11111111.11111111.00000000 или 255.255.255.0

Вот такая арифметика ^_^

Ах, да, вот два нюанса:

1) Такие маски как 255.255.192.128 или 255.128.224.0 не допускаются. Т.е. если какое-то число в маске не равно 255., то все остальные числа в маске за ним должны быть равны 0. Т.е. касательно этих двух примеров возможны лишь маски: 255.255.192.0 и 255.128.0.0 соответственно

2) Использовать маску 255.255.255.254 смысла нет, так как это 2 компа, и оба адреса зарезервированы, один под сеть, второй как широковещательный. По крайней мере я так понял

Я пытаюсь сделать мой IP-адрес статичным, поскольку слышу, что он исправляет проблемы с медленным просмотром.

Когда я нажимаю на информацию о соединении в сетевом меню серой панели задач, он говорит мне об IP-адресе, маске подсети и DNS, но ничего о шлюзе.

Я хотел бы знать, есть ли команда терминала для поиска информации.

Маршрут по умолчанию - это другое имя шлюза, и он там указан, но вы не «делаете» свой IP статическим, если он не является локальным адресом, назначенным вашим маршрутизатором. Обычно ваш провайдер назначает вам динамический адрес, и это то, что вы должны использовать. Вместо того, чтобы попробовать случайное вуду, вы должны задать вопрос о реальной проблеме, которую вы испытываете, и, надеюсь, получить правильное решение.

У меня есть эта команда в качестве псевдонима для «ipconfig» (до 14.04):

Если eth0 не работает, то вам , возможно , придется использовать eth1 , eth2 . в зависимости от конфигурации.

РЕДАКТИРОВАТЬ: 2/8/16

Обратите внимание, что это работает только в версиях до v15.04 (или, возможно, до v14.10; у меня v14.04). Для более новых версий вы можете использовать это:

Поскольку моя маска подсети была в DHCP4.* , я нуждался nmcli dev list iface eth0 | grep -e IP4 -e subnet_mask Также обратите внимание, что это не будет работать в случаях, когда системные устройства управляются /etc/network/interfaces ядром /; например, мой ноутбук имеет статический IPv4 10.50.1.10 с сетевой маской 255.255.255.0 (или, /24 если вы предпочитаете префиксы CIDR), который используется в среде статической локальной сети и настраивается через /etc/network/interfaces - это отображается как «неуправляемый», если у вас есть Network Manager в вашей системе, поэтому nmcli никогда не будет показывать конфигурации там. @ThomasW. - Спасибо за эту информацию, но TBH, я лично думаю, что есть такая вещь, как слишком много информации. Вопрос был довольно простым, и я дал простой ответ, используя то, что, как я знал, сработало. Я действительно недостаточно осведомлен, чтобы «поддерживать» вашу информацию; Кроме того, я думаю, что любой, кто знал бы их адрес шлюза и не пытался бы узнать эту информацию. с 16.04 это не показывает информацию о подсети в отдельной строке, а скорее добавляет ее в поле IP4.ADDRESS [1]: (в моем случае, 192.168.1.2/24). В Debian nmcli так list и iface не найдены. Вместо этого используйте: nmcli dev show eth0 | grep IP4

Вы можете использовать ifconfig , он покажет ваш адрес в сети (IP) и маску.

Для шлюза введите ip route команду и запомните маршрут по умолчанию.

ifconfigandiproute

Надеюсь, это поможет вам.

На этом веб-сайте объясняется, как можно рассчитать адреса network и с broadcast помощью сетевой маски и IP-адреса компьютера. Чтобы упростить эту статью: network это самый низкий из возможных адресов в диапазоне IP-адресов, оставшихся от маски сети. broadcast IP-адрес с наибольшим номером в этом диапазоне. « Диапазон IP-адресов, оставшихся от маски сети », называется локальной сетью.

« Сеть » обычно означает всех выше вас, включая Интернет. Чтобы попасть в « сеть », используется network адрес. На самом деле, большинство людей называют «сетью» все, что связано с кабелями Ethernet, которые могут общаться друг с другом.

Пример: ваш провайдер предоставляет вам информацию для ввода в беспроводной маршрутизатор: статический IP-адрес 99.1.81.209 и ваша маска сети 255.255.255.224 . Теперь вы хотите настроить брандмауэр Ubuntu и вам нужно настроить ваш публичный интерфейс:

Часто вы увидите сети, описанные с помощью /. Вот эта сеть:

В версиях до 15.04 существовала nm-tool утилита.

Эта небольшая утилита прекрасно взаимодействовала с Network Manager и создавала отчет с соответствующей информацией в каждой строке, что было довольно просто для анализа с утилитами обработки текста. Образец вывода:

В ответе Ринзвинда на связанный вопрос приводился список изменений для пакета Network Manager, в котором объясняется, что он был удален и заменен nmcli . Следует отметить, однако, что nmcli до и после 15.04 отличается несколько аргументов командной строки. Вот альтернатива вышесказанному:

При этом nmcli информация отображается в соответствии с каждым интерфейсом, то есть существует набор строк для одного интерфейса, затем разделяются пустой строкой другой набор строк и так далее.

Другой альтернативой, которую можно использовать, будет ip команда, предпочтительная в настоящее время ifconfig . Согласно ответам пилоны и Жиля о разнице между командами 'ifconfig' и 'ip' , ядро ​​Linux и сетевые функции продвинулись вперед, но ifconfig пакет, к которому он принадлежит, не развивался в течение длительного времени, и поэтому у нас есть ip утилиты. Для получения информации об адресации на определенных интерфейсах ip -o -4 addr может использоваться и ip route может использоваться для получения информации о маршрутизации / шлюзе.

Часто при настройке локальной или внешней сети необходимо узнать не только ip адрес, но и маску подсети. Учитывая, что существует три класса подсетей и огромное количество настроек, то иногда зная маску подсети, знаешь, к какому классу она относится.

Проще говоря, можно узнать примерное количество компьютеров, которые могут находиться в данной подсети. В операционной системе Windows есть несколько способов решить данную проблему.

Определение маски подсети по ip на ОС Windows

  • Способ 1: Вам нужно зайти в меню «Пуск», в строке поиска написать команду «CMD» и нажать клавишу «Enter».


Откроется окно терминала, где вам нужно ввести команду «ipconfig» и вновь нажать клавишу «Enter», после чего откроется список всех ваших сетевых подключений.

В этом списке вы увидите и ваш ip адрес и, соответственно, маску подсети.


  • Способ 2: Заходите в Панель управления\Сеть и Интернет\Сетевые подключения, выбираете ваше подключение и кликом правой кнопкой мыши переходите в графу «Состояние».


В открывшемся окне кликните по клавише «Сведения». Откроется новое окно вашего подключения, где будут указаны ваш ip и маска подсети.


Еще один способ узнать маску подсети по ip адресу: кликните по значку подключения в правом нижнем углу монитора и выберите «Центр управления сетями». Затем кликните в открывшемся окне «Изменение параметров адаптера» и дальше действуете аналогично вышеописанному варианту: начиная с выбора вашего подключения.

Как определить маску подсети по ip адресу на Macos и Ubuntu?

Но что делать, если у вас другая операционная система?

  • Операционная система Macos: Кликаете по эмблеме яблока в левом верхнем углу и выбираете вкладку «System Preferences», а затем выбираете вкладку «Network» (обычно изображена в виде серого шара).


В открывшемся окне выберите ваш метод подключения и кликните по значку «Connected» Как видите, открылось окно, в котором указаны ваш ip адрес и маска подсети.


  • Операционная система Linux Ubuntu: Зайдите в строку поиска, введите слово «Терминал» и запустите программу, кликнув по значку терминала левой кнопкой мыши.


Откроется окно консоли, в которой вы должны будете ввести команду «ifconfig», затем нажмите клавишу «Enter». В списке вы увидите ваш ip и маску подсети.

Как узнать маску подсети по ip-адресу в интернете?

Выше были описаны методы определения маски подсети для внутренней локальной сети. Если же вам необходимо узнать маску подсети какого-то внешнего ip адреса, то можно воспользоваться онлайн калькулятором расчета маски подсети по ip. Найти его можно на просторах интернета: достаточно ввести поисковый запрос в вашем браузере.

Читайте еще: Касперский блокирует локальную сеть: что делать?

В открывшемся окне введите ваш ip адрес и нажмите на кнопку «Подсчитать»:через несколько секунд система выдаст нужный вам результат.

Эта статья не относится напрямую к операционой системе линукс, но тем не менее эта ось создавалась изначально как сетевая ОС и понимание этой информации лишним не будет.

В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети.

с помощью маски подсети можно определить, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.

У маски подсети существует три наиболее часто используемые формы записи:

1. десятичный вид ( 255.255.255.192 );

2. двоичный вид( 11111111.11111111.11111111.11000000 ).

3. /ХХ (/26) - колличество единиц в двоичном представлении маски подсети.

Адрес подсети.

Адреса хостов в подсети.

Это набор IP-адресов, которые могут быть выданы хостам (устройствам, подключенным к ip-сети). Чтобы подсчитать количество адресов, нужно от общего количества адресов подсети отнять два адреса(адрес сети и широковещательный). При обмене пакетами между хостами в одной подсети маршрутизатор и шлюз не нужны.

Широковещательный адрес (Broadcast).

Это адрес который не присвоен ни одному хосту в подсети. Данный адрес используется для отправки широковещательных пакетов, которые предназначены каждому хосту подсети.

Пример 1.

Найдем адрес сети, зная IP-адрес (192.168.1.2) и маску подсети (255.255.255.0). Для этого необходимо применить к ним операцию поразрядной конъюнкции (логическое И).

Для этого переводим в двоичную систему счисления.

IP-адрес: 11000000 10101000 00000001 00000010 (192.168.1.2)

Маска подсети: 11111111 11111111 11111111 00000000 (255.255.255.0)

Адрес сети: 11000000 10101000 00000001 00000000 (192.168.1.0)

Пример 2, обратный, найдем адреса хостов и широковещательный адрес

/26 = 11111111.11111111.11111111.11000000 = 255.255.255.192

192.168.111.64 = 11000000.10101000.01101111.01000000

По маске видим что наша сеть будет иметь диапазон ip-адресов

от: 11000000.10101000.01101111.01000000 = 192.168.111.64

до: 11000000.10101000.01101111.01111111 = 192.168.111.127

Где последний адрес будет широковещательный (broadcast).

Адреса хостов нашей сети:

min(в большинстве случаев является шлюзом*

(gateway)): 11000000.10101000.01101111.01000001 = 192.168.111.65

max: 11000000.10101000.01101111.01111110 = 192.168.111.126

т.е. всего хостов в сети - 62.

Пример 3. Новым сотрудникам техподдержки ПетерСтар посвящается ;)
Наиболее популярная маска подсети для юридических клиентов /30 .

маска: 11111111.11111111.11111111.11111100 = 255.255.255.252
IP-адрес: 01010100.11001100.10100110.01001100 = 84.204.166.76

По маске видим что наша сеть будет иметь диапазон ip-адресов
от 01010100.11001100.10100110.01001100 = 84.204.166.76
до 01010100.11001100.10100110.01001111 = 84.204.166.79

Адреса хостов подсети:

min(шлюз*
(gateway)): 01010100.11001100.10100110.01001101 = 84.204.166.77
модем\комп(если bridge)
: 01010100.11001100.10100110.01001110 = 84.204.166.78
broadcast : 01010100.11001100.10100110.01001111 = 84.204.166.79

*Сетевой шлюз — аппаратный маршрутизатор (англ. gateway) или программное обеспечение для сопряжения компьютерных сетей, использующих разные протоколы (например, локальной и глобальной). Сетевые шлюзы могут быть аппаратным решением, программным обеспечением или тем и другим вместе, но обычно это программное обеспечение, установленное на роутер или компьютер.

Читайте также: