Контакти

Як відредагувати файл hosts в Ubuntu. Як налаштувати віртуальні хости в Ubuntu або Debian Файл hosts в ubuntu

Якщо потрібно конфігурувати мережеву карту, То виберіть IP-адреса, повне доменне ім'я (FQDN), а також можливі аліаси, які будуть вказуватися в файлі / etc / hosts. Синтаксис наступний:

IP_address myhost.example.org aliases

Якщо ви не бажаєте, щоб комп'ютер було видно в інтернеті (т. Е. Мав зареєстрований домен і допустимий діапазон призначених IP-адрес - у більшості користувачів їх немає), просто перевірте, щоб IP-адреса знаходиться в діапазоні приватних мережевих адрес IP. Допустимі діапазони:

Діапазон приватних мережевих адрес Звичайний префікс 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24

x може бути будь-яким числом в діапазоні 16 - 31. y може бути будь-яким числом в діапазоні 0 - 255.

Допустимим приватним IP-адресою може бути 192.168.1.1. Допустимим повним доменним ім'ям FQDN для цього IP може бути lfs.example.org.

Навіть якщо мережева карта не використовується, повне доменне ім'я FQDN все ще може знадобитися. Воно необхідне в деяких програмах для того, щоб вони працювали належним чином.

Створіть файл / etc / hosts наступним чином:

Cat\u003e / etc / hosts< "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost <192.168.1.1> # End / etc / hosts (network card version) EOF

значення<192.168.1.1> і слід змінити у відповідність до вимог конкретних користувачів або іншими вимогами (якщо адреса IP призначається мережевим / системним адміністратором і машина підключається до існуючої мережі). Необов'язкові імена алиасов можна опустити.

Якщо не потрібно конфігурувати мережеву карту, створіть файл / etc / hosts наступним чином:

Cat\u003e / etc / hosts< "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # End / etc / hosts (no network card version) EOF

Попередній розділ:

Працюючи в інших OC ви може вже і знаєте де знаходиться файл hosts, Але перейшовши на Ubuntu Linux, Ви можете трохи загубитися де даний файл знаходиться і як його редагувати.

Що таке файл hosts? Де він знаходиться в Ubuntu і як його редагувати, вам цікаво, читаємо матеріал нижче.

HOSTS - це текстовий файл, Який містить базу даних доменних імен і використовується для їх трансляції в мережеві адреси вузлів. Запит до цього файлу грає дуже важливу роль і має дуже високий пріоритет перед зверненням до DNS-серверів. На відміну від DNS який оновлюється від 30 хвилин до 2-3 діб, вміст файлу контролюється адміністратором комп'ютера і може оновлюватися в будь-який момент при необхідності.

Працюючи в інших OC, ви може вже і знаєте де знаходиться файл hosts, але перейшовши на будь-яку іншу, наприклад Ubuntu Linux, ви без підказки будете довго шукати, а де даний файл знаходиться і як його редагувати.

  • C: \\ WINDOWS \\ system32 \\ drivers \\ etc - в Windows
  • / Etc / hosts - В Ubuntu

Для відкриття файлу hosts на редагування в Ubuntu, відкрийте термінал (CTRL + ALT + T) і виконайте команду:

Sudo gedit / etc / hosts

після чого даний файл відкриється в стандартному редакторі зручному для редагування, стандартне вміст файлу:

127.0.0.1 localhost 127.0.1.1 your-pc # The following lines are desirable for IPv6 capable hosts :: 1 ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ff00 :: 0 ip6-mcastprefix ff02 :: 1 ip6-allnodes ff02 :: 2 ip6-allrouters

Якщо ви хочете прописати потрібний вам домен і айпі, можете писати відразу ж після другого рядка на самому початку файлу, прописавши все необхідне, натисніть в редакторі Gedit кнопку зберегти і готово, комп'ютер перезавантажувати не потрібно.

файл hosts має такий вигляд:

