При подключении к сети новому узлу необходимо задать как минимум ip-адрес и маску. Дополнительно необходимы маршруты в другие сети и адреса локальных сетевых сервисов и других узлов. Для решения этих проблем существуют протоколы -- dhcp и dns.
!!!Для упрощения настроек сети и отладки, на клиентских машинах существует только один путь -- путь по умолчанию до основного сетевого шлюза локальной сети.
Рассмотрим динамическую настройку сети с помощью dnsmasq.
Dnsmasq — легковесный и быстроконфигурируемый рекурсивный, кэширующий и локальный DNS-сервер, а так же DHCP- и TFTP-сервер.
0. Подготовка
Используем две виртуальные машины с tinycore linux -- server и client.
Сервер Установим dnsmasq. | Клиент Отключим автозапуск dhcp-клиента или уберем статические настройки сетевого интерфейса. |
1. Настройка dnsmasq
Сервер Сконфигурируем dnsmasq для динамической раздачи ip-адресов, маршрута по-умолчанию и разрешения имен локального домена. Код:
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
|
3. Проверка сервиса
Клиент Изначально сетевые настройки сконфигурированы при запуске Запустим встроенный dhcp-клиент | |
Сервер На сервере отобразился диалог dhcp-сервера с dhcp-клиентом: | |
Клиент Проверим сетевые настройки Проверим работу сервиса разрешения имен |