<
  • Главная
Статьи

13.2. Налаштування мережевих інтерфейсів | Linux для користувача | Книги та керівництва | Бібліотека Лінуксцентра | Linuxcenter.Ru - експерт по Linux і вільного програмного забезпечення. Впровадження Linux і вільного програмного забезпечення, дистрибутиви Linux, книги, статті про Linux, навчання Linux і вільним ПЗ. Mandriva, Ubuntu, SUSE, Fedora, Red Hat, Debian, KNOPPIX, Gentoo, Slackware, FreeBSD, CentOS, Xandros, RedHat, Linux-XP, OpenBSD, Scientific, ASPLinux, ALTLinux, MOPSLinux.

  1. Глава 13. Вихід в локальні мережі 13.2. Налаштування мережевих інтерфейсів
  2. 13.2. 1 Розташування конфігураційних файлів
  3. 13.2.2 Команда ifconfig
  4. Налаштування локального інтерфейсу lo
  5. Налаштування інтерфейсу плати Ethernet локальної мережі (eth0)
  6. Інтерфейс для послідовного порту
  7. 13.2. 3 Налаштування маршрутизації
  8. 13.2.4. Налаштування служби імен
  9. 13.2.5. Тестування мережевого з'єднання
  10. 13.2.6. утиліта netconf

Глава 13. Вихід в локальні мережі

13.2. Налаштування мережевих інтерфейсів

Інтерфейсом з точки зору ОС є пристрій, через яке система отримує і передає IP-пакети. Роль інтерфейсу локальної мережі може виконувати одне (або декілька) з наступних пристроїв: Ethernet-карта, ISDN-адаптер або модем, підключений до послідовного порту. Кожен пристрій (не весь комп'ютер!) Має свій IP-адресу. Для виходу в локальні мережі використовується, як правило, Ethernet-карта, що і буде передбачатися в цьому розділі. Заодно ми розглянемо і настройку модемного інтерфейсу, оскільки налаштовується він цілком аналогічно, і знання про методи його налаштування будуть необхідні нам при розгляді питання про вихід в Інтернет в гл. 14

13.2. 1 Розташування конфігураційних файлів

Відзначимо відразу, що всі наведені нижче команди можна виконувати з командного рядка, але тоді доведеться повторювати ці операції при кожному перезапуску комп'ютера. Тому може бути зручніше записати їх в один з ініціалізації файл, автоматично запускаються при старті системи. У різних дистрибутивах процес завантаження організований по-різному. В "Linux NET-3-HOWTO" наводиться така таблиця:

Таблиця 13.1. Розташування конфігураційних файлів в основних дистрибутивах

Дистрибутив.

Налаштування інтерфейсу та маршрутизації

запуск демонів

Debian

/etc/init.d/network

/etc/init.d/netbase /etc/init.d/netstd_init /etc/init.d/netstd_nfs /etc/init.d/netstd_misc

Slackware

/etc/rc.d/rc.inet1

/etc/rc.d/rc.inet2

RedHat

/ Etc / sysconfig / network-scripts / ifup- <ifname>

/etc/rc.d/init.d/network

Зверніть увагу, що дистрибутиви Debian і Red Hat містять окремий каталог для скриптів запуску системних сервісів (хоча самі файли налаштувань знаходяться в інших місцях, наприклад, в дистрибутиві Red Hat вони зберігаються в каталозі / etc / sysconfig). Для розуміння процесу завантаження ознайомтеся з вмістом файла / etc / inittab і документацією по процесу init.

13.2.2 Команда ifconfig

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

Запустіть її без аргументів (або з єдиним аргументом -a) і ви дізнаєтеся, які параметри встановлені в даний момент для активних мережевих інтерфейсів (зокрема, для мережевої карти). До речі, має сенс виконати цю команду ще до підключення модулів: а раптом у вас підтримка інтерфейсів вбудована в ядро ​​і необхідні налаштування зроблені в процесі інсталяції системи. Тоді ви у відповідь можете отримати інформацію про установки свого Ethernet-карти і так званого "кільцевого інтерфейсу" або "зворотного петлі" - Local Loopback (інтерфейс Ethernet при єдиною мережевої карти позначається як eth0, а кільцевої інтерфейс - як lo). Якщо ж по цій команді ви нічого не отримаєте, то треба переходити до підключення модулів і налаштування, і починати треба з кільцевого інтерфейсу.

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

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

Локальний інтерфейс налаштовується дуже просто: командою

[root] # / sbin / ifconfig lo 127.0.0.1

Тепер, щоб перевірити працездатність протоколів TCP / IP на вашій машині, дайте команду:

[root] # ping 127.0.0.1

Налаштування інтерфейсу плати Ethernet локальної мережі (eth0)

Для того щоб ваш комп'ютер увійшов в мережу з IP-адресою, отриманим вами у адміністратора (нехай для прикладу це буде адреса 192.168.0.15), ви повинні запустити команду ifconfig приблизно наступним чином:

[root] # / sbin / ifconfig eth0 192.168.0.15 netmask 255.255.255.0 up

Якщо не вказувати маску підмережі, то за замовчуванням встановлюється маска підмережі 255.0.0.0.

У деяких випадках необхідно буває змінити адресу переривання, використовуваного мережевою картою, порту введення-виведення або типу з'єднання, що використовується в мережі. Це можна зробити, виконавши наступну команду:

root # / sbin / ifconfig eth0 irq 5 io_addr 220 media 10baseT

Не всі пристрої (плати) підтримують динамічну зміну цих параметрів (т. Е. Може знадобитися перевстановити перемикачі на платі).

Інтерфейс для послідовного порту

Послідовний порт використовується для підключення модему, через який здійснюється з'єднання з мережею по телефонній лінії. Для настройки інтерфейсу цього типу теж можна використовувати програму ifconfig. Однак, такі програми як pppd і dip, використовувані для з'єднання з мережею по модему, здатні автоматично конфігурувати мережевий інтерфейс, тому зазвичай для цього випадку застосовувати ifconfig не потрібно.

13.2. 3 Налаштування маршрутизації

Правила маршрутизації визначають, куди відправляти IP-пакети. Дані маршрутизації зберігаються в одній з таблиць ядра. Вести таблиці маршрутизації можна статично або динамічно. Статичний маршрут - це маршрут, який задається явно за допомогою команди route. Динамічна маршрутизація виконується процесом-демоном (routed або gated), який веде і модифікує таблицю маршрутизації на основі повідомлень від інших комп'ютерів мережі. Для виконання динамічної маршрутизації розроблені спеціальні протоколи: RIP, OSPF, IGRP, EGP, BGP і т. Д.

Динамічна маршрутизація необхідна в тому випадку, якщо у вас складна, постійно змінюється структура мережі і одна і та ж машина може бути доступна з різних інтерфейсів (наприклад, через різні Ethernet або SLIP інтерфейси). Маршрути, задані статично, як правило, не змінюються, навіть якщо використовується динамічна маршрутизація.

Для персонального комп'ютера, що підключається до локальної мережі, в більшості ситуацій буває досить статичної маршрутизації командою route. Перш ніж намагатися налаштовувати маршрути, перегляньте таблицю маршрутизації ядра за допомогою команди netstat -n -r. Ви повинні побачити щось на кшталт такого

[root] # netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

10.72.128.101 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

10.72.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 10.72.128.254 0.0.0.0 UG 0 0 0 eth0

Якщо таблиця порожня, то ви побачите тільки заголовки стовпців. Тоді треба використовувати route. За допомогою команди route можна додати або видалити один (за один раз) статичний маршрут. Ось її формат:

[root] # / sbin / route [-f] операція [-тип] адресат шлюз [dev] інтерфейс

Тут аргумент операція може приймати одне з двох значень: add (маршрут додається) або delete (маршрут видаляється). Аргумент адресат може бути IP-адресою машини, IP-адресою мережі або ключовим словом default. Аргумент шлюз - це IP-адреса комп'ютера, на який слід пересилати пакет (цей комп'ютер повинен мати прямий зв'язок з вашим комп'ютером). команда

[root] # / sbin / route -f

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

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

  • локальний інтерфейс (lo),
  • інтерфейс для плати Ethetnet (eth0),
  • інтерфейс для послідовного порту (PPP або SLIP).

Локальний інтерфейс підтримує мережу з IP-номером 127.0.0.1. Тому для маршрутизації пакетів з адресою 127 .... використовується команда:

[root] # / sbin / route add -net 127.0.0.1 lo

Якщо у вас для зв'язку з локальною мережею використовується одна плата Ethernet, і всі машини знаходяться в цій мережі (мережева маска 255.255.255.0), то для настройки маршрутизації досить викликати:

[root] # / sbin / route add -net 192.168.36.0 netmask 255.255.255.0 eth0

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

Оскільки дуже часто IP-пакети з вашого комп'ютера можуть відправлятися не в одну єдину мережу, а в різні мережі (наприклад, при перегляді різних сайтів в Інтернеті), то в принципі треба було б задати дуже багато маршрутів. Очевидно, що зробити це було б дуже складно, точніше просто неможливо. Тому вирішення проблеми маршрутизації пакетів перекладають на плечі спеціальних комп'ютерів - маршрутизаторів, а на звичайних комп'ютерах задають маршрут за замовчуванням, який використовується для відправки всіх пакетів, не зазначених явно в таблиці маршрутизації. За допомогою маршруту за замовчуванням ви говорите ядру "а все інше відправляй туди". Маршрут за замовчуванням налаштовується за допомогою такої команди:

[root] # / sbin / route add default gw 192.168.1.1 eth0

Опція gw вказує програмі route, що наступний аргумент - це IP-адреса або ім'я маршрутизатора, на який треба відправляти всі пакети, відповідні цієї рядку таблиці маршрутизації.

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

[root] # netstat -nr

Якщо висновок команди виглядає так, як це було показано вище, але не містить рядки, яка в графі Destination містить 0.0.0.0, а в графі Gateway вказує на маршрут, який використовується для з'єднань за замовчуванням, то ви, ймовірно, не поставили це маршрут.

13.2.4. Налаштування служби імен

За допомогою команди ifconfig ви задали IP-адреса вашого комп'ютера, але він ще не знає свого імені (при інсталяції системи він отримав знеособлене ім'я localhost). Існує команда hostname, яка дозволяє встановити (і дізнатися чинне в даний момент) ім'я комп'ютера та ім'я домену.

Однак встановити тільки ім'я і тільки цією командою ще недостатньо, оскільки ця команда змінює ім'я тільки на поточний сеанс роботи. Тому зазвичай ця команда викликається в одному з ініціалізації файл, наприклад, /etc/rc.d/rc або /etc/rc.d/rc.local. Ви можете спробувати знайти її там, щоб змінити належним чином ім'я комп'ютера, яке задається як параметр команди hostname. У такому випадку потрібно перезавантажитися для того щоб зміни вступили в силу.

Або, щоб змінити ім'я комп'ютера або домену полягає в тому, що ці імена прописуються у файлі / etc / sysconfig / network у вигляді двох рядків приблизно наступного вигляду:

HOSTNAME = "new_host_name.localdomain.upperdomain"

DOMAINNAME = localdomain.upperdomain

Тоді в процесі ініціалізації системи ці імена будуть відновлюватися, тому що файл / etc / sysconfig / network викликається з /etc/rc.d/rc.sysinit.

Крім того, ім'я комп'ютера повинно бути прописано в файлі / etc / hosts, який пов'язує ім'я комп'ютера з його IP-адресою. Кожен рядок файлу / etc / hosts повинна починатися з IP-адреси, за яким слідує ім'я даного вузла. Слідом за ім'ям можна записати довільне число псевдонімів цього вузла.

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

127.0.0.1 localhost localhost.localdomain

Якщо ж ваш комп'ютер підключений до TCP / IP мережі, то в цьому файлі додатково потрібно прописати рядок виду

192.168.0.15 host_name host_name.localdomain

Файл / etc / hosts використовується в механізмах розпізнавання імен. У великих мережах важко було б підтримувати в актуальному стані файли / etc / hosts на всіх комп'ютерах, якби це був основний інструмент для визначення IP-адрес по іменах. Тому зазвичай для розпізнавання імен використовуються сервери DNS. Однак файл / etc / hosts все одно необхідний, хоча б для звернення до сервера DNS. Тому в ньому має сенс вказати IP-адреси і відповідні імена шлюзів і серверів DNS і NIS. А щоб всі програми використовували цей файл при вирішенні імен, повинен бути файл /etc/hosts.conf, що містить рядок

order hosts, bind

яка говорить, що при вирішенні імен спочатку повинен використовуватися файл / etc / hosts, а потім має відбуватися звернення до сервера DNS. У більшості випадків у файлі /etc/hosts.conf досить мати два рядки:

order hosts, bind

multi on

Ці параметри вказують системі перетворення імен, що треба переглянути файл / etc / hosts перед тим, як надсилати запит до сервера, і що слід повертати всі знайдені в / etc / hostsадреса для даного імені, а не тільки перший.

Але настройка механізму розпізнавання імен не обмежується редагуванням файлів / etc / hostsі /etc/hosts.conf. Необхідно ще вказати комп'ютеру імена серверів DNS. Вони прописуються у файлі /etc/resolv.conf. Цей файл має вельми простий формат. Це текстовий файл, кожен рядок якого задає один з параметрів системи перетворення імен. Як правило, використовуються три ключових слова-параметра:

  • domain - задає ім'я локального домену.
  • search - задає список імен доменів, які будуть додаватися до імені машини, якщо ви не вкажете явно імені домена. Це дозволяє обмежити область пошуку і уникнути деяких помилок (наприклад, ви шукаєте комп'ютер linux.msk.ru, а механізм розпізнавання імен виведе вас на linux.spb.ru).
  • nameserver - цей параметр, який ви можете вказувати кілька разів, задає IP-адреса сервера перетворення імен, на який ваша машина буде посилати запити. Повторюючи цей параметр, ви можете задати кілька серверів.

Якщо ви не збираєтеся заводити підтримку сервісу імен для своєї мережі (що є досить складною організаційною і технічною проблемою), і довіряєте ведення своїх імен адміністратору локальної мережі або вашому IP-провайдеру, то вам досить задати файл /etc/resolv.conf приблизно наступного вигляду :

domain abcd.ru

search abcd.ru xyz.edu.ru

nameserver 192.168.10.1

nameserver 192.168.12.1

У цьому прикладі машина знаходиться в домені abcd.ru. Якщо ви задасте ім'я машини, не вказуючи домену, наприклад "pc1", то система перетворення імен спробує спочатку знайти машину "pc1.abcd.ru", а в разі невдачі - "pc1.xyz.edu.ru". Для перетворення імен ваша машина буде звертатися до серверів за адресами "192.168.10.1" і "192.168.12.1".

13.2.5. Тестування мережевого з'єднання

Щоб перевірити, чи з'єднується ваш комп'ютер з мережею, спробуйте дати команду ping, вказавши їй як параметр IP-адреса одного з комп'ютерів мережі. Нехай, наприклад, вам відомо (дізнайтеся реальний номер і ім'я у адміністратора мережі), що в мережі є комп'ютер з IP-адресою 192.168.0.2 і ім'ям pc1. Тоді ви повинні дати команду:

[user] $ ping 192.168.0.2

або (тут ви одночасно перевіряєте і роботу служби DNS)

[user] $ ping pc1

Якщо з'єднання з мережею встановлено, повинні з'явитися і підлягати періодичному оновленню рядки приблизно такого вигляду:

64 bytes from 192.168.0.2: icmp_seq = 0 ttl = 32 time = 1.2 ms

64 bytes from 192.168.0.2: icmp_seq = 1 ttl = 32 time = 1.0 ms

64 bytes from 192.168.0.2: icmp_seq = 2 ttl = 32 time = 1.0 ms

64 bytes from 192.168.0.2: icmp_seq = 3 ttl = 32 time = 1.0 ms

64 bytes from 192.168.0.2: icmp_seq = 4 ttl = 32 time = 1.1 ms

Це означає, що мережеве з'єднання працює. Для того щоб перервати тестування мережі, натисніть комбінацію клавіш <Ctrl> + <C>.

13.2.6. утиліта netconf

У попередніх розділах я спробував докладно і послідовно викласти, яким чином можна налаштувати вихід в мережу шляхом прямого редагування конфігураційних файлів. Втім, настройки локальної мережі можна виробляти і за допомогою спеціальних утиліт netconf або netcfg, які є просто складовою частиною пакету linuxconf. Перша з них працює в графічному режимі, а друга - в текстовому.

Мал. 13.1. Головне меню програми netconf

Треба тільки мати на увазі, що багато досвідчених користувачів Linux критично ставляться до можливостей пакета linuxconf і вважають за краще пряме редагування конфігураційних файлів. Але для новачка ці утиліти можуть виявитися зручніше, тому дамо їх коротку характеристику на прикладі програми netconf. Запустивши її, ви побачите вікно, зображене на рис. 13.1.

Для того щоб задати ім'я вашого комп'ютера, треба натиснути кнопку Basic host information, після чого з'явиться ще одне вікно з п'ятьма закладками. На закладці Host name задається ім'я комп'ютера, а на закладці Adaptor1 - параметри IP-з'єднання (див. Рис. 13.2).

Мал. 13.2. Завдання імені через netconf

Мал. 13.3. Налаштування мережевого адаптера

Можна ввести параметри безпосередньо в що з'явилися рядки введення (якщо ви знаєте, що потрібно вводити), а можна вибрати підходящий варіант зі списку, який з'являється, якщо клацнути мишкою по трикутнику в кінці рядка. Після завершення введення параметрів треба натиснути екранну кнопку Accept.

Адреса сервера DNS і настройка системи розпізнавання імен задається у вікні, що з'являється при натисканні на кнопку Name server specification (DNS) програми netconf (рис. 13.3). При виході з програми після завершення редагування з'явиться додаткове вікно із запитом (рис. 13.4), в якому треба вибрати варіант Activate the changes.

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

Треба тільки мати на увазі, що для роботи з цією програмою (як і з файлами) необхідно мати права суперкористувача

Мал. 13.4. Налаштування системи розпізнавання імен через netconf,

Налаштування системи розпізнавання імен через netconf,

Мал. 13.5. Збереження змін, зроблених через netconf

[Опубліковано 04/11/2005]

В. Костромін (kos at rus-linux dot net) - 13.2. Налаштування мережевих інтерфейсів Версія для друку



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью