Работа в сети является одной из самых важных не только для пользователя, но и для самой операционной системы. Чтобы все работало правильно нам необходимо настроить следующие параметры:
- 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. И все, что мы делали до этого вручную будет настроено автоматически.