DHCP-сервер для нескольких VLAN
Возможный дубликат:
Могу ли я иметь несколько серверов DHCP в одной сети?
Мне кажется, это очень старый вопрос. На самом форуме ответили на это в нескольких VLAN, нескольких подсетях, одном DHCP-сервере? Это делается при использовании опций Helper маршрутизатора 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-сервере. Кто-нибудь может пролить свет на метод, концепцию и реализацию?
3 ответа
Если у вашего роутера 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;
}
и так далее для остальных подсетей.
Чтобы создать несколько VLAN на вашем сервере, вам потребуется коммутатор с поддержкой 802.1q (маркировка VLAN или магистраль в терминологии Cisco) или несколько физических интерфейсов. DHCP-сервер будет прослушивать запросы на каждом интерфейсе. Вы можете определить распределенные адреса для каждого интерфейса.
Клиенты подключаются по одной VLAN, транслируют IP-запрос. Ваш сервер получает запрос и затем отвечает на диапазон, определенный для этой VLAN.
У вас есть коммутатор с поддержкой 802.1q? Или у вас есть несколько интерфейсов на вашем сервере?
Если у вас роутер Linux, то вам нужно установить ретранслятор DHCP. Наиболее распространенным является пакет ISC isc-dhcp-relay
,
После того, как вы установите его, вы должны предоставить ему список всех интерфейсов, через которые будет передаваться DHCP, и вы должны указать IP-адрес сервера DHCP. Файл конфигурации /etc/default/isc-dhcp-relay
,
За последние пару лет имя пакета менялось один раз, поэтому, если вы используете более старую версию Ubuntu, пакет может называться по-другому.