- Настройка сети в Linux, диагностика и мониторинг
- Содержание
- Настройка TCP/IP в Linux для работы в сети Ethernet
- Параметры сети
- Файлы настроек сети в Linux (конфигурационные файлы)
- Настройка сети
- Диагностика сети Linux
- traceroute
- Как на Linux настроить интернет?
- 1. Как на Linux настроить интернет через DSL модем?
- 2. Как настроить интернет в Linux при LAN подключении?
Настройка сети в Linux, диагностика и мониторинг
Содержание
Доброго времени, уважаемые читатели. Публикую вторую часть статьи о сетевой подсистеме Linux. В текущей части основной упор сделан на реализацию сети в Linux (как настроить сеть в Linux, как продиагностировать сеть в Linux и поддерживать в рабочем состоянии сетевую подсистему в Linux).
Настройка TCP/IP в Linux для работы в сети Ethernet
Для работы с сетевыми протоколами TCP/IP в Linux достаточно наличие только петлевого интерфейса, но если необходимо объединить хосты между собой, естественно, необходимо наличие сетевого интерфейса, каналов передачи данных (например витая пара), возможно, какого-либо сетевого оборудования. Так же, необходимо наличие установленных утилит для настройки сети (/sbin/ifconfig, /sbin/route и др.), обычно поставляемые в пакете net-tools. Так же необходимо наличие конфигурационных файлов для сети (например /etc/hosts) и поддержку сети ядром Linux.
Параметры сети
Начнем понимание сетевых механизмов Linux с ручного конфигурирования сети, то есть со случая, когда IP адрес сетевого интерфейса статичен. Итак, при настройке сети, необходимо учесть и настроить следующие параметры:
IP-адрес — как уже говорилось в первой части статьи — это уникальный адрес машины, в формате четырех десятичных чисел, разделенных точками. Обычно, при работе в локальной сети, выбирается из частных диапазонов, например: 192.168.0.1
Маска подсети — так же, 4 десятичных числа, определяющие, какая часть адреса относиться к адресу сети/подсети, а какая к адресу хоста. Маска подсети является числом, которое складывается (в двоичной форме) при помощи логического И, с IP-адресом и в результате чего выясняется, к какой подсети принадлежит адрес. Например адрес 192.168.0.2 с маской 255.255.255.0 принадлежит подсети 192.168.0.
Адрес подсети — определяется маской подсети. При этом, для петлевых интерфейсов не существует подсетей.
Широковещательный адрес — адрес, используемый для отправки широковещательных пакетов, которые получат все хосты подсети. Обычно, он равен адресу подсети со значением хоста 255, то есть для подсети 192.168.0 широковещательным будет 192.168.0.255, аналогично, для подсети 192.168 широковещательным будет 192.168.255.255. Для петлевых интерфейсов не существует широковещательного адреса.
IP адрес шлюза — это адрес машины, являющейся шлюзом по-умолчанию для связи с внешним миром. Шлюзов может быть несколько, если компьютер подключен к нескольким сетям одновременно. Адрес шлюза не используется в изолированных сетях (не подключенных к глобальной сети), потому что данным сетям некуда отправлять пакеты вне сети, то же самое относиться и к петлевым интерфейсам.
Файлы настроек сети в Linux (конфигурационные файлы)
Для понимания работы сети в Linux, я бы обязательно посоветовал ознакомиться со статьей «Этапы загрузки Linux». В целом, вся работа Linux основана на процессе init, который рождается при загрузке ОС и плодит своих потомков, которые в свою очередь и выполняют всю необходимую работу, будь то запуск bash или демона. Да, и вся загрузка Linux основана на скриптах bash, в которых прописана вся последовательность запуска мелких утилит с различными параметрами, которые последовательно запускаются/останавливаются при запуске/остановке системы. Аналогично запускается и сетевая подсистема Linux. Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина, думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов, станет более-менее понятно, например у Debian/Ubuntu (за основу возьмем эту ветвь дистрибутивов) за инициализацию сети отвечает скрипт /etc/init.d/networking , просмотрев содержимое которого:
можно найти несколько функций, проверяющих наличие подключенных сетевых файловых систем (check_network_file_systems(), check_network_swap()), а так же проверку существования какого-то пока непонятного конфига /etc/network/options (функция process_options()), а в самом низу, конструкцией case «$1» in проверяется первый параметр переданный скрипту и в соответствии с введенным параметром (start/stop/force-reload|restart или любое дугое) производит определенные действия. Из этих самых «определенных действий», на примере аргумента start видно, что сначала запускается функция process_options, далее отправляется в лог фраза Configuring network interfaces, и запускается команда ifup -a. Если посмотреть man ifup, то видно что данная команда читает конфиг из файла /etc/network/interfaces и согласно ключу -a запускает все интерфейсы имеющие параметр auto.
Соответственно, прочитав man interfaces (rus) или man interfaces (eng), становиться ясно, как же в Debian/Ubuntu настроить какой-либо сетевой интерфейс с помощью конфига /etc/network/interfaces. Ниже, пример данного конфигурационного файла для 3х интерфейсов: петлевой (lo), со статичным IP (eth2) и IP получаемым по dhcp (eth0):
В данном конфиге строки allow-hotplug и auto — это синонимы и интерфейсы будут подняты по команде ifup -a. Вот, собственно, и вся цепь работы сетевой подсистемы. Аналогично, в других дистрибутивах: в RedHat и SUSE сеть запускается скриптом /etc/init.d/network. Рассматрев его, аналогично можно найти, где лежит конфигурация сети.
/etc/hosts
Данный файл хранит перечень IP адресов и соответствующих им (адресам) имен хостов.Формат файла ничем не отличается от мастдайного:
/etc/networks
Данный файл хранит имена и адреса локальной и других сетей. Пример:
При использовании данного файла, сетями можно управлять по имени. Например добавить маршрут не route add 192.168.1.12, а route add home-network.
/etc/nsswitch.conf
Файл определяет порядок поиска имени хоста/сети, за данную настройку отвечают строки:
Параметр files указывает использовать указанные файлы (/etc/hosts и /etc/networks соответственно), параметр dns указывает использовать службу dns.
/etc/resolv.conf
Этот файл определяет параметры механизма преобразования сетевых имен в IP адреса. Пример:
В современных дистрибутивах Linux используется динамическая генерация данного файла, с помощью утилиты resolvconf. Она является посредником между службами, динамически предоставляющими сервера имен (например DHCP client) и службами, использующими данные сервера имен. Статические адреса DNS серверов, в случае использования resolvconf, задаются внутри /etc/network/interfaces (подробнее об этом — в разделе настройки).
Настройка сети
Настройка сети подробно разобрана в отдельной статье.
Диагностика сети Linux
Существует большое количество инструментов диагностики сети в Linux, зачастую, они очень похожи на утилиты от Microsoft. Я рассмотрю 3 основные утилиты диагностики сети, без которых выявить неполадки будет проблематично.
Думаю, что данная утилита знакома чуть ли не каждому. Работа этой утилиты заключается в отправке т.н. пакетов ICMP удаленному серверу, который будет указан в параметрах команды, сервер возвращает отправленные команды, а ping подсчитывает время требуемое отправленному пакету, чтобы дойти до сервера и вернуться. Например:
Так же, утилита ping интересна тем, что может позволить увидеть, где именно возникли неполадки. Допустим, утилита ping выводит сообщение network not reachable (сеть недоступна), либо другое аналогичное сообщение. Это, скорее всего, говорит о некорректной настройке вашей системы. В таком случае, можно послать пакеты по IP-адресу провайдера, чтобы понять, в каком месте возникает проблема (между локальным ПК или «дальше»). Если Вы подключены к интернету через маршрутизатор, то можно послать пакеты по его IP. Соответственно, если проблема проявиться уже на этом этапе, это говорит, о неправильном конфигурировании локальной системы, либо о повреждении кабеля, если маршрутизатор отзывается, а сервер провайдера нет, то проблема — в канале связи провайдера и т.д. Наконец, если неудачей завершилось преобразовании имени в IP, то можно проверить связь по IP, если ответы будут приходить корректно, то можно догадаться, что проблема в DNS .
Следует отметить, что данная утилита не всегда надежный инструмент для диагностики. Удаленный сервер может блокировать ответы на ICMP запросы.
traceroute
Простым языком, команда называется трассировка маршрута. Как можно понять из названия — данная утилита покажет по какому маршруту шли пакеты до хоста. Утилита traceroute несколько похожа на ping, но отображает больше интересной информации. Пример:
Источник
Как на Linux настроить интернет?
Настроить на Linux интернет обычно задача тривиальная, так как в большинстве случаев все проходит автоматически. Но иногда требуются минимальные знания, чтобы просто знать, куда ткнуть мышкой и где вообще искать настройки сети. Для тех, кто в первый раз загрузил Linux, и это может стать проблемой.
Именно для таких новобранцев постоянно растущей армии Linux я и решил написать небольшую заметку о том, как на Linux настроить интернет самому. Так же хочу показать, как можно настроить свой роутер и как прописать клонированный MAC адрес, если это необходимо. Итак, где же искать эти настройки интернета в Linux?
Вообще существуют два (как минимум) вида провайдеров, которые подключают услугу интернета:
1. Телефонная компания, которая по вашему телефонному проводу подаёт дополнительный DSL сигнал.
2. Провайдер, который тянет свои сетевые провода по подвалам и подъездам и предоставляет вам интернет на основе вашего уникального MAC адреса.
Тут настройка доступа к Интернет в Ubuntu Linux будет разная, но и в том и другом случае ничего сложного обычно нет. Коротко расскажу о том, как настроить интернет в linux и в том, и в другом случае.
1. Как на Linux настроить интернет через DSL модем?
Тут есть два варианта: или осуществлять подключение к интернету через технологию DSL в самом модеме, или уже непосредственно на компьютере. Что лучше? Тут всё зависит от обстоятельств.
В первом случае интернет будет доступен всем пользователям компьютера, так как будет подключаться автоматически. Во втором случае подключать интернет нужно будет непосредственно каждому пользователю. И если у вас есть дети и у них отдельный аккаунт в Linux (или Windows), то это хорошо, негоже детям лазить самим по глобальной сети.
Но тут есть и минусы: если у вас wifi роутер, то второй вариант не очень удобен, так как потребует настройку DSL подключения на каждом устройстве. А на планшете это не удобно, а порой и просто невозможно.
У меня детей нет, поэтому я предпочитаю первый вариант: раз настроил и забыл. А вы решайте сами.
Как настроить интернет в самом роутере или маршрутизаторе, или DSL модеме (называют и так, и так)? Я покажу вам на своём примере.
Откройте свой браузер и введите введите в адресную строку адрес роутера. Обычно он такой: 192.168.1.1 и введите потом логин и пароль — обычно это admin и admin.
В разных модемах и роутерах будет разный интерфейс, но если вы поймёте суть, то вам будет не сложно.
1. Нужно во первых изменить режим модема с Bridge на PPPoE.
2. После этого вам нужно ввести свой логин и пароль, которые вам дал провайдер.
После этого сохраняем настройки и ждём, пока модем перезагрузится. Теперь у вас должен появиться интернет, можно найти вкладку СТАТУС тут же и посмотреть, появились там адреса провайдера.
Если у вас не просто роутер, а wifi роутер, то можно настроить тут же и беспроводную связь. Тут тоже нет ничего сложного. Ищем тут же вкладку с названием WIRELESS.
1. Активируем беспроводный модуль, поставив галочку на Activated.
2. Задаём SSID (имя нашей беспроводной сети — любое слово латинскими буквами) и метод шифрования (можно любой).
3. Придумываем пароль латинскими буквами и цифрами (не меньше 8 символов).
Всё, сохраняем настройки и ищем через какое то время нашу сеть на ноутбуке или планшете. Тут всё просто: в Linux есть на панели задач значок беспроводной сети. Тыкаем по нему курсором и нажимаем левую кнопку мышки. Нам покажут все доступные сети. Выбираем нашу и нажимаем кнопку ПОДКЛЮЧИТЬ. Вводим придуманный нами пароль и радуемся:)
А что если мы решили настроить DSL или PPPoE подключение не в роутере, а на самом компьютере? Тогда в модеме нужно поставить опцию BRIDGE и больше ничего не настраивать.
Идём опять же в панель задач и щёлкаем на значке сетевого подключения и выбираем пункт ИЗМЕНИТЬ СОЕДИНЕНИЯ. Переходим на вкладку DSL и настраиваем новое соединение.
После этого у вас в меню подключения к сети должен появиться пункт вашего нового соединения. Но если вы поставите галочку на автоматическом подключении, то всё происходить на автомате, если нет, то нужно будет каждый раз подключаться вручную.
2. Как настроить интернет в Linux при LAN подключении?
Честно говоря не помню, как это называется, когда провайдер предоставляет прямое подключение по локальной сети. Но суть там проста: к вам домой подводят сетевой кабель, который вы втыкаете прямо в компьютер. Приходит мастер, смотрит ваш уникальный MAC адрес и передаёт его провайдеру.
Теперь интернет будет автоматически работать на вашем компьютере. Но если вы подключите к этому кабелю другой компьютер, то интернет работать уже не будет, так как MAC адрес у этого компьютера совсем другой. И даже если вы подключите роутер, то и он работать сразу не будет, так как и у него другой MAC адрес.
Но вопрос решается просто. Нужно узнать наш эталонный MAC адрес и прописать его в роутер. В любом роутере есть такая функция, и сделать это не сложно, и найти это меню можно по слову CLONE MAC — клонирование mac адреса, или что-то подобное. После этого интернет должен заработать. Если нужно настроить беспроводную сеть, то делаем так же, как описано выше.
Если же вы хотите просто подключать разные компьютеры к одному кабелю, то в этом случае вам нужно на втором, третьем и так далее компьютере прописать эталонный MAC адрес. Как это сделать?
Заходим опять в сетевые подключения — ИЗМЕНИТЬ СОЕДИНЕНИЯ — ПРОВОДНЫЕ. У нас там должно отображаться хотя бы одно наше сетевое подключение. Выделяем его и жмём кнопку слева — ИЗМЕНИТЬ.
Теперь вписываем в поле КЛОНИРОВАННЫЙ АДРЕС наш эталонный MAC адрес, по образцу основного MAC адреса, через двоеточие. Все, теперь и второй ноутбук или компьютер будет работать от этого же кабеля.
Конечно, одновременно два компьютера не включишь, для этого нужен роутер, но это по крайней мере что-то. Если будут вопросы, пишите, попробую помочь!
Источник