Статьи

ru / NetworkConfiguration

  1. Автоматична конфігурація інтерфейсу з використанням DHCP
  2. Ручне конфігурування інтерфейсу
  3. Налаштування швидкості і дуплексу
  4. Перемикання інтерфейсу в режим моста без IP адреси
  5. Конфігураційний файл resolv.conf
  6. програма resolvconf
  7. Конфігурація DNS для network-manager
  8. DHCP Client Configuration
  9. Manual config
  10. Caveats when using bridging and vlan
  11. Network init script config
  12. Network config
  13. bonding with active backup
  14. / Etc / network / interfaces

Translation (s) : English - Français - Italiano - 简体 中文

Reader Prerequisites: Для розуміння цієї статті необхідно вміння працювати з консольними інструментами, тестовими редакторами, розуміння основ DNS, TCP / IP, DHCP, netmask, gateway.

Table of Contents

Основну настройку мережі можна виконати, редагуючи конфігураційний файл interfaces, який розташовується в / etc / network / interfaces. Тут Ви можете задати IP адреса мережевої карти (або використовувати DHCP), налаштувати маршрутизацію, IP masquerading, встановити маршрут за замовчуванням і багато іншого.

Для того що б інтерфейс автоматично ініціалізувати при завантаженні, не забудьте додати рядок 'auto'.

Повний список опцій можна знайти в man interfaces.

Автоматична конфігурація інтерфейсу з використанням DHCP

Якщо Ви хочете використовувати DHCP вам необхідно написати такі:

auto eth0 allow-hotplug eth0 iface eth0 inet dhcp

Ручне конфігурування інтерфейсу

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

auto eth0 iface eth0 inet static address 192.168.0.7 netmask 255.255.255.0 gateway 192.168.0.254

Якщо ви хочете додати IPv6 адресу, то напишете такі:

iface eth0 inet6 static address 2001: db8 :: c0ca: 1eaf netmask 64 gateway 2001: db8 :: 1ead: ed: beef

Повний список опцій можна знайти в man interfaces.

Налаштування швидкості і дуплексу

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

Якщо Ви хочете вручну встановити швидкість і режим дуплексу інтерфейсу. Тут описані основні кроки:

  • встановіть пакети ethtool і net-tools , Так ви отримаєте програми ethtool і mii-tool. Одна або обидві з них можуть працювати з Вашим інтерфейсом.

  • Переконайтеся що у Вас є запасний варіант доступу до системи, на випадок якщо мережа перестане працювати і ? ssh з'єднання буде поза зоною досяжності.

  • Визначте інтерфейс, який Ви будете налаштовувати (найчастіше за все це eth0) і замініть в наступних командах eth0 на Ваш інтерфейс.
  • Спробуйте визначити поточну швидкість і режим дуплексу.
    • Для початку виконайте, як root ethtool eth0, і Ви побачите рядки "Speed:" і "Duplex:", якщо немає то ethtool можливо не підтримує новий пристрій.

    • Спробуйте виконати як root mii-tool -v eth0 і переконатися, що висновок виглядає правильно. Якщо немає, то mii-tool не підтримує ваш пристрій

    • Якщо жодна з них не підтримується, то Ви можете спробувати встановити параметри безпосередньо в модулі драйвера ядра. Визначити який драйвер у Вас використовується можна з виведення команд dmesg і lsmod. Ви можете спробувати виконати modinfo MODULENAME що б дізнатися можливі параметри. (Можна використовувати modinfo навіть якщо модуль не завантажено) ToDo : Where does one set kernel module parameters?

  • Далі, спробуйте змінити настройки використовуваного інтерфейсу. Вам необхідно бути root:

У кожному разі, перевірте застосували чи настройки які Ви змінили, потім спробуйте відправити якісь дані з системи, щоб переконатися що NIC працює правильно.

  • Якщо одна з цих команд успішно налаштувала Вашу мережеву карту, можна додати ці параметри в / etc / network / interfaces щоб вони застосовувалися під час завантаження при піднятті інтерфейсу. Однак, перед цим Вам слід зрозуміти що деякі драйвера відрізняються від інших. Коли модуль драйвера завантажений, мережева карта може почати автоузгодження, без будь-якого способу зупинити його (особливо з драйверами які не приймають параметри). Параметри з файлу interfaces можуть застосовуються в момент, коли автоузгодження вже наполовину виконано. Що б уникнути цього можна додати затримку виконання команд ethtool і mii-tool. наприклад:

iface eth0 inet static address ... netmask ... gateway ... up sleep 5; ethtool -s eth0 ...

Перемикання інтерфейсу в режим моста без IP адреси

Щоб створити мережевий інтерфейс без IP адреси використовуйте ручний метод і команди pre-up і post-down

iface eth0 inet manual pre-up ifconfig $ IFACE up post-down ifconfig $ IFACE down

Перед тим як комп'ютер зможе підключиться зовнішньому мережевому ресурсу (наприклад веб-сервера), він повинен перетворити буквене-цифрове ім'я (таке як wiki.debian.org) в числову адресу мережі (наприклад 140.211.166.4). (В Інтернет ідентифікації комп'ютера в мережі використовується структурований числовий IP адрес.)

Бібліотека C і інші бібліотеки за списком серверів імен звертаються до файлу /etc/resolv.conf. У найпростішому випадку Ви можете відредагувати цей файл, записавши в нього список серверів імен. Але, слід зазначити, що різні програми динамічної конфігурації будуть раді переписати ваші настройки:

  1. програма resolvconf

  2. Демон network-manager

  3. DHCP клієнти

У більшості ситуацій необхідно відредагувати файли конфігурацій цих програм.

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

Конфігураційний файл resolv.conf

Конфігураційний файл resolv.conf розташовується в /etc/resolv.conf, і містить інформацію яка дозволяє комп'ютеру під'єднуватися до мережі перетворювати ім'я на адресу. (Прим. Не плутайте цей конфігураційний файл з програмою resolvconf, яка по невдалому збігу обставин має таку ж назву.)

Файл resolv.conf зазвичай містить IP адреси серверів імен (DNS) які намагатимуться перевести імена на адресу для будь-якого вузла доступного в мережі. Там будуть рядки містять, приблизно, такі:

nameserver 12.34.56.78 nameserver 12.34.56.79

У цьому прикладі, система ісопользует сервера імен з IP адресами 12.34.56.78 і 12.34.56.79. Просто відредагуйте цей файл і введіть IP адреси потрібних Вам серверів, після слова nameserver. Можна додати ще рядки, якщо у Вас більше 2 серверів імен.

Не використовуйте цей метод якщо у Вас встановлена програма resolvconf

Конфігураційний файл resolv.conf має безліч інших опцій для визначення режимів перетворення імен. Див. Man resolv.conf.

програма resolvconf

Програма resolvconf стежить за інформацією про доступні на даних момент серверів імен. Не слід плутати її з однойменною конфігураційним файлом resolv.conf. Програма resolvconf є опціональною для систем Debian.

Конфігураційний файл resolv.conf містить інформацію про серверах імен, які використовуються в системи. Однак, коли безлічі програм необхідно динамічно змінювати файл resolv.conf вони починають заважати один одному і файл ставати не потрібно синхронізувати (out-of-sync). Програма resolvconf вирішує цю проблему. Вона є посередником між програмами які постачають інформацію про серверах імен (наприклад dhcp клієнт) і програмами які використовують цю інформацію (наприклад Резолвер).

Якщо resolvconf добре зафіксовано конфігураційний файл resolv.conf замінюється символічним посиланням на файл /etc/resolvconf/run/resolv.conf і Резолвер використовує файл, який динамічно генерується програмою resolvconf.

Програма resolvconf, в загальному випадку, необхідна коли в системі присутні програми яким необхідно часто змінювати інформацію про серверах імен. У простих системах де немає таких програм, досить просто файлу resolv.conf.

Якщо програма resolvconf встановлена, то Вам не слід вручну редагувати файл resolv.conf, так як він буде динамічно змінюватися програмами в системі. Якщо Вам необхідно вручну задати сервера імен (наприклад при статично сконфігурованої інтерфейсі), додайте в конфігураційний файл interfaces наступний рядок:

dns-nameservers 12.34.56.78 12.34.56.79

Додайте цей рядок в описі інтерфейсу iface, відразу після вказівки шлюзу gateway. IP адреса сервера імен необхожімо ввести після слова dns-nameservers. Якщо IP адрес кілька то вони розділяються пропуском. Не забудьте написати "s" в кінці слова dns-nameservers.

Програма resolvconf була додана в Debian порівняно недавно і багато старих програми необхідно оновити та переконфігурувати для правильно роботи. Якщо у Вас виникли проблеми, дивіться файл / usr / share / doc / resolvconf / README. Він містить повну інформацію по роботі resolvconf з іншими програмами.

Конфігурація DNS для network-manager

Попередження: Цей розділ не був протестований з актуальною версією network-manager. Будь ласка протестуйте і видаліть це повідомлення. Примітка: У цьому розділі описані приклади застосовуються в системах подібних Red Hat, а не Debian.

Якщо Ви використовуєте NetworkManager , Настройки розташовуються в файлі / etc / sysconfig / network-scripts / ifcfg- *. Наприклад так:

DNS1 = 127.0.0.1 DNS2 = 8.8.8.8 DNS3 = 8.8.4.4

Через графічний інтерфейс це можна зробити так:

  1. Systems menu> Preferences> Network Connections.

  2. Виберете з'єднання (на вкладці Wired (проводове) або Wireless (бездротове)) і натисніть Edit.
  3. На вкладці IPv4 Settings змініть метод отримання адреси "Automatic (DHCP)" на який-небудь інший. Наприклад, "Automatic (DHCP) addresses only" is likely to be appropriate.
  4. Введіть через пробіл адреси DNS серверів в поле "DNS servers".
  5. Натисніть "Apply." Примітка, Ваш DHCP клієнт може скасувати ці налаштування;

    Цей розділ заснований на http://code.google.com/speed/public-dns/docs/using.html , Де Ви можете знайти більш детальний опис.

DHCP Client Configuration

Example: dhclient3 uses /etc/dhcp/dhclient.conf. The setting you want is

supersede domain-name-servers 12.34.56.78, 12.34.56.79

or perhaps

prepend domain-name-servers 12.34.56.78, 12.34.56.79

See the dhclient.conf (5) manual page for details.

Manual config

modprobe 8021q apt-get install vlan vconfig add eth0 222 # 222 is vlan number ifconfig eth0.222 up ifconfig eth0.222 mtu 1496 #optional if your network card does not support MTU 1504B ifconfig eth0.222 10.10.10.1 netmask 255.255.255.0

Caveats when using bridging and vlan

# / Etc / network / interfaces auto eth0 bri0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 iface eth0.110 inet manual vlan-raw-device eth0 iface bri0 inet static address 192.168.110.1 network 192.168.110.0 netmask 255.255.255.0 broadcast 192.168.110.255 bridge_ports eth0.110 bridge_stp on bridge_maxwait 10

If you are using a brigded VLAN setup, which is probably useful for networking in virtualization environments, take care to only attach either a bridge device or VLAN devices to an underlying physical device - like shown above. Attaching the physical interface (eth0) to a bridge (eg. Bri1) while using the same physical interface on apparently different VLANs will result in all packets to remain tagged. (Kernel newer than 2.6.37 and older than 3.2).

Network init script config

Into / etc / modules add line:

8021q

In / etc / network / interfaces to section iface add parameter:

vlan-raw-device eth0

The interface name should be the raw interface name (the same as specified by vlan-raw-device), then a dot, then the VLAN ID, for example eth0.100. It can instead be "vlan" then the VLAN ID, for example vlan100. In either case, the VLAN ID is on the end, and this is the only place that it is configured. Eg:

auto eth0.222 iface eth0.222 inet static address 10.10.10.1 netmask 255.255.255.0 network 10.10.10.0 broadcast 10.10.10.255 vlan-raw-device eth0

255 vlan-raw-device eth0

debian_bonding.dia

Howto configure one of the above server active backup bonding 3 vlan {vlan10, vlan20, vlan30} Debian networking without SPOF without native vlan.

aptitude install vlan ifenslave-2.6

Network config

Cisco switch interface example config

interface GigabitEthernet1 / 2 description eth1 switchport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20,30 switchport mode trunk no ip address no cdp enable spanning-tree portfast trunk

bonding with active backup

Create a file /etc/modprobe.d/bonding.conf containing:

alias bond0 bonding options bonding mode = active-backup miimon = 100 downdelay = 200 updelay = 200 primary = eth1

/ Etc / network / interfaces

# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto bond0 iface bond0 inet manual up ifconfig bond0 0.0.0.0 up slaves eth1 eth0 auto vlan10 iface vlan10 inet static address 10.10.10.12 netmask 255.255.0.0 network 10.10.0.0 broadcast 10.10.255.255 vlan-raw-device bond0 gateway 10.10.0.1 dns-search hup.hu dns-nameservers 10.10.0.2 auto vlan20 iface vlan20 inet static address 10.20.10.12 netmask 255.255.0.0 network 10.20.0.0 broadcast 10.20.255.255 vlan- raw-device bond0 auto vlan30 iface vlan30 inet static address 10.30.10.12 netmask 255.255.0.0 network 10.30.0.0 broadcast 10.30.255.255 vlan-raw-device bond0

Interface aliasing allows one interface to have multiple IP addresses. This is useful when more than one server is to be visible via the Internet . Note that virtual hosts can support multiple Apache servers with a single IP address. Apache responds to the domain name supplied by the client in the HTTP header. In many other situations, one external IP is needed for each server using a port.

This / etc / network / interfaces text assigns three IP addresses to eth0.

auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42 netmask 255.255.255.0 gateway 192.168.1.1 auto eth0: 0 allow-hotplug eth0: 0 iface eth0: 0 inet static address 192.168.1.43 netmask 255.255.255.0 auto eth0: 1 allow-hotplug eth0: 1 iface eth0: 1 inet static address 192.168.1.44 netmask 255.255.255.0

An alias interface should not have "gateway" or "dns-nameservers"; dynamic IP assignment is permissible.

The above configuration is the previous traditional method that reflects the traditional use of ifconfig to configure network devices . ifconfig has introduced the concept of aliased or virtual interfaces . Those types of virtual interfaces have names of the form interface : integer and ifconfig treats them very similarly to real interfaces .

Nowadays ifupdown uses ip utility from the iproute2 package instead of ifconfig . The newer ip utility does not use the same concept of aliases or virtual interfaces . However, it supports assigning arbitrary names to the interfaces (they're called labels). ifupdown uses this feature to support aliased interfaces while using ip .

Also, ifupdown supports specifying multiple interfaces by repeating iface sections with the same interface name . The key difference from the method described above is that all such sections are treated by ifupdown as just one interface , so user can not add or remove them individually . However, up / down commands, as well as scripts, are called for every section as it used to be .

This / etc / network / interfaces text assigns three IP addresses to eth0.

auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42 netmask 255.255.255.0 gateway 192.168.1.1 iface eth0 inet static address 192.168.1.43 netmask 255.255.255.0 iface eth0 inet static address 192.168.1.44 netmask 255.255.255.0

Additional information can be found on the http://www.shorewall.net/Shorewall_and_Aliased_Interfaces.html page.

CategoryNetwork

Новости