Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4 (FAQ).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
406.02 Кб
Скачать

6.2.4. Resolv.Conf(5) — настройка клиента dns

Файл /etc/resolv.conf нужен для настройки клиента DNS. Когда мы обращаемся к какой-то удалённой машине по имени, первое, что происходит, это преобразование имени в адрес IP (или IPv6). Обычно ситуация устроена следующим образом: сперва система ищет имена в файле /etc/hosts, где записано какие имена имеют машины с тем или иным IP-адресом, а затем, если имя в данном файле ненайдено, осуществляется запрос к серверу DNS. В файле /etc/resolv.conf перечислены DNS серверы, к которым осуществляется запрос. Порядок действий (сперва изучается /etc/hosts, затем делается запрос к DNS) можно изменить, это обсуждается в Раздел 6.7, «Изменение порядка разрешения имён». Синтаксис файла /etc/resolv.conf подробно описан в Раздел 6.1.4, «/etc/resolv.conf(5)».

6.2.5. Hosts(5) — локальная база имён

Как было сказано в предыдущем разделе, типичное поведение системы состоит в том, что сперва она пытается разрешить имя используя файл /etc/hosts и только потом обращается к серверу DNS. В файле /etc/hosts на каждой строке имеется некоторый IP (или IPv6) адрес, а затем через пробелы перечислены имена соответствующие ему. Комментарий начинается с решётки (#). Например:

# $FreeBSD: src/etc/hosts,v 1.16 2003/01/28 21:29:23 dbaker Exp $

#

# Host Database

#

# Данный файл должен содержать адреса и алиасы для локальных машин

# Замените 'my.domain' ниже вашим доменом.

#

# В присутствии DNS или NIS данный файл может неиспользоваться вовсе,

# для определеня порядка в котором рассматриваются базы имён смотрите

# файл /etc/nsswitch.conf

#

#

::1 localhost localhost.my.domain

127.0.0.1 localhost localhost.my.domain

#

# Воображаемая сеть.

#10.0.0.2 myname.my.domain myname

#10.0.0.3 myfriend.my.domain myfriend

#

# Согласно RFC 1918 следующие сети можно использовать для приватных

# сетей. Этих адресов не существует в Интернет:

#

# 10.0.0.0 - 10.255.255.255

# 172.16.0.0 - 172.31.255.255

# 192.168.0.0 - 192.168.255.255

#

Я перевёл часть комментариев на русский язык, сочтя их полезными.

Обратите внимание: многие сервисы используют файл /etc/hosts для своей работы. Когда вы переносите такие сервисы в среду chroot, вы должны перенести туда же копию данного файла.

6.2.6. Как сохранить установленные сетевые параметры

Увы, это самое мутное место. Кажется нет двух систем BSD с одинаковой системой инициализации.

6.2.6.1. FreeBsd

В FreeBSD все настройки собраны в единый файл /etc/rc.conf, в том числе это касается и настроек сетевых интерфейсов. Если точнее, то имеется системный файл /etc/defaults/rc.conf, который редактироваться не должен (система сделает попытку перезаписать его, если вы выполните процедуру make buildworld, см. Раздел 1.2, «Разбираться какие команды доступны для upgrade'а операционной системы»), а в файле /etc/rc.conf находятся пользовательские настройки, которые имеют больший приоритет. В том или ином виде этот файл существует во всех системах BSD, однако настройки сетевых интерфейсов в OpenBSD и NetBSD вынесены в другие места.

В файле /etc/rc.conf для каждого сетевого интерфейса должна быть строка вида ifconfig_rl0="...". Если для интерфейса нужны дополнительные имена (алиасы), применяется строка вида: ifconfig_rl0_alias0="...", ifconfig_rl0_alias1="...".

Следующая строка объясняет, что интерфейс rl0 надо настроить с использованием DHCP:

ifconfig_rl0="DHCP"

В следующем листинге имеется ошибка:

ifconfig_rl0_alias0="inet 172.16.0.1/24"

ifconfig_rl0_alias1="inet 172.16.0.2/24"

ifconfig_rl0_alias2="inet 172.16.0.3/24"

ifconfig_rl0_alias4="inet 172.16.0.4/24"

Ошибка состоит в том, что после alias2 сразу описан alias4. К сожалению, это приведёт к тому, что сработают только первые три строки.

Все настройки связанные с функционированием IPv6, ppp, gif(4) и проч. так же должны находиться в файле /etc/rc.conf. С этими настройками можно ознакомиться в справочной системе man rc.conf.

Имя машины и маршрут по умолчанию задаются здесь же, можно здесь же задавать статические маршруты:

hostname="host.example.ru"

defaultrouter="172.16.0.254"

static_routes="somenetwork othernetwork"

route_somenetwork="192.168.0.0/24 172.19.0.14"

route_othernetwork="192.168.1.0/24 172.19.0.25"