Возможный дубликат:
Могу ли я иметь несколько DHCP-серверов в одной сети?
Думаю, это очень старый вопрос. На этом форуме на него ответили в Несколько VLAN, несколько подсетей, один DHCP-сервер?Это делается при использовании вспомогательных опций маршрутизатора Cisco. Но в моем случае мы не используем маршрутизатор Cisco.
На моей машине ubuntu я установил 3 VLAN с идентификаторами 3,4,5. Я хотел предоставить им IP-адреса через сервер DHCP, но у меня есть сомнения, связанные с концепцией, а также с реализацией. Обычно сервер DHCP будет быть настроенным с одним интерфейсом (скажем, eth0) с конкретным IP-адресом, например, 192.168.0.100. Таким образом, если клиенту требуется IP, он будет отправлять запросы DHCP на этот сервер, и сервер также определяет, что запрос исходит из этой подсети, и предоставляет соответствующий IP-адрес из той же подсети. (скажем, 192.168.0.20)
Но если существует много интерфейсов VLAN, которые запрашивают IP-адрес, как Сервер будет различать, что запрос dhcp исходит из этой конкретной VLAN, и предоставит IP из соответствующего диапазона подсети.
Я слышал, что мы должны создать сети VLAN на dhcp-сервере. Может кто-нибудь пролить свет на метод, концепцию, а также реализацию?
Если ваш Linux-маршрутизатор имеет магистральный интерфейс к коммутатору с помеченными vlans, вы можете сделать это без проблем.
сначала определите каждый vlan в / etc / network / interfaces, например:
auto eth0.200
iface eth0.200 inet static
address 10.0.1.1
netmask 255.255.255.0
iface eth0.201 inet6 static
address 10.0.2.1
netmask 255.255.255.0
iface eth0.202 inet6 static
address 10.0.3.1
netmask 255.255.255.0
затем скажите демону dhcp прослушивать некоторые / все эти подсети, отредактировав / etc / default / isc-dhcp-server [или dhcpd] и изменив переменную INTERFACES на "eth0.200 eth0.201 eth0.202"
и добавление отдельных подсетей в /etc/dhcp/dhcpd.conf
subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.10 10.0.1.20;
# you might point some other address
# within that subnet that should be advertised as router
# it does not have to be your linux box
option routers 10.0.1.1;
option broadcast-address 10.0.1.255;
authoritative;
}
и так далее для остальных подсетей.
Если ваш маршрутизатор представляет собой Linux-сервер, вам необходимо установить DHCP-ретранслятор. Самый распространенный - это пакет ISC. isc-dhcp-relay
.
После установки вы должны предоставить ему список всех интерфейсов, на которые он будет ретранслировать DHCP, и вы должны предоставить IP-адрес DHCP-сервера. Конфигурационный файл /etc/default/isc-dhcp-relay
.
Название пакета менялось один раз за последние пару лет, поэтому, если вы используете более старую версию Ubuntu, пакет может называться иначе.
Чтобы создать несколько VLAN на вашем сервере, вам понадобится коммутатор с включенным 802.1q (VLAN Tagging или Trunk в терминологии Cisco) или несколько физических интерфейсов. Сервер DHCP будет прослушивать запросы на каждом интерфейсе. Вы можете определить распределенные адреса для каждого интерфейса.
Клиенты подключены к одной VLAN, транслирующей IP-запрос. Ваш сервер получит запрос, а затем ответит на диапазон, определенный для этой VLAN.
У вас есть коммутатор с поддержкой 802.1q? Или у вас на сервере несколько интерфейсов?