Курс по сетевым технологиям
A A A

Работа в сети является одной из самых важных не только для пользователя, но и для самой операционной системы. Чтобы все работало правильно нам необходимо настроить следующие параметры: 

  • IP адрес и маска интерфейса
  • Маршрут или шлюз по умолчанию
  • DNS
  • Имя компьютера

 

Не стоит пугаться, если вышесказанное является для вас незнакомым. В этом уроке мы узнаем для чего нам нужны эти параметры, а также как их настроить. Итак, представьте, что мы хотим проверить почту на mail.ru или gmail.com. Для этого мы просто открываем любимый браузер и в адресную строку вводим mail.ru. Однако по каким-то причинам мы видим ошибку подключения и браузер рекомендует нам проверить сетевые настройки. 

Ну что же, проверим.

 

Определение состояния интерфейса 

Чтобы работать в сети каждое устройство  должно иметь сетевой адрес - IP адрес. Без него работа компьютера будет невозможна. IP адрес состоит из 4-х чисел, разделенных точками. Выглядит так: 192.168.1.1, 10.10.23.4, 172.16.0.100.

 

Адрес у всех компьютеров одинаковый или разный? 

У всех он разный. Вместе с адресом всегда устанавливается и маска. Значение маски одинаково для всех сетевых устройств в твоей локальной сети, включая модемы, принтеры. Выглядит маска так: 255.255.255.0, 255.255.248.0. Значение зависит от того какую маску выберет администратор сети.

 

А для чего необходима маска? 

Маска определяет количество сетевых устройств в твоей локальной сети. Например, маска 255.255.255.0 говорит нам, что в сети может быть 254 устройства (и у каждого свой адрес). Для начала проверим настройки сетевого интерфейса, через который и осуществляется связь с внешним миром (интернетом) - ifconfig:


Вывод команды ifconfig

Существует и другая команда - ip address show:

Вывод команды ip adress show

Вывод обеих команд немного отличается. Вторая команда (ip address show) выводит информацию обо всех установленных интерфейсах, в то время как первая команда (ifconfig) выводит информацию только о “поднятых” (в состоянии UP), то есть работающих в данный момент интерфейсах. Из вывода команд видно, что у нас 3 интерфейса: 

  • lo - локальный петлевой интерфейс. Настраивается автоматически и служит для нормальной работы сетевого стека.
  • enp0s3 - Ethernet интерфейс (в некоторых системах отображается как eth)
  • enp0s8 - второй Ethernet интерфейс

 

А как получить информацию и о неработающих интерфейсах с помощью команды ifconfig? 

Для этого используйте опцию -a (--all) - ifconfig -a 

В выводе команды также обращайте внимание на счетчики RX packets, TX packets.  Если они равны 0, то интерфейс ничего не передает и не принимает, хотя и может быть в состоянии UP. К сожалению, IP адрес в выводах команд не указан, что говорит нам о том, что адрес не настроен.  

Попробуем теперь настроить адрес и маску.

 

Ручная настройка IP адреса 

Настроить все сетевые параметры можно 2-мя способами: 

  • командами
  • редактированием конфигурационных файлов

 

При использовании команд все настройки удаляются после перезагрузки системы. Поэтому, если нет необходимости держать выставленные настройки в течении долгого времени, то лучше воспользоваться командами. Сейчас мы воспользуемся командами, а позже рассмотрим как редактировать сами файлы. Выглядит команда так - ifconfig название_интерфейса IP_адрес netmask маска 

Настроим следующие адреса для обоих интерфейсов:

Отображение настроенных адресов

Попробуем снова войти на сайт mail.ru или gmail.com. И снова неудача. Дело в том, чтобы у нас работал интернет нам необходим маршрут по умолчанию, то есть компьютер должен знать куда отправить запрос.

 

Настройка и просмотр маршрута 

Как узнать настроен или не настроен шлюз по умолчанию (маршрут по умолчанию)? 

Для этого взглянем на таблицу маршрутизации - route:

Таблица маршрутиазции

Таблица не содержит шлюза по умолчанию, а значит нам некуда отправить наш запрос. Чтобы настроить адрес шлюза по умолчанию используйте команду - route add default gw IP_адрес_шлюза:

Шлюз по умолчанию назначен


Но какой адрес необходимо указывать? 

Обычно указывается адрес модема или маршрутизатора, подключенного к провайдеру. Чтобы удалить маршрут используйте del вместо addroute del default gw IP_адрес_шлюза. 

 

У нас 2 интерфейса. Можно сделать так, чтобы mail.ru работал через первый интерфейс, а gmail.com - через второй? 

Конечно. Для этого добавим новые маршруты в таблицу маршрутизации с помощью команды - route add -net IP_адрес_сети netmask маска_сети dev название_интерфейса. 

Вот как выглядят настройки:

Добавление нового маршрута


Мы установили маршрут по умолчанию, но все равно интернет не работает. В чем причина? 

Попробуем вместо mail.ru и gmail.com ввести их IP адреса: 217.69.139.199 и 172.217.23.197. 

Все будет работать! Это связано с тем, что мы не настроили адреса DNS серверов. Именно DNS сервер преобразует mail.ru в IP адрес. Без DNS нам пришлось бы запоминать адреса, а это не очень удобно. Гораздо удобнее запоминать слова. 

Итак, приступим к настройке DNS.

 

Настройка и просмотр DNS 

Для настройки адреса DNS сервера необходимо отредактировать файл /etc/resolv.confОткрыв файл, запишем в нем следующее: 

nameserver IP_адрес_DNS_сервера

Вот как выглядит запись у меня:

Настройки файла

Теперь попробуем проверить работает ли наш DNS сервер. Сделать это можно 2-мя командами: dig и nslookup: 

dig сайт:

Вывод команды dig


nslookup сайт:

Вывод команды nslookup


Перезагрузка и поднятие интерфейса 

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

 

Включение интерфейса: 

ifconfig название_интерфейса up 

либо 

ifup название_интерфейса

Выключение интерфейса: 

ifconfig название_интерфейса down 

либо 

ifdown  название_интерфейса

 

Перезагрузка, остановка, запуск сетевой службы на Debian/Ubuntu: 

/etc/init.d/networking restart

service networking restart

 

/etc/init.d/networking stop

service networking stop

 

/etc/init.d/networking start

service networking start

 

Перезагрузка, остановка, запуск сетевой службы на Red Hat/Fedora/CentOS: 

/etc/init.d/network restart

service network restart

 

/etc/init.d/network stop

service network stop

 

/etc/init.d/network start

service network start

 

Настройка с помощью DHCP 

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

Если в сети присутствует сервер, то достаточно выполнить команду dhclientИ все, что мы делали до этого вручную будет настроено автоматически.

 

 

Комментарии для сайта Cackle