(IP - IP адреса вузла) (Назва хоста - ім'я вузла в домені). (Домен - доменне ім'я) (Алиас - визначає додаткове ім'я вузла)

більш детальну інформацію по роботі з файлом hosts ви можете отримати виконавши в терміналі команду man hosts.

Приклад запису:

193.109.247.234 linuxsoid.com 88.212.202.38 li.ru

ось так все просто, вносимо зміни, зберігаємо і готово, будуть питання, запитуйте в коментарях до матеріалу.

Я говорив, що напишу про те як налаштувати віртуальні хости в Ubuntu і змінити каталог для розміщення сайтів. Ну ось, пишу.

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

Налаштування кореневого каталогу для сайтів

За замовчуванням Apache шукає інтернет сторінки в / Var / www / html. Але для користувача це може бути незручно. Тому при бажанні кореневої каталог можна змінити. Я наприклад, для своїх сайтів буду використовувати папку public_html в домашньому каталозі. Крім того, я відразу ж створю папку для тестового сайту testsite.loc і безпосередньо папку, в якій будуть знаходиться файли сайту www. Тобто потрібно створити таку структуру каталогів: /public_html/testsite.loc/www/. Можна зробити це через файловий менеджер, Можна через термінал:

Mkdir -p public_html / testsite.loc / www

Відразу створюємо просту тестову сторінку index.html

Налаштування віртуальних хостів

Привіт!!



І зберігаємо її в папку www.

Тепер редагуємо файл віртуального хоста 000-default.conf, Щоб вказати Apache де ми тепер розміщуємо сайти:

Sudo gedit /etc/apache2/sites-available/000-default.conf

В відкрилися файлі знаходимо рядок, яка починається з DocumentRoot і міняємо шлях на новий: / Home / user / public_html /. де user - ваше ім'я користувача.

Зберігаємо файл і закриваємо редактор.

Внесемо зміни в файл настройок apache2.conf:

Sudo gedit /etc/apache2/apache2.conf

Додаємо в відкрився файл такий блок:

Options Indexes FollowSymLinks AllowOverride None Require all granted

Знову ж, не забуваємо замінити user на своє ім'я користувача. Зберігаємо файл.

Створюємо файл конфігурації нового хоста. Для цього скопіюємо стандартний файл 000-default.conf і перейменуємо його на testsite.conf:

Sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

Тепер відредагуємо його:

Sudo gedit /etc/apache2/sites-available/testsite.conf

Для зручності можна видалити всі закоментовані рядки (які починаються з #)

Додаємо «ServerName testsite.loc»

Додаємо «ServerAlias \u200b\u200bwww.testsite.loc»

У DocumentRoot вказуємо шлях до каталогу з файлами сайту.

Зберігаємо зміни.

І включаємо сайт:

Sudo a2ensite testsite.conf

Перезавантажуємо Apache:

Service apache2 reload

файл hosts

Для того, щоб перенаправляти запити браузера на наш сервер. Відредагуємо файл hosts:

Sudo gedit / etc / hosts

У першому рядку через пропуск, поруч з localhost дописуємо домени нашого сайту testsite.loc і www.testsite.loc

зберігаємо зміни

Чи можемо перевірити результат нашої роботи. Набираємо в браузері адресу нашого сайту - testsite.loc.

Права на папки

Сервер Apache працює від групи і користувача www-data. У домашньому каталозі же, власник файлів поточний користувач. Тому, щоб не виникало проблем, потрібно на файли і папки всередині public_html і на її саму змінити права. Для цього вводимо в терміналі.

файл hosts використовується для локальної установки відповідності між IP адресою і доменом. Розташована в ньому інформація має найвищий пріоритет і поширюється тільки в межах комп'ютера, на якому цей файл змінювався.

Відео про роботу з файлом hosts

Де знаходиться файл hosts?

Знайти файл hosts в системі не складе ніяких труднощів.

У разі даний файл розташований в наступній директорії:

/ Etc / hosts

У разі Windows:

C: / Windows / System32 / Drivers / etc / hosts

У шлях розташування файлу hosts можна змінити в реєстрі, доступ до якого можна отримати через редактор regedit. Запустити його можна наступними способами:

1) Пуск -> виконати -> regedit -> OK;

2) Windows + R -> regedit -> ОК.

Цікавить нас запис реєстру розташовується в:

HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ services \\ Tcpip \\ Parameters \\ DataBasePath

  • відкриваємо параметр DataBasePath і в поле значення вказуємо новий шлях.

Як повинен виглядати файл hosts?

За замовчуванням в чистій системі в файлі hosts не вказуються ніякі значення, а присутні виключно закоментовані рядки (починаються з символу « # ») З описом файлу.

деякий програмне забезпечення може вносити свої зміни в файл hosts, наприклад, для вказівки, з якого сервера необхідно завантажувати оновлення.

Як змінити файл hosts?

  • відкриваємо hosts в будь-якому доступному в системі текстовому редакторі. Для Windows підійде стандартний «Блокнот» або «Wordpad».
  • Опускаємося в кінець файлу і вводимо значення в наступному порядку:
IP-адреса доменне ім'я
  • Після внесення змін зберігаємо файл.
  • Нижче представлений приклад вказівки для домену yourdomain.tld IP-адреси 127.0.0.1 .

Перевірити внесені зміни на функціональність можна ввівши вказаний домен браузері, або пропінгувати його в командному рядку.

Як зберегти файл hosts?

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

  1. Відображається помилка "Немає доступу» (або англомовний варіант - You do not have permissions). Вам потрібно перевірити, що ви відкриваєте файл з правами суперкористувача (адміністратора). оскільки це системний файл, Його не можуть змінювати користувачі, яким не присвоєно права адміністратора.
  2. Файл зберігається в невірному форматі, наприклад, hosts.txt. В першу чергу потрібно перевірити, чи є можливість в текстовому редакторі вказати, щоб файл зберігся без розширення. Якщо ж ні, вам потрібно включити в настройках системи відображення розширень файлів, зберегти файл в формате.txt, а потім змінити його ім'я, попередньо видаливши старий файл hosts.

Як закомментировать рядок в hosts?

Для коментування рядка використовується символ « # », Який встановлюється в її початку і таким чином дію записи в цьому рядку припиняється. Цей спосіб зручний у випадку, якщо будь-який запис може знадобитися в подальшому, або необхідно додати текст з описом. Також, коментар можна вставляти і не на початку рядка, а, наприклад, після запису IP і домену.

Доброго часу, шановні читачі. Публікую другу частину. У поточній частині основний упор зроблений на реалізацію мережі в Linux(як налаштувати мережу в Linux, як продіагностувати мережу в Linux і підтримувати в робочому стані мережеву підсистему в Linux).

Налаштування TCP / IP в Linux для роботи в мережі Ethernet

Для роботи з мережевими протоколами TCP / IP в Linux досить наявність тільки петлевого інтерфейсу, Але якщо необхідно об'єднати хости між собою, природно, необхідна наявність мережевого інтерфейсу, каналів передачі даних (наприклад кручена пара), Можливо, будь-якого мережевого обладнання. Так само, необхідна наявність встановлених (, і ін.), Зазвичай поставляються в. Так само необхідна наявність для мережі (наприклад / etc / hosts) і підтримку мережі.

параметри мережі

Почнемо розуміння мережевих механізмів 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 заснована на, який народжується при завантаженні ОС і плодить своїх нащадків, які в свою чергу і виконують всю необхідну роботу, Будь то запуск bash або демона. Так, і вся завантаження Linux заснована на, в яких прописана вся послідовність запуску дрібних утиліт з різними параметрами, які послідовно запускаються / зупиняються при запуску / зупинки системи. Аналогічно запускається і мережева підсистема Linux.

Кожен дистрибутив Linux має злегка відрізняється від інших механізм ініціалізації мережі, але загальна картина, думаю, після прочитання буде ясна. Якщо переглянути стартові скрипти мережевої підсистеми будь-якого дистрибутива Linux, То, як налаштувати конфігурацію мережі за допомогою конфігураційних файлів, Стане більш-менш зрозуміло, наприклад у Debian (за основу візьмемо цей дистрибутив) за ініціалізацію мережі відповідає скрипт /etc/init.d/networking, Переглянувши який:

Net-server: ~ # cat /etc/init.d/networking #! / Bin / sh -e ### BEGIN INIT INFO # Provides: networking # Required-Start: mountkernfs $ local_fs # Required-Stop: $ local_fs # Should -Start: ifupdown # Should-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Short-Description: Raise network interfaces. ### END INIT INFO PATH \u003d "/ usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin" [-x / sbin / ifup] || exit 0. / Lib / lsb / init-functions process_options () ([-e / etc / network / options] || return 0 log_warning_msg "/ etc / network / options still exists and it will be IGNORED! Read README.Debian of netbase." ) check_network_file_systems () ([-e / proc / mounts] || return 0 if [-e /etc/iscsi/iscsi.initramfs]; then log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

можна знайти кілька функцій, які перевіряють наявність підключених мережевих файлових систем ( 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.

The ifup and ifdown commands may be used to configure (or, respectively, deconfigure) network interfaces based on interface definitions in the file / etc / network / interfaces.

-a, --all
If given to ifup, affect all interfaces marked auto. Interfaces are brought up in the order in which they are defined in / etc / network / interfaces. If given to ifdown, affect all defined interfaces. Interfaces are brought down in the order in which they are currently listed in the state file. Only interfaces defined in / etc / network / interfaces will be brought down.

ip-server: ~ # cat / etc / network / interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces (5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 broadcast 192.168.1.255

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

/ Etc / hosts

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

Ip-server: ~ # cat / etc / hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

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

/ Etc / hostname

Даний файл містить NetBIOS-ім'я хоста:

Ip-server: ~ # cat / etc / hostname ip-server

Даний файл зберігає імена і адреси локальної та інших мереж. приклад:

Ip-server: ~ # cat / etc / networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

При використанні даного файлу, мережами можна управляти по імені. Наприклад додати маршрути не route add 192.168.1.12 , а route add.

/etc/nsswitch.conf

файл визначає порядок пошуку імені хоста/ Мережі, за дане настроювання відповідають рядки:

Для хостів: hosts: files dns Для мереж: networks: files

параметр files вказує використовувати зазначені файли (/ Etc / hosts і / Etc / networks відповідно), параметр dns вказує використовувати службу dns.

/etc/host.conf

Файл задає параметри розпізнавання імен для Резолвер

Ip-server: ~ # cat /etc/host.conf multi on

Даний файл вказує бібліотеці resolv - повертати всі допустимі адреси вузла, які зустрілися в файлі / etc / hosts, а не тільки перший з них.

/etc/resolv.conf

Даний фал визначає параметри механізму перетворення мережевих імен в IP адреси. Простою мовою, визначає настройки DNS. приклад:

Ip-server: ~ # cat /etc/resolv.conf nameserver 10.0.0.4 nameserver 10.0.0.1 search domain.local

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

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

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

маршрутизація для наявних інтерфейсів в сучасних ядрах завжди піднімається автоматично силами ядра. Вірніше сказати, прямі маршрути в мережу згідно налаштувань IP і підмережі, в яку дивиться піднятий інтерфейс формуються автоматично, силами ядра. Поле gateway (шлюз) для таких записів показує адресу вихідного інтерфейсу або *. У старих версіях ядра (номер ядра з якого маршрути стали підніматися автоматом - Не підкажете) необхідно було додавати маршрут вручну.

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

За якими правилами формуються маршрути до мереж, я в

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

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

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

# Ping ya.ru PING ya.ru (87.250.251.3) 56 (84) bytes of data. 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq \u003d 1 ttl \u003d 57 time \u003d 42.7 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq \u003d 2 ttl \u003d 57 time \u003d 43.2 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq \u003d 3 ttl \u003d 57 time \u003d 42.5 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq \u003d 4 ttl \u003d 57 time \u003d 42.5 ms 64 bytes from www .yandex.ru (87.250.251.3): icmp_seq \u003d 5 ttl \u003d 57 time \u003d 41.9 ms ^ C --- ya.ru ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4012ms rtt min / avg / max / mdev \u003d 41.922 / 42.588 / 43.255 / 0.500 ms

Як видно, з наведеного прикладу, pingвиводить нас купу корисної інформації. Насамперед, Ми з'ясували, що можемо встановити з'єднання з хостом ya.ru(Іноді говорять, що "хост ya.ru нам доступний"). По-друге, Ми бачимо, що DNS працює коректно, Тому що "пінгуемое" ім'я було коректно перетворено в IP адреса (PING ya.ru (87.250.251.3)). далі, у полі icmp_seq \u003d вказана нумерація відправляються пакетів. Кожному відправляється пакету послідовно присвоюється номер і якщо в даній нумерації будуть "провали", то це нам розповість про те, що з'єднання з "пінгуемим" нестійкий, а так само може означати, що сервер, з яким шлють пакети перевантажений. за значенням time \u003dми бачимо, скільки часу пакет подорожував до 87.250.251.3 і назад. Зупинити роботу утиліти ping можна клавішами Ctrl + C.

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

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

traceroute

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

# Traceroute ya.ru traceroute to ya.ru (213.180.204.3), 30 hops max, 60 byte packets 1 243-083-free.kubtelecom.ru (213.132.83.243) 6.408 ms 6.306 ms 6.193 ms 2 065-064-free .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5.701 ms 5.636 ms 4 KubTelecom-lgw.Krasnodar.gldn.net (194.186.6.177) 81.430 ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.011 ms 6 213.33.201.230 (213.33.201.230) 43.322 ms 41.783 ms 41.106 ms 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

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

dig

Дана утиліта посилає запити серверам DNS і повертає інформацію про заданому домені. приклад:

# Dig @ ns.kuban.ru roboti.ru;<<>\u003e DiG 9.3.6-P1<<>\u003e @ Ns.kuban.ru roboti.ru; (1 server found) ;; global options: printcmd ;; Got answer: ;; - \u003e\u003e HEADER<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

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

Інші утиліти діагностики

ping, dig та багато інших програм діагностики з параметрами, можна знайти в пості.

Підключення нової мережевої карти

Підключення і запуск нової мережевої карти зводиться до виконання кількох кроків:

1. Фізичне підключення карти

3. Перегляд виведення на виявлення системою нової мережевої карти:

подивимося висновок ДО підключення нової карти:

Server: ~ # dmesg | grep eth [4.720550] e1000: eth0: e1000_probe: Intel (R) PRO / 1000 Network Connection [5.130191] e1000: eth1: e1000_probe: Intel (R) PRO / 1000 Network Connection [15.285527] e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [15.681056] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

у висновку видно, що в системі є 2 мережеві карти eth1 і eth2. Підключаємо третю і дивимося висновок:

Server: ~ # dmesg | grep eth [4.720513] e1000: eth0: e1000_probe: Intel (R) PRO / 1000 Network Connection [5.132029] e1000: eth1: e1000_probe: Intel (R) PRO / 1000 Network Connection [5.534684] e1000: eth2: e1000_probe: Intel (R ) PRO / 1000 Network Connection [39.274875] udev: renamed network interface eth2 to eth3 [39.287661] udev: renamed network interface eth1_rename_ren to eth2 [45.670744] e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [46.237232] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [96.977468] e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

В dmesgми бачимо, що з'явилася нова сетевушка - eth3, яка насправді - eth2, але перейменована менеджером пристроїв udev в eth3, а eth2 - це насправді перейменована eth1 (про udev ми поговоримо в окремому пості). Поява нашої нової мережевої в dmesg нам говорить, що мережева карта підтримуєтьсяядром і коректно визначилася. Залишилася справа за малим - налаштувати новий інтерфейс в / Etc / network / interfaces(Debian), тому що дана картка не була инициализирована стартовим скриптом /etc/init.d/network. ifconfigдану карту бачить:

Server: ~ # ifconfig eth3 eth3 Link encap: Ethernet HWaddr 08: 00: 27: 5f: 34: ad inet6 addr: fe80 :: a00: 27ff: fe5f: 34ad / 64 Scope: Link UP BROADCAST RUNNING MULTICAST MTU 1500 Metric: 1 RX packets: 311847 errors: 0 dropped: 0 overruns: 0 frame: 0 TX packets: 126 errors: 0 dropped: 0 overruns: 0 carrier: 0 collisions: 0 txqueuelen 1000 RX bytes: 104670651 (99.8 MiB) TX bytes: 16184 (15.8 KiB)

але знову ж таки - не конфигурирует. Як конфігурувати мережеву карту говорилося вище.

резюме

Думаю, на сьогодні це все. Коли почав писати цю статтю, думав що впишуся в один пост, але він вийшов величезний. Тому було вирішено розбити статтю на дві. Разом, я постарався викласти, що не покрокове Хаутен по налаштуванню мережі, а викласти принцип і пояснити розуміння того, як же запускається і працює мережа в Linux. Маю велику надію, що мені це вдалося. Буду радий вашим коментарями і доповненнями. Згодом, буду статтю доповнювати.



Сподобалася стаття? поділіться їй