Маска подсети указана неверно при настройке роутера
В системе Linux полностью реализован протокол TCP/IP (Transport Control Protocol/Internet Protocol). Протокол TCP/IP оказался наиболее успешным средством объединения компьютеров всего мира в единую сеть. Имея компьютер с системой Linux и адаптер Ethernet (сетевую карту), можно подключить компьютер к локальной сети или (при наличии соответствующего подключения) к сети Интернет, являющейся всемирной сетью, где обмен данными происходит по протоколу TCP/IP.
В системе Linux можно использовать протокол TCP/IP без каких-либо сетевых устройств, поскольку даже на компьютере, лишённом сетевых адаптеров (аппаратных сетевых интерфейсов), всегда имеется виртуальный интерфейс — сетевая « заглушка » (или « петля », loopback interface) по имени lo0 . Сетевая заглушка позволяет компьютеру вести диалог с самим собой, используя сетевые протоколы. Это необходимо для некоторых программ и игр, в которых используется сетевые соединения.
Прежде чем настраивать TCP/IP, нужно узнать определённую информацию о параметрах сети. Потребуются следующие параметры.
Это уникальный адрес компьютера в формате четырёх трёхзначных десятичных чисел, разделённых точками, например, 128.253.153.54 . Как правило каждый сетевой интерфейс имеет не менее одного IP-адреса. Адрес 127.0.0.1 , присваиваемый интерфейсу lo0 , сетевой заглушке, одинаков на всех компьютерах. Поэтому для подключения к компьютеру в нашем примере можно использовать адрес 127.0.0.1 , если вы подключаетесь с того же самого компьютера, и 128.253.153.54 , если подключаетесь с других компьютеров сети.
Сетевая маска (netmask)
Маска выбиралась администратором сети при её проектировании, поэтому он должен её точно знать. Большинство локальных сетей имеют класс C и используют маску 255.255.255.0 . Сети класса B имеют маску 255.255.0.0 . Программы настройки сети выбирают маску автоматически, предполагая по умолчанию, что подсети отсутствуют, если они не указаны.
То же относится и к адресу заглушки. Поскольку адрес в этом случае всегда 127.0.0.1 , то и маска всегда 255.0.0.0 . Это можно указать явно или положиться на маску, выданную по умолчанию.
Адрес сети (network address)
Это адрес является результатом побитовой операции И двух аргументов: IP-адреса компьютера и маски. Например, если маска имеет вид 255.255.255.0 , IP-адрес равняется 128.253.154.32 , то адрес сети будет 128.253.154.0 . Если маска равняется 255.255.0.0 , то адрес сети будет равняться 128.253.0.0 .
Если используется только заглушка, сетевой адрес отсутствует.
Широковещательный адрес (broadcast address)
Если используется только заглушка, широковещательный адрес отсутствует.
Адрес маршрутизатора (gateway address)
Это адрес компьютера, который является « шлюзом » во внешний мир (т. е. к компьютерам вне локальной сети). Принято проектировать сети так, чтобы адрес маршрутизатора получался из IP-адреса компьютера заменой последних групп цифр на .1 . Например, если IP-адрес компьютера равняется 128.253.154.32 , то адрес маршрутизатора может иметь значение 128.253.154.1 . Эта рекомендация не является обязательной, так всю правду обычно знает только системный администратор.
Если используется только заглушка, адрес маршрутизатора отсутствует. То же верно и в случае, когда локальная сеть изолирована от всех остальных.
Адрес сервера имён (name server address)
Для большинства компьютеров в сети имеется сервер, который преобразует имя компьютера в IP-адрес (Domain Name Server, сокращённо DNS ). Сервер устанавливает соответствие доменного имени, отражающего административную принадлежность компьютера, и IP-адреса, отражающего место компьютера в сети Интернет. Любое обращение по сети с использованием доменного имени требует преобразования его в IP-адрес (возможно, при помощи сервера). Адрес этого сервера должен сообщить администратор сети или провайдер, предоставляющий доступ в Интернет.
Такой сервер можно также запустить на собственном компьютере (программа называется named); в этом случае адрес сервера имён в сети равняется 127.0.0.1 . Кроме тех случаев, когда абсолютно необходимо иметь собственный сервер имён, лучше воспользоваться тем, который имеется (если имеется).
Наиболее распространённые варианты настройки сети в Junior можно произвести с помощью утилиты draknet — поэтому рекомендуется сначала попробовать воспользоваться ей, а если функциональности этой утилиты вам будет недостаточно, попробовать произвести требуемые настройки вручную.
Сразу после запуска draknet предлагает попробовать определить автоматически сетевые устройства, установленные на вашем компьютере. После этого вам будет предложено настроить один из сетевых адаптеров, причём устройства, найденные автоматически, будут отмечены особо; далее необходимо ответить на вопросы (указать требуемые параметры), после чего ваша сеть будет настроена.
Если автоматическая настройка сети, сделанная draknet , вас почему-либо не устраивает или неработоспособна, вы можете настроить работу с сетью, вручную проделав необходимые операции. Стоит иметь в виду, что утилиты, работающие с сетевыми настройками, такие как ifconfig , ip или route , изменяют их на время, до перезагрузки системы. Для постоянной настройки сетевых подключений необходимо изменять соответствующие конфигурационные файлы. Содержимое этих файлов используется системной службой network , которая и запускает при старте системы эти и другие утилиты.
Настройка сети происходит в несколько этапов.
Определение сетевых устройств (network interface)
Для того, чтобы система работала с сетью, необходимо в файл /etc/sysconfig/network вписать строку NETWORKING=yes (обычно это делается при установке). Сетевые устройства, найденные системой при загрузке, могут участвовать, а могут и не участвовать в работе сети.
Привязка устройств к IP-сетям
Обратите внимание, что в файле /etc/sysconfig/network-scripts/ifcfg- имя_устройства обязательно присутствует строка DEVICE= имя_устройства . Дело в том, что содержимое этого файла служит параметрами для утилиты настройки сетевых устройств ifconfig . Среди параметров этой утилиты, конечно, должно быть и наименование устройства.
Настройка IP (маршрутизация)
Для того, чтобы передавать информацию за пределы локальных сетей, доступных с компьютера, необходимо настроить маршрутизацию. Маршрутизация в Linux устроена таблично: любому IP-адресу и любому адресу подсети адресата может соответствовать адрес компьютера-маршрутизатора, который должен пересылать этому адресату данные. Чем больше единиц в сетевой маске, тем выше приоритет записи в таблице маршрутизации.
В этой таблице, кроме того, каждой локальной сети соответствует имя подключённого к ней сетевого устройства. В самом простом виде такая таблица должна содержать по одной записи вида подсеть — устройство на каждую локальную сеть (обычно для lo0 и eth0 ) и одну запись вида 0.0.0.0 — компьютер для указания маршрутизатора по умолчанию.
Адрес маршрутизатора по умолчанию указывается в файле /etc/sysconfig/network строкой GATEWAY=адрес .
Для того, чтобы настройки в файлах интерфейсов вступили в силу, выполните команду service network restart .
Кроме рассматриваемого здесь варианта статической маршрутизации, Linux также поддерживает работу с протоколами динамической маршрутизации, наиболее распространёнными из которых являются протоколы OSPF и BGP. Для настройки протоколов динамической маршрутизации, установите пакет zebra . Zebra частично эмулирует консоль Cisco IOS, и поддерживает удалённое управление.
Linux поддерживает возможность многотабличной маршрутизации, возможность классификации трафика по типам сервиса и протоколам, и перенаправления такого трафика в различные интерфейсы. Например, можно сделать так, чтобы почтовый трафик уходил в медленный и недорогой коммутируемый доступ (модемный канал), а остальной трафик ходил по быстрому xDSL. Такой функционал называется Advanced routing. Техника настройки многотабличной маршрутизации подробно рассмотрена в документе Advanced routing and QoS. Основным инструментом при этом является утилита ip из пакета iproute2 . Она же, кстати, в дистрибутиве ALT Linux 2.3 положена в основу управляющих скриптов из /etc/sysconfig/network-scripts вместо уже устаревшей (но ещё используемой) утилиты route .
Настройка DNS
Внимание
После изменения файла /etc/resolv.conf , для того чтобы изменения вступили в силу, необходимо дать команду update_chrooted all .
Преобразование IP-адресов необходимо доже если ни один DNS-сервер не доступен. Вместо того, чтобы вызывать службу DNS, система может обратиться к файлу /etc/hosts , строки которого (вида IP-адрес имя1 имя2 . ) как раз и задают соответствие символьных и числовых IP. Файл /etc/hosts можно использовать для автономной локальной сети. В файле /etc/nsswitch.conf , среди прочих записей, есть строчка, начинающаяся на hosts: , например, такая hosts: files dns . Она означает, что для превращения одного вида IP-адреса в другой система сначала попытается обратиться к файлу /etc/hosts , а если соответствующей записи там не найдётся, отправит DNS-запрос.
Настройка имеющихся сетевых служб
Как правило, настройка определённой сетевой службы (почты, www-сервера и т. п.) описывается в документации этой службы. Однако « лёгкие » сетевые службы (такие как cups-lpd или tftpd ) могут не разбираться в тонкостях сетевой настройки, а запускаться посредством сетевого метадемона inetd ( xinetd ). Метадемон устроен так, что он принимает сетевой запрос на соединение, предназначенный для любой из этих служб, настраивает соединение и запускает службу, которая только принимает и передаёт данные. Для работы таких служб необходимо, чтобы метадемон запускался при старте системы и в файле настройки службы /etc/xinetd.d/ имя_службы было указано disable=no . Кроме того, возможностью доступа к сервису из внешней сети управляет строка only_from= адрес_сети в этом файле и в /etc/xinetd.conf (общие настройки xinetd ).
Проверка работоспособности сети
Для проверки работоспособности сети TCP/IP можно воспользоваться следующей схемой.
Для просмотра трассы прохождения пакетов в сети используйте утилиту tracepath или traceroute , если настройки control это позволяют.
[1] Все документы HOWTO находятся в пакете howto-html-ru , если он ещё не установлен в вашей системе, установите его.
Я недавно сделал обновление на Cisco 2520. Как часть обновления и SVI был добавлен к коммутатору, чтобы позволить VLAN маршрутизировать локально, который ранее был сделан на другом коммутаторе (через транк). У SVI были следующие параметры;
Сетевой адрес: 192.168.65.96 Маска подсети: 255.255.255.248 SVI Адрес: 192.168.65.102
В этой подсети было два устройства, и после внесения изменений оба устройства все еще могли обмениваться данными с удаленной сетью, хотя шлюз по умолчанию и маска подсети были 192.168.65.1 / 255.255.255.0 соответственно.
После этого во время мониторинга я потерял связь с одним из устройств, а другое оставалось в сети. Я исправил проблему, правильно настроив маску подсети и шлюз по умолчанию на обоих устройствах, но мне было интересно, если кто-нибудь может объяснить, почему я смог связаться с одним устройством, а не с другим, даже если на обоих устройствах были неправильно настроены маски Sunet / шлюзы по умолчанию?
1 ответ 1
Обычно хосты следуют одному базовому правилу при решении, куда отправлять пакеты (на уровне L2 / MAC):
Поэтому неправильная настройка шлюза может остаться незамеченной, потому что:
Неправильная настройка маски сети (или длины префикса) может привести к следующим результатам:
Если маска сети шире, чем должна быть (т. Е. Длина префикса короче), хосты в той же подсети все равно смогут обмениваться данными, потому что «Та же подсеть?"проверка все равно не подведет.
Тем не менее, это будет препятствовать связи с хостами, маска сеть охватывает , но не предполагается, потому что хост попытается ARP-разрешения адреса , который физически в другом месте. (Из-за неверной маски сети хост назначения будет локальным.)
Но связь все еще может быть возможной, если шлюз реализует Proxy ARP и отвечает на эти запросы ARP от имени "другой стороны". Иногда это делается как часть изоляции клиента, которую проводят интернет-провайдеры, или как промежуточный этап разделения большой подсети на несколько. (Действительно, прокси-ARP использовался для разделения классных сетей до изобретения подсетей.)
Если маска сети слишком узка (длина префикса слишком велика), это наоборот: это повлияет на связь внутри подсети, потому что хост ошибочно считает, что ему нужно использовать шлюз.
Обратите внимание, что это не обязательно помешает связи (так как шлюз просто направит пакет обратно в ту же подсеть), просто сделает его намного менее эффективным.
(Шлюз также может отправлять вам пакеты ICMP "Redirect", информирующие вас о существовании прямого пути; некоторые операционные системы автоматически обновляют свою таблицу маршрутизации при получении этого.)
Если только у вас нет комбинации слишком узкой маски сети и неверного шлюза. Это полностью предотвратит связь с уязвимыми хостами.
Примечание. В этом посте "маршрутизатор" и "шлюз" (синоним) относятся к логическому узлу (который говорит по IP, содержит таблицу маршрутизации и подключается к нескольким сетям на основе IP), а не к физическому устройству. Если вы используете комбинированный маршрутизатор / коммутатор, то данные, проходящие через порты коммутатора , не обязательно проходят через ядро маршрутизатора, поэтому в целях приведенного выше объяснения вы должны рассматривать его как два устройства.
Статический маршрут - это заранее определенный путь, по которому должна следовать информация в сети, чтобы достичь определенного хоста или сети.
Вот два типичных сценария, в качестве примеров, когда требуется статический маршрут, рассмотрим их.
Проблема:
Шлюзом ПК-является роутер 2, который предоставляет доступ в интернет.
Когда ПК хочет подключиться к серверам сервер 1 и сервер 2, сначала запрос будет отправлен на роутер 2. Поскольку к сервер 1 и сервер 2 нет маршрута в таблице маршрутов роутера 2, запрос будет отклонен.
Решение: Добавление статического маршрута на роутере 2
Сетевые параметры: Серверы в сетевом сегменте: 172.30.30.0. Маска подсети IP для этого сегмента: 255.255.255.0
Сценарий 2:
Проблема: Шлюзом сети LAN является роутер 1, роутер 2 подключен по WDS к роутеру 1. В таблице маршрутизации роутера 2 нет записи маршрута от роутера 2 к NTP-серверу, поэтому роутер 2 не может синхронизировать время с NTP сервером.
Разрешение: Добавление статического маршрута на роутере 2
Сетевые параметры: IP-адрес сервера в Интернете - 132.163.4.101. Маска подсети IP для этого адреса 255.255.255.255
Шаги настройки:
Шаг 1. Зайдите на web – страницу настройки роутера.
Для этого в адресной строке браузера наберите 192.168.0.1
Шаг 2. Введите имя пользователя и пароль на странице входа. Имя пользователя и пароль по умолчанию - admin.
Шаг 3. В меню с левой стороны выберите раздел Настройки маршрутизации – Список статических маршрутов.
Нажмите Добавить ….
В первом поле введите IP-адрес назначения.
В втором поле введите маску подсети.
В третьем поле IP-адрес шлюза, который должен находиться в том же сегменте локальной сети, что и роутер.
Пример ввода параметров для Сценария 1:
Пример ввода параметров для Сценария 2:
Если у Вас возникнуть какие либо сложности с настройкой, обратитесь в техническую поддержку TP-Link
Чтобы получить подробную информацию о каждой функции и настройке оборудования, перейдите на страницу Загрузки для загрузки руководства пользователя к вашей модели устройства.
каковы последствия неправильной настройки маски сети? У меня есть приложение C++, которое устанавливает сетевую маску устройства. Если сетевая маска установлена неправильно, tftp, похоже, работает неправильно. Почему это произошло? Какие еще проблемы возникают, когда маска сети неправильно установлена для устройства/ПК?
хотя этот вопрос, вероятно, больше касается IP-сетей, чем программирования, это сложная тема для многих разработчиков.
маска сети разделяет адрес хоста (ваш компьютер или сервер) и сетевой адрес (часть инфраструктуры логической сети, в которой живет ваша система). Эти две части используются для доставки пакета данных на правильное устройство. Сетевой адрес получается путем сопоставления сетевой маски с IP-адресом. Рассмотреть следующее сценарий:
часть адреса хоста IP-адреса для нашего ПК-1.1, поэтому ПК знает, что любые адреса хостов начинаются с 10.0. местные к нему. Любые адреса, которые затем запускают 10.1 и т. д., не являются "локальными" и должны быть перенаправлены на маршрутизатор. Если у вас есть другое устройство, предназначенное для работы в той же сети, что и:
здесь сетевая маска неверна для нашей настройки примера, это устройство теперь будет видеть сетевой адрес как 10.0.2 и хост адрес как 1, если он попытается связаться с 10.0.1.1, он увидит сетевой адрес 10.0.1! Не локальный и поэтому будет ссылаться на маршрутизатор по умолчанию для пересылки. Если сетевая маска была правильно установлена (т. е. такая же, как в первом примере, предполагая, что это правильная настройка для вашей сети), то второе устройство увидит первое как локальное, т. е. в сети 10.0 и не будет пытаться переслать пакет маршрутизатору.
многие протоколы с радостью справятся с этим, но tftp предназначен для работы в пределах одной сети и поэтому потерпит неудачу, поскольку есть ощущение, что цель находится в другой сети.
Это может не описать вашу точную ситуацию, но я надеюсь, что пример демонстрирует важный принцип, что конфигурация имеет значение, вы не можете иметь неточно настроенную среду и ожидать, что она будет работать.
маска сети определяет, какие IP-адреса являются локальными (не маршрутизируемыми); IP-адреса вне этого диапазона проходят через маршрутизатор. Если маска сети неверна, программа пытается напрямую получить доступ к сайтам, где она должна пройти через маршрутизатор, или наоборот.
маска сети определяет, какая часть IP-адреса используется в качестве адреса сети и какая часть используется для рабочих станций.
оба IPs находятся в одной сети. Они могут общаться друг с другом без использования маршрутизатора. Это потому, что IP-адреса приведут к одной и той же битовой маске, когда вы или она с сетевой маской.
теперь оба IPs находятся в разных сетях, потому что когда вы или IP-адреса с сетевой маской, результирующая битовая маска будет отличаться, и они не смогут общаться друг с другом без маршрутизатора, который маршрутизирует между двумя сетями.
Вы можете проверить это сами с определить IP-адрес.
объясняются возможные последствия несоответствия сетевой маски здесь. Короче:
- хост, вероятно, построит таблицу маршрутизации неправильно.
- хост пропустит некоторые широковещательные пакеты и не отправит трансляции должным образом.
Mis-функция TFTP почти наверняка вызвана первой причиной. Это влияет на любой другой протокол IP таким же образом.
другие ответы упоминают только первую проблему (что нормально, поскольку второй довольно маргинальный). Обратите внимание, что не маска сети самого интерфейса определяет, как будут маршрутизироваться IP - пакеты-это подсистема маршрутизации хоста; но маска сети обычно используется для построения таблицы маршрутизации.
Всем привет! Статическая маршрутизация – это по сути специальный выделенный путь, по которому должен пройти пакет информации из пункта А в пункт Б. Напомню, что у нас в сети чаще всего встречаются два устройства: маршрутизаторы и коммутаторы. Напомню, что коммутаторы работают на канальном уровне, а маршрутизаторе на сетевом. Далее я коротко расскажу, про Static Route и как это настроить на домашнем устройстве.
Коротко про маршрутизацию
Маршрутизатор, исходя из названия, имеет у себя таблицу маршрутизации, а коммутатор коммутации. Все логично, не правда ли. Но есть небольшая проблема коммутации. Представим, что у нас есть две сети по 250 машин и между ними стоят 2 свича.
Если вы помните в таблице коммутации содержатся MAC-адреса. Да они уникальны, поэтому для работы сети нужно, чтобы каждый свич знал, как минимум 500 таких адресов, что не так мало. И тут встает проблема масштабируемости сети, при добавлении новых машин.
А что если установить вместо коммутаторов маршрутизаторы. В итоге у нас есть две сети:
И чтобы пакету добраться из одной сети в другую, нужна одна запись в таблице маршрутизации, а именно о соседнем роутере, который уже в свою очередь знает компьютеры «из своего района». Это и удобно, и экономично в плане хранения нужной информации, так как не нужно хранить таблицу из MAC-адресов всех участников сети.
СОВЕТ! Для большей картины понимания самой темы, советую почитать дополнительные материалы про то, что такое маршрутизатор, коммутатор и про модель OSI.
И тут у нас появляются два понятия:
Далее я расскажу, как вводить эти статические маршруты для использования их в домашних роутерах.
Смотрим на картинку выше. У нас есть второй роутер (router 2), который имеет доступ к интернету (он же является основным шлюзом). У нас есть компьютер (PC), который подключен сначала к коммутатору. Коммутатор подключен к двум роутерам.
Проблема в том, что ПК должен иметь доступ к серверу (172.30.30.1), но при запросе на router 2, у него в таблице маршрутизации нет данных об этих серверах. Теперь давайте попробуем вписать эти настройки в маршрутизатор.
ШАГ 1: Заходим в настройки роутера
Вот мы и перешли непосредственно к настройке статической маршрутизации. Подключаемся к сети интернет-центра через кабель или по Wi-Fi. Далее нужно ввести DNS или IP-адрес роутера в адресную строку любого браузера. Настройку мы будем делать через Web-интерфейс. Подсказка: адрес можно подсмотреть на этикетке под корпусом аппарата. Чаще всего используют адреса:
Если вы ранее его настраивали, вводим логин и пароль – их также можно подсмотреть на той же самой бумажке. Чаще всего используют комбинации:
ШАГ 2: Настройка
Напомню, что далее я буду рассматривать конкретный пример, который мы разобрали выше. И на основе этого примера буду вводить свои данные. У вас статические маршруты могут быть другие. Вот какие данные нужно будет ввести (смотрим на схему подключения, чтобы вам было понятно):
- IPадрес назначения – у нас это IP нашего конкретного сервера, к которому мы хотим пробиться через наш 1-ый роутер (172.30.30.1).
- Маска подсети – указываем 255.255.255.0.
- Шлюз – это IP того роутера, который имеет доступ к серверу. В примере это 192.168.0.2 (Второй маршрутизатор).
- Интерфейс – в некоторых настройках нужно будет указывать еще и его. Если доступ к шлюзу идет через интернет, то указываем WAN. Если же вы подключены к нему через LAN порт (как в нашем примере), то указываем его.
Надеюсь я примерно объяснил, как именно статический маршрут нужно заполнять. Теперь приступим непосредственно к практике. Смотрите главу по своей модели.
TP-Link
Старая прошивка
Слева находим раздел «Дополнительные настройки маршрутизации», и в открывшемся списке нажимаем по пункту «Список статических маршрутов». Нажимаем по кнопке «Добавить».
Новая прошивка
D-Link
В классическом светлом интерфейсе нужно перейти в «Дополнительно» и нажать по «Маршрутизации».
В темной прошивке все делается также, только сначала нужно перейти в «Расширенные настройки».
Переходим в раздел «Локальная сеть», открываем вкладку «Маршруты» и вписываем наши данные. В конце не забудьте нажать на плюсик, правее таблички и нажать на кнопку «Применить».
ZyXEL Keenetic
Новая прошивка
Переходим на страницу «Маршрутизации» и нажимаем по кнопке добавления правила.
Теперь вводим данные:
- Тип маршрута – тут нужно указывать тот тип, который вам нужен. Если исходить из задачи, которую указал я, то мы указываем «Маршрут узла».
- Адрес сети назначения – указываем адрес сервера. В нашем случае это 30.30.1.
- Маска подсети – 255.255.255.0.
- Адрес шлюза – адрес роутера, который подключен к нашему серверу. 192.168.0.2.
- Интерфейс – указываем тот интерфейс, который мы будем использовать для связи. В нашем примере пакеты пойдут локально через LAN порт, поэтому указываем LAN.
Старая прошивка
Нажимаем по значку плакетки в самом низу и переходим на вкладку «Маршруты». Нажимаем по кнопке добавления и вводим нужные вам данные.
Добавление целого списка маршрутов
Кстати тут вы можете загрузить сразу целую таблицу маршрутизации. Для этого выбираем в том же разделе другую кнопку.
Файлик должен иметь расширение типа BAT. И иметь вид как на скрине ниже. Его спокойно можно создать в блокноте.
Вид достаточно простой:
route ADD IP-адрес назначения MASK указываем маску указываем адрес шлюза
route ADD 172.30.30.1 MASK 255.255.255.0 192.168.0.2
ПРИМЕЧАНИЕ! Каждый новый адрес должен начинаться с новой строки, а после последнего указанного IP не должен стоять пробел.
Netis
Читайте также: