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

  • 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

Существует и другая команда — ip address 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 вместо add — route 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 сайт

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. И все, что мы делали до этого вручную будет настроено автоматически.