В идеальной картине мира DHCP не нужен т.к. при недоступности DHCP сервера сеть может сломаться
- Несколько хостов получат один IP адрес
- Хосты не смогут получить IP адреса и не смогут контактировать между собой
Соответственно, в идеальной картине мира мы имеем некую IPAM систему, где управляете конфигурацией
Но понятно, что это удобно т.к.
- Можно быстро выдавать IP адреса клиентам
- Можно передавать дополнительные параметры типа DNS и NTP серверов, таймзоны, домена, статические маршруты, MTU
- Можно включить PXE загрузку по сети
- Некоторое оборудование типа IP телефонов может получать настройки устройства
- Ну и естественно DDNS, можно создавать dns записи для работы по имени + отправлять уведомления в телегу при подключении нового устройства
К чему я пришел дома
- Создается сеть, к примеру
192.168.0.0/23, список адресов тут будет от 192.168.0.1 до 192.168.1.254
- Роутеру выделяем адрес
192.168.0.1/23
- Создаем пул адресов
192.168.0.100-192.168.1.254 и навешиваем его на DHCP сервер
- Для критически важных систем, создаем статическую аренду в диапазоне от
192.168.0.2 до 192.168.0.99
- Но для критически важных систем все равно прописываем статические IP адреса на клиентах, а именно
5.1. PVE, особенно в кластере, плохо работает с DHCP и там прописываем статику
5.2. NAS тоже статика, он должен загрузиться раньше всех, TrueNAS 25.10 требует статический IP для NVMe-oF
- Для DNS сервера/ов можно создать VRRP адрес, для Reverse-proxy тоже, например
192.168.0.53 и 192.168.0.80 соответственно (думаю, объяснять числа нет смысла)
- Разделяем сети по сегментам, присваиваем им домены, не local т.к. он конфликтует с mDNS, например
.lan, dmz.lan, srv.lan, в корпоративном мире принято использовать FQDN вида dhcp-client.office.city.corp.com, ну и потом это все запихивается в AD
- Настраиваем DDNS
- Контейнеры и виртуалки добавляем в соответствуюий бридж, они получают IP по dhcp, если это критически важный сервис типа NAS, можно прописать статику, но учтите, что тогда при смене параметров сети надо будет править настройки во множестве мест
В итоге, я CT с именем ost добавил в бридж dmz
И имею такую картину
$ ping -c 4 ost.dmz
PING ost.dmz.lan (10.110.13.253) 56(84) bytes of data.
64 bytes from ost.dmz.lan (10.110.13.253): icmp_seq=1 ttl=63 time=0.362 ms
64 bytes from ost.dmz.lan (10.110.13.253): icmp_seq=2 ttl=63 time=0.268 ms
64 bytes from ost.dmz.lan (10.110.13.253): icmp_seq=3 ttl=63 time=0.285 ms
64 bytes from ost.dmz.lan (10.110.13.253): icmp_seq=4 ttl=63 time=0.271 ms
--- ost.dmz.lan ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3084ms
rtt min/avg/max/mdev = 0.268/0.296/0.362/0.038 ms
~ ⌚ 11:09:24
$ ping ost
PING ost.lan (10.110.0.144) 56(84) bytes of data.
^C
--- ost.lan ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2070ms
Поскольку, у меня домен lan, то при пинге ost пытается достучаться до ost.lan, который был в LAN брижде и получил IP адрес, но скоро удалится оттуда по таймауту
А вот пинг ost.dmz уже проходит, т.к. дописывается .lan и по этому адресу есть хост в нужной сети
В моем случае 10.110.0.0/23 выделен для LAN, 10.110.0.12/23 выделен под DMZ с vlan 112
.srv.lan это серверная сеть с MTU9000 и доступом к NFS на NAS
Проверяем, что jumbo frame работают
~ ⌚ 11:19:49
$ ping -s 9000 -c 4 truenas
PING truenas.lan (10.110.0.20) 9000(9028) bytes of data.
--- truenas.lan ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3061ms
~ ⌚ 11:20:05
$ ping -c 4 truenas
PING truenas.lan (10.110.0.20) 56(84) bytes of data.
64 bytes from truenas.lan (10.110.0.20): icmp_seq=1 ttl=64 time=0.183 ms
64 bytes from truenas.lan (10.110.0.20): icmp_seq=2 ttl=64 time=0.291 ms
64 bytes from truenas.lan (10.110.0.20): icmp_seq=3 ttl=64 time=0.138 ms
64 bytes from truenas.lan (10.110.0.20): icmp_seq=4 ttl=64 time=0.215 ms
--- truenas.lan ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3062ms
rtt min/avg/max/mdev = 0.138/0.206/0.291/0.055 ms
~ ⌚ 11:20:32
$ ping -c 4 truenas.srv
PING truenas.srv.lan (10.110.10.20) 56(84) bytes of data.
64 bytes from truenas.srv.lan (10.110.10.20): icmp_seq=1 ttl=64 time=0.185 ms
64 bytes from truenas.srv.lan (10.110.10.20): icmp_seq=2 ttl=64 time=0.178 ms
64 bytes from truenas.srv.lan (10.110.10.20): icmp_seq=3 ttl=64 time=0.176 ms
64 bytes from truenas.srv.lan (10.110.10.20): icmp_seq=4 ttl=64 time=0.163 ms
--- truenas.srv.lan ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3086ms
rtt min/avg/max/mdev = 0.163/0.175/0.185/0.008 ms
Для гостевой сети делал
- минимальные настройки DHCP
- отключал DDNS
- отключал “особый” роутинг
- передавал DNS сервер яндекса
Ну и особое внимание уделяем DNS серверу, в идеале поднять их несколько штук, у меня adguard что-то не справлялся, думаю что делать с этим
Вот трафик на DNS интерфейсе, с учетом того, что DNS UDP должен влезть в 1 пакет, то нижный график показывает количество DNS запросов в секунду (от 20 до 100) и 6.2 ГБ ответов за 1 день, 17 часов, 17 минут