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

Ubuntu поставляется с несолькими графическими инструментами для настройки сетевых устройств. Этот документ рассчитан на продвинутых пользователей и фокусируется на управлении сетью с помощью командной строки.

Ethernet

Большая часть конфигурации ethernet собрана в одном файле, /etc/network/interfaces. Если у вас нет ethernet устройств, только интерфейс loopback появится в этом файле, и будет выглядеть примерно следующим образом:

# Этот файл описывает сетевые интерфейсы, доступные в вашей системе
# и информацию о том, как их активировать. для получения более подробной информации, см. interfaces(5).

# Сетевой интерфейс loopback
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) и что он должен получать свои настройки автоматически с DHCP. Если ваша сеть и DHCP сервер настроены должным образом, сеть на данном компьютере не потребует никаких дальнейших настроек, чтобы правильно функционировать. DHCP сервер предоставит информацию о шлюзе по умолчанию (осуществляется через команду route), IP адресе устройства (осуществляется через команду ifconfig), и DNS серверах, используемых в сети (осуществляется через файл /etc/resolv.conf.)

Чтобы настроить ваше устройство 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 к hostname в попытке разрешить имена в вашей сети. Например, если домен вашей сети - mydomain.example, и вы пытаетесь осуществить ping хоста «mybox», запрос DNS будет изменен на «mybox.mydomain.example» для разрешения. Директивы nameserver указывают на использование DNS серверов для разрешения имен хостов в IP адреса. Если вы используете свой собственный сервер имен, введите его здесь. В противном случае, узнайте у своего интернет-провайдера, какой использовать первичный и вторичный DNS серверы, и введите их в /etc/resolv.conf как показано выше.

Существует большое количество возможных вариантов настроек сети, включая модемные интерфейсы PPP, работу в сети по протоколу IPv6, VPN устройства и т.п. Более полная информация и описание поддерживаемых возможностей дано в руководстве man 5 interfaces. Помните, что файл /etc/network/interfaces используется скриптами ifup/ifdown в для предоставления схемы настройек более высокого уровня, чем может использоваться в других дистрибутивах Линукс, а также, что традиционные низкоуровневые утилиты такие как ifconfig, route и dhclient также доступны вам для специально подобранных настроек.

Управление записями DNS

Этот раздел объясняет, как установить используемый сервер имен при разрешении 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

Директива search задает строку, которой будет дополнено неполное имя хоста. Здесь мы установили ее в com. Поэтому теперь, когда мы выполняем: ping ubuntu, это будет интерпретироваться как ping ubuntu.com.

Директива nameserver задает IP адрес сервера имен. Он будет использован, чтобы разрешить заданный IP адрес или имя хоста. Этот файл может иметь множество записей nameserver. Серверы имен будут использоваться сетевым запросов в том же порядке.

[Внимание]

Если имена DNS серверов получаются динамический по DHCP или PPPoE (от вашего интернет-провайдера), не добавляйте имена DNS серверов в этот файл, так как он будет переписан.

[Внимание]

Изменения, которые вы внесете в /etc/resolv.conf, будут затерты, когда вы перезапустите свою машину. Если вы хотите сделать эти изменения постоянными, вам необходимо установить пакет resolvconf из репозитория Universe и обновить информацию по DNS в файле /etc/resolvconf/resolv.conf.d/base, поставляемому с пакетом.

Управление хостами

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

Если в вашей сети есть компьютеры, чьи IP-адреса не прописаны в DNS, мы рекомендуем вам добавить их в файл /etc/hosts.