При подключении к сети новому узлу необходимо задать как минимум ip-адрес и маску. Дополнительно необходимы маршруты в другие сети и адреса локальных сетевых сервисов и других узлов. Для решения этих проблем существуют протоколы -- dhcp и dns.
!!!Для упрощения настроек сети и отладки, на клиентских машинах существует только один путь -- путь по умолчанию до основного сетевого шлюза локальной сети.

Рассмотрим динамическую настройку сети с помощью dnsmasq.

Dnsmasq — легковесный и быстроконфигурируемый рекурсивный, кэширующий и локальный DNS-сервер, а так же DHCP- и TFTP-сервер. 

   


0. Подготовка

Используем две виртуальные машины с tinycore linux -- server и client.

Сервер

Установим dnsmasq.

Клиент

Отключим автозапуск dhcp-клиента или уберем статические настройки сетевого интерфейса.

   


1. Настройка dnsmasq

Сервер

Сконфигурируем dnsmasq для динамической раздачи ip-адресов, маршрута по-умолчанию и разрешения имен локального домена.
dnsmasq.conf:

Код:
interface=eth0.31    # интерфейс для обслуживания

no-resolv    # не использовать внешние dns-сервера
no-poll    # не следить за обновлением resolv

local=/test/    # локальный домен test

expand-hosts    # дописывать неполные доменные имена
domain=test    # домен по-умолчанию

dhcp-range=192.168.31.100,192.168.31.200,255.255.255.0    # диапазон динамических адресов
dhcp-host=80:00:00:00:31:01,192.168.31.1    # статический ip-адрес выдаваемый по mac-адресу
dhcp-host=80:00:00:00:31:02,192.168.31.2
dhcp-option=option:router,192.168.31.1    # маршрут по-умолчанию

Добавим имена узлов локального домена:

Код:
> echo "192.168.31.1    server server.test" | sudo tee -a /etc/hosts
> echo "192.168.31.2    client client.test" | sudo tee -a /etc/hosts

   


2. Запуск сервиса

Сервер

Зададим настройки сетевого интерфейса

Код:
# ip address add 192.168.31.1/24 dev eth0.31
# ip link set up dev eth0.31

Сделаем dnsmasq первым dns-сервером:

Код:
>echo "nameserver 127.0.0.1" | cat /etc/resolv.conf | sudo tee /etc/resolv.conf

Cоздадим lease-файл для хранения выданных ip-адресов:

Код:
> touch /var/cache/dnsmasq.leases

Запустим dnsmasq в отладочном режиме с созданным конфигурационным файлом:

Код:
>dnsmasq -d -C dnsmasq.conf -l /var/cache/dnsmasq.leases

http://sd.uploads.ru/89Fnx.jpg
как видно настройки успешно считались

   


3. Проверка сервиса

Клиент

Изначально сетевые настройки сконфигурированы при запуске
http://sf.uploads.ru/lCFE1.jpg

Запустим встроенный dhcp-клиент
http://s1.uploads.ru/ULIcD.jpg

Сервер

На сервере отобразился диалог dhcp-сервера с dhcp-клиентом:
http://s4.uploads.ru/XduAP.jpg

Клиент

Проверим сетевые настройки
http://s2.uploads.ru/dwE5m.jpg

Проверим работу сервиса разрешения имен
http://s1.uploads.ru/yH5N3.jpg