Главная » Операційні системи » Linux » Як налаштувати лінукс. Настройка мережі в Linux, діагностика та моніторинг
Ротару:и даже после 45 лет Ваша кожа будет свежей и подтянутой, если...


Добавляю 1 каплю и СЕКС с мужем длится по 2-3 часа. Потенция железная!


Почему все аптеки молчат? Грибок ногтя боится как огня дешевого...


При простатите и вялой потенции никогда не трогайте свой...


Вам кричу! Если ноют колени и тазобедренный сустав cразу убирайте из рациона...

Як налаштувати лінукс. Настройка мережі в Linux, діагностика та моніторинг

Як налаштувати лінукс. Настройка мережі в 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 адреса шлюзу - це адреса машини, що є шлюзом за замовчуванням для зв'язку із зовнішнім світом. Шлюзів може бути кілька, якщо комп'ютер підключений до декількох мереж одночасно. Адреса шлюзу не використовується в ізольованих мережах (які не підключені до глобальної мережі), тому що даним мереж нікуди відправляти пакети поза мережею, то ж саме відноситься і до петльовим інтерфейсів.

IP-адреса сервера імен (DNS - сервера) - адреса сервера перетворює імена хостів в IP адреси. Зазвичай, надається провайдером.

Файли налаштувань мережі в Linux (конфігураційні файли)

Для розуміння роботи мережі в Linux, я б обов'язково порадив ознайомитися зі статтею »Етапи завантаження Linux». В цілому, вся робота Linux заснована на процесі init. який народжується при завантаженні ОС і плодить своїх нащадків, які в свою чергу і виконують всю необхідну роботу, будь то запуск bash або демона. Так, і вся завантаження Linux заснована на скриптах bash. в яких прописана вся послідовність запуску дрібних утиліт з різними параметрами, які послідовно запускаються / зупиняються при запуску / зупинки системи. Аналогічно запускається і мережева підсистема Linux. Кожен дистрибутив Linux має злегка відрізняється від інших механізм ініціалізації мережі, але загальна картина, думаю, після прочитання буде ясна. Якщо переглянути стартові скрипти мережевої підсистеми будь-якого дистрибутива Linux, то, як налаштувати конфігурацію мережі за допомогою конфігураційних файлів, стане більш-менш зрозуміло, наприклад у Debian (за основу візьмемо цей дистрибутив) за ініціалізацію мережі відповідає скрипт / 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 налаштувати будь-якої мережевий інтерфейс за допомогою конфіга / etc / network / interfaces . Нижче, приклад даного конфігураційного файлу для 3х інтерфейсів: пертлевой (lo), зі статичним IP (eth2) і IP одержуваних за dhcp (eth0):

В даному конфіги рядки Allow-hotplug і Auto - це синоніми і інтерфейси будуть підняті по команді ifup - a. Ось, власне, і вся ланцюг роботи мережевої підсистеми. Аналогічно, в інших дистрибутивах: в RedHat і SUSE мережу запускається скриптом / etc / init. d / network . Продовжимо розглядати його, аналогічно можна знайти, де лежить конфігурація мережі.

Даний файл зберігає перелік IP адрес і Відповідних їм (адресами) імен хостів .Формат файлу нічим не відрізняється від мастдайного:

Історично, даний файл використовувався замість служби DNS. В даний час, файл так само може використовуватися замість служби DNS. але тільки за умови, що у вашій мережі кількість машин вимірюється в одиницях, а не в десятках або сотнях, тому що в такому випадку, доведеться контролювати коректність даного файлу на кожній машині.

/ 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 адреси. Простою мовою, Визначає налаштування DNS . приклад:

Перші 2 рядки Вказують сервера DNS .

Третій рядок вказує домени пошуку. Якщо при вирішенні імені, ім'я не буде FQDN-ім'ям, то даний домен підставитися у вигляді «закінчення». Наприклад при виконанні команди ping host, прінгуемий адреса перетворюється в host. domain. local. Інші параметри можна почитати в man resolv. conf. Дуже часто, в Linux використовується динамічна генерація даного файлу, за допомогою т. Зв. програми / sbin / resolvconf . Дана програма є посередником між службами, динамічно що надають сервера імен (наприклад DHCP client) і службами, що використовують дані сервера імен. Для того щоб використовувати динамічно генерується файл / etc / resolv. conf. необхідно зробити даний файл символічною посиланням на / etc / resolvconf / run / resolv. conf . У деяких дистрибутивах шлях може бути інший, про це обов'язково буде написано в Man resolvconf .

Налаштування мережі

Ознайомившись з основними файлами, можна подивитися на команди управління мережею. Вище вже говорилося про команду Ifup . Ifdown . але ці кошти не зовсім універсальні, припустимо в дистрибутивах RH даних команд за замовчуванням немає. Крім того, в нових дистрибутивах з'явилося нове високорівневе засіб управління мережею - команда Ip . Але в поточному пості я його розглядати не буду. Йому я присвячу окремий пост.

Отже, щоб бути впевненим в працездатності команди в будь-якому дистрибутиві, необхідно користуватися двома основними командами-дідусями. Це ifconfig і route. Перша команда (ifconfig) відповідає за Налаштування мережевих інтерфейсів (ip, маска, шлюз), друга (route) - Налаштування маршрутизації . Хочеться зауважити, що виконання даних команд без відключення стандартного скрипта запуску мережевої підсистеми внесе зміни тільки до першого перезавантаження / перезапуску мережевий служби, т. К. Якщо розкинути мізками, то можна зрозуміти, що скрипт / etc / init. d / networking наступного разу, коли перечитає зазначені вище конфіги і застосує старі настройки. Відповідно, вихід для постійного встановлення налаштувань - або команда ifconfig з відповідними параметрами - вписати в rc. local. або поправити руками відповідні конфіги мережевих інтерфейсів.

Так само, якщо виконується команда ifconfig з відсутніми параметрами (наприклад тільки IP адреса), то інші доповнюються автоматично (наприклад бродкаст адреса додається за замовчуванням з хостової адресою, що закінчується на 255 і маска підмережі за замовчуванням береться 255.255.255.0).

Маршрутизація для наявних інтерфейсів завжди піднімається автоматично силами ядра. Вірніше сказати, прямі марштури в мережу, в яку дивиться піднятий інтерфейс формуються автоматично, силами ядра. Поле gateway (шлюз) для таких записів показує адресу вихідного інтерфейсу або *. Якщо є необхідність організувати свої маршрути, то необхідно скористатися командою route. Даною командою можна додавати і видаляти маршрути, але знову ж таки, це допоможе тільки до перезапуску / etc / init. d / networking (або іншого скрипта, який відповідає за вашу мережу). Щоб маршрути додавалися автоматом, необхідно так само, як і з ifconfig - додати команди додавання маршрутів в rc. local, або поправити руками відповідні конфіги мережевих інтерфейсів (наприклад в Deb - / etc / network / options ).

Діагностика мережі Linux

Існує велика кількість інструментів діагностики мережі в Linux, часто, вони дуже схожі на утиліти від Microsoft. Я розгляну 3 основні утиліти діагностики мережі, без яких виявити неполадки буде проблематично.

Ping

Думаю, що дана утиліта знайома чи не кожному. Робота цієї утиліти полягає в Відправлення т. н. Пакетів ICMP віддаленим сервером який буде зазначений у параметрах команди, сервер повертає відправлені команди, а Ping підраховує час необхідний відправленому пакету, щоб дійти до сервера і повернутися. наприклад:

Як видно, з наведеного прикладу, Ping виводить нам купу корисної інформації. Перш за все, ми з'ясували, що Можемо встановити з'єднання з хостом ya. ru (іноді кажуть, що «хост ya. ru нам доступний»). По-друге, ми бачимо, що DNS працює коректно . тому що «пінгуемое» ім'я було коректно перетворено в IP адреса (PING ya. ru (87.250.251.3)). Далі, в полі Icmp_seq = вказана нумерація відправляються пакетів . Кожному відправляється пакету послідовно присвоюється номер і якщо в даній нумерації будуть «провали», то це нам розповість про те, що з'єднання з «пінгуемим» нестійкий, а так само може означати, що сервер, з яким шлють пакети перевантажений. За значенням Time = ми бачимо, Скільки часу пакет подорожував до 87.250.251.3 і назад. Зупинити роботу утиліти ping можна клавішами Ctrl + C.

Так само, Утиліта ping цікава тим, що може дозволити побачити, де саме виникли неполадки. Припустимо, Утиліта ping виводить повідомлення Network not reachable (мережа недоступна) . або інше аналогічне повідомлення. Це, швидше за все, говорить про некоректної налаштування вашої системи. В такому випадку, можна послати пакети по IP-адресою провайдера, щоб зрозуміти, в якому місці виникає проблема (між локальним ПК або «далі»). Якщо Ви підключені до інтернету через маршрутизатор, то можна послати пакети по його IP. Відповідно, якщо проблема проявитися вже на цьому етапі, це говорить, про неправильне конфігурації локальної системи, або про пошкодження кабелю, якщо маршрутизатор відгукується, а сервер провайдера немає, то проблема - в каналі зв'язку провайдера і т. Д. Нарешті, якщо невдачею завершилося перетворенні імені в IP, то можна перевірити зв'язок по IP, якщо відповіді будуть приходити коректно, то можна здогадатися, що проблема в DNS.

Слід зазначити, що дана утиліта не завжди надійний інструмент для діагностики. Віддалений сервер може блокувати відповіді на ICMP запити.

Traceroute

Простою мовою, команда називається Трасування маршруту . Як можна зрозуміти з назви - дана утиліта покаже по якому маршруту йшли пакети до хоста. Утиліта traceroute дещо схожа на ping, але відображає більше цікавої інформації. приклад:

Як видно, можна простежити маршрут від маршрутизатора провайдера 243-083-free. kubtelecom. ru (213.132.83.243) (Південь Росії) до кінцевого хоста в www. yandex. ru (213.180.204.3) в москві.

Dig

Команда dig послала запит серверу DNS - ns. kuban. ru ( @ns. kuban. ru - даний параметр вказувати не обов'язково, в такому випадку джерелом інформації про DNS буде взятий сервер з налаштування вашої системи) про доменне ім'я roboti. ru. В результаті чого, отримала відповідь, в якому ми можемо побачити в розділі ANSWER SECTION інформацію про IP адреси домену, в розділі AUTHORITY SECTION інформацію про т. Зв. авторитетних DNS серверах. Третій рядок знизу говорить нам про те, який сервер надав відповідь.

Ротару:и даже после 45 лет Ваша кожа будет свежей и подтянутой, если...


Добавляю 1 каплю и СЕКС с мужем длится по 2-3 часа. Потенция железная!


Почему все аптеки молчат? Грибок ногтя боится как огня дешевого...


При простатите и вялой потенции никогда не трогайте свой...


Вам кричу! Если ноют колени и тазобедренный сустав cразу убирайте из рациона...