Настройка сети в Linux, диагностика и мониторинг Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:настройка_сети_в_linux [2016/06/01 14:45]
[Настройка сети]
wiki:настройка_сети_в_linux [2016/06/01 14:55] (текущий)
[Файлы настроек сети в Linux (конфигурационные файлы)]
Строка 24: Строка 24:
  
 Для понимания работы сети в Linux, я бы обязательно посоветовал ознакомиться со статьей "​[[http://​www.k-max.name/​linux/​nachalo-etapy-zagruzki-os-linux-v-sxeme/​|Этапы загрузки Linux]]"​. В целом, вся работа Linux основана на [[http://​www.k-max.name/​linux/​nachalo-etapy-zagruzki-os-linux-v-sxeme/#​init|процессе init]], который рождается при загрузке ОС и плодит своих потомков,​ которые в свою очередь и выполняют всю необходимую работу,​ будь то запуск bash или демона. Да, и вся загрузка Linux основана на [[http://​www.k-max.name/​category/​linux/​bash/​|скриптах bash]], в которых прописана вся последовательность запуска мелких утилит с различными параметрами,​ которые последовательно запускаются/​останавливаются при запуске/​остановке системы. Аналогично запускается и сетевая подсистема Linux. Для понимания работы сети в Linux, я бы обязательно посоветовал ознакомиться со статьей "​[[http://​www.k-max.name/​linux/​nachalo-etapy-zagruzki-os-linux-v-sxeme/​|Этапы загрузки Linux]]"​. В целом, вся работа Linux основана на [[http://​www.k-max.name/​linux/​nachalo-etapy-zagruzki-os-linux-v-sxeme/#​init|процессе init]], который рождается при загрузке ОС и плодит своих потомков,​ которые в свою очередь и выполняют всю необходимую работу,​ будь то запуск bash или демона. Да, и вся загрузка Linux основана на [[http://​www.k-max.name/​category/​linux/​bash/​|скриптах bash]], в которых прописана вся последовательность запуска мелких утилит с различными параметрами,​ которые последовательно запускаются/​останавливаются при запуске/​остановке системы. Аналогично запускается и сетевая подсистема Linux.
-Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина,​ думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов,​ станет более-менее понятно,​ например у Debian (за основу возьмем этот дистрибутив) за инициализацию сети отвечает скрипт ''/​etc/​init.d/​networking'',​ просмотрев содержимое которого:​+Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина,​ думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов,​ станет более-менее понятно,​ например у Debian/​Ubuntu ​(за основу возьмем эту ветвь дистрибутивов) за инициализацию сети отвечает скрипт ''/​etc/​init.d/​networking'',​ просмотрев содержимое которого:​
  
 <code bash> <code bash>
Строка 146: Строка 146:
 </​file>​ </​file>​
  
-Соответственно,​ прочитав [[http://​manpages.ylsoftware.com/​dokuwiki/​man/​debian/​interfaces_5|man interfaces (rus)]] или [[http://​www.opennet.ru/​man.shtml?​topic=interfaces&​russian=0&​category=&​submit=%F0%CF%CB%C1%DA%C1%D4%D8+man|man interfaces (eng)]], становиться ясно, как же в Debian настроить какой-либо сетевой интерфейс с помощью конфига **/​etc/​network/​interfaces**. Ниже, пример данного конфигурационного файла для 3х интерфейсов:​ пертлевой (lo), со статичным IP (eth2) и IP получаемым по [[http://​www.k-max.name/​linux/​dhcp-server-na-linux/​|dhcp]] (eth0):+Соответственно,​ прочитав [[http://​manpages.ylsoftware.com/​dokuwiki/​man/​debian/​interfaces_5|man interfaces (rus)]] или [[http://​www.opennet.ru/​man.shtml?​topic=interfaces&​russian=0&​category=&​submit=%F0%CF%CB%C1%DA%C1%D4%D8+man|man interfaces (eng)]], становиться ясно, как же в Debian/​Ubuntu ​настроить какой-либо сетевой интерфейс с помощью конфига **/​etc/​network/​interfaces**. Ниже, пример данного конфигурационного файла для 3х интерфейсов:​ петлевой (lo), со статичным IP (eth2) и IP получаемым по [[http://​www.k-max.name/​linux/​dhcp-server-na-linux/​|dhcp]] (eth0):
  
 <​file>​ <​file>​
Строка 207: Строка 207:
 **/​etc/​resolv.conf** ​ **/​etc/​resolv.conf** ​
  
-Данный фал определяет параметры механизма преобразования сетевых имен в IP адреса. Простым языком,​ **определяет настройки DNS**. Пример:​+Этот файл определяет параметры механизма преобразования сетевых имен в IP адреса. Пример:​
 <​file>​ <​file>​
 ip-server:​~#​ cat /​etc/​resolv.conf ip-server:​~#​ cat /​etc/​resolv.conf
Строка 215: Строка 215:
 </​file>​ </​file>​
  
-Первые 2 строчки **указывают сервера DNS**. Третья строка указывает домены поиска. Если при разрешении имени, имя не будет FQDN-именем,​ то данный домен подставиться в виде "​окончания"​. Например при выполнении команды ping host, прингуемый адрес преобразуется в host.domain.local. Остальные параметры можно почитать в [[http://​opennet.ru/​man.shtml?​topic=resolv.conf&​category=5&​russian=0|man resolv.conf]]. ​Очень часто, в Linux используется динамическая генерация данного файла, с помощью т.н. программы **/sbin/resolvconf**. ​Данная программа является посредником между службами,​ динамически предоставляющими сервера имен (например //DHCP client//) и службами,​ использующими данные сервера имен. ​Для ​того чтобы использовать динамически ​генерируемый файл ///​etc/​resolv.conf//,​ необходимо ​сделать данный файл символической ссылкой на **/etc/resolvconf/​run/​resolv.conf**. В некоторых дистрибутивах ​путь может быть ​другой, об этом ​обязательно будет написано в **man resolvconf**.+Первые 2 строчки **указывают сервера DNS**. Третья строка указывает домены поиска. Если при разрешении имени, имя не будет FQDN-именем,​ то данный домен подставиться в виде "​окончания"​. Например при выполнении команды ping host, прингуемый адрес преобразуется в host.domain.local. Остальные параметры можно почитать в [[http://​opennet.ru/​man.shtml?​topic=resolv.conf&​category=5&​russian=0|man resolv.conf]]. ​\\ 
 + 
 +В современных дистрибутивах Linux используется динамическая генерация данного файла, с помощью ​утилиты **resolvconf**. ​Она является посредником между службами,​ динамически предоставляющими сервера имен (например //DHCP client//) и службами,​ использующими данные сервера имен. ​Статические ​адреса DNS серверов, в случае использования **resolvconf**, задаются внутри ​/​etc/​network/​interfaces (подробнее ​об этом ​- в разделе настройки).
  
 ===== Настройка сети ===== ===== Настройка сети =====