15 янв. 2009 г.

Настройка сети в Ubuntu

Cетевая конфигурация /etc/network/interfaces (1часть) Перевод раздела справки
« : 31 Май 2009, 22:31:48 »
Сетевая конфигурация
Ubuntu имеет множество графических утилит, чтобы конфигурировать Ваши сетевые устройства. Этот документ написан для администраторов серверов, которые используют для управления сервером командную строку.

Ethernet
Большая часть настроек конфигурации Сети Ethernet централизовано в единственном файле, /etc/network/interfaces. Если у Вас нет никаких устройств Сети Ethernet, то только петлевой (lo) интерфейс появится в этом файле,  это будет выглядеть:
Цитировать
# 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
address 127.0.0.1
netmask 255.0.0.0
Если у Вас есть только одно устройство Сети Ethernet, eth0, и оно получает свою конфигурацию автоматически от Сервера DHCP при начальной загрузке, то вам надо только дописать в файл две строки:

auto eth0
iface eth0 inet dhcp
Первая строка определяет, что eth0 устройство ( читай сетевая плата) должно включиться и заработать автоматически при загрузке ПК. Вторая строка означает тот интерфейс ("iface") eth0 должен иметь адресное пространство IPv4 (замените “inet” на “inet6” для устройства IPv6) и что он должен получить IP-адрес и другие параметры конфигурации автоматически от DHCP-сервера. Если серверы DHCP в Вашей сети должным образом сконфигурированы, то эта машина не нуждается в дополнительной настройке.

Чтобы настроить Ваше устройство Сети Ethernet со статическим IP-адресом надо дописать еще немного информации. Предположим, что Вы хотите назначить IP-адрес 192.168.0.2 на устройство eth1, с типичной сетевой маской 255.255.255.0. Ваш IP- адрес шлюза о умолчанию 192.168.0.1. введите в файл /etc/network/interfaces:

iface eth1 inet static
   address 192.168.0.2
   netmask 255.255.255.0
   gateway 192.168.0.1
В этом случае, Вы должны будете вписать DNS-серверы в файл /etc/resolv.conf, он должен выглядеть так:

search mydomain.example
nameserver 192.168.0.1
nameserver 4.2.2.2
Директива search добавит  строку mydomain.example к имени хоста, и сделает запрос в попытке найти название в Вашей сети. Например, если домен Вашей сети - mydomain.example, и Вы пытаетесь вызвать хост “mybox”, запрос доменной системы имен будет изменен на “mybox.mydomain.example” для возможности поиска в домене.
Сервера имен  DNS, определяют соответствие имен хостов и IP-адресов. Если Вы используете свой собственный сервер имен, введите его здесь. Иначе, спросите у своего Провайдера услуг интернета основной и дополнительный DNS-сервера, и введите их в/etc/resolv.conf как показано выше.
Еще много конфигураций возможны, включая модемную связь интерфейсы PPP, IPv6
организация сети, устройства VPN, и т.д. Смотрите man 5 interfaces для получения дополнительной информации об поддерживаемых опциях. Помните что используется файл /etc/network/interfaces, команды ifup/ifdown пишутся в сценариях, или запускаются как высокоуровневая схема конфигурации и могут использоваться в некоторых других дистрибутивах Linux. Так же есть традиционные утилиты более низкого уровня, такие как ifconfig, route, и dhclient, они доступны вам, для специального конфигурирования.


Управление DNS-записями
Этот раздел объясняет, как cконфигурировать сервер имен и использовать, разрешить IP-адреса к именам хостов, и наоборот. Здесь не объясняется, как конфигурировать систему как сервер имён.

Чтобы управлять запросами DNS, Вы можете добавить, редактировать, или удалить названия DNS-серверов в файле /etc/resolv.conf. Типовой файл дан ниже:


search com
nameserver 204.11.126.131
nameserver 64.125.134.133
nameserver 64.125.134.132
nameserver 208.185.179.218

Первая строка определяет строку, которая будет добавлена к неполному имени хоста. В конец будет добавляться окончание com. Так, если бы мы обратились к хосту командой ping ubuntu, то он интерпретировался бы утилитой как ping ubuntu.com.
Строки nameserver указывают IP-адреса серверов имен. Они используются, чтобы сопоставить данный IP-адрес и имя хоста. В этом файле может быть много серверов имен. Обработка сетевых запросов будет выполняться на указанных серверах.
Если имена DNS-серверов установлены динамически  DHCP или PPPoE (устанавливаются Вашим провайдером), не добавляйте сервера имен в этот файл. Они будут перезаписаны.

Управление Хостами
Чтобы управлять хостами, Вы можете добавлять, редактировать, или удалить хосты в файле  /etc/hosts. Файл содержит IP-адреса и их соответствующие имена хоста. Когда Ваша система пытается найти имя хоста по IP-адресу или определить имя хоста для IP-адреса, она сначала обращается к файлу /etc/hosts прежде чем использовать  сервер имен. Если IP-адрес перечислен в файле /etc/hosts, то сервера имен не используются. Это поведение может быть изменено, редактированием файла /etc/nsswitch.conf.
Если Ваша сеть содержит компьютеры, IP-адреса которых не перечислены в DNS, рекомендуется, чтобы Вы добавили их в файл /etc/hosts.

Соединение
      Соединение нескольких интерфейсов является более расширенной конфигурацией, но очень полезной в многократных сценариях. Один сценарий устанавливает мост с множеством сетевых интерфейсов, затем использует межсетевую защиту, чтобы фильтровать трафик между двумя сетевыми сегментами. Другой сценарий использует мост (bridge) на системе с одним интерфейсом, чтобы позволить  прямой виртуальный доступ машин к внешней сети. Следующий пример показывает последний сценарий.
.Прежде, чем конфигурировать мост Вы должны будете установить пакет bridge-utils. Для установки пакета в терминале введите:
Цитировать
sudo apt-get install bridge-utils
Затем, cконфигурируйте мост, редактируя файл /etc/network/interfaces:
Цитировать
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off
Введите соответствующие значения для своего физического интерфейса и сети.
Теперь перезапустите сеть чтобы запустить интерфейс моста
Цитировать
sudo /etc/init.d/networking restart
         
           
Используйте интерфейс моста для Ubuntu-desktop, или если dhcdbd установлен, демон dhcdbd должен будет быть остановлен и отключен.
После конфигурирования моста в/etc/network/interfaces, остановите dhcdbd:
Цитировать
sudo /etc/init.d/dhcdbd stop
Теперь, чтобы он не запускался при начальной загрузке, введите:
Цитировать
sudo update-rc.d -f dhcdbd remove
Новый интерфейс моста должен теперь запуститься. Информацию о мосте можно получить коммандой brctl