LINUX.ORG.RU
ФорумAdmin

DHCP Server на виртуальной машине с двумя сетевыми интерфейсами

 , ,


0

1

Есть следующая проблема. Есть Сервер с ESXi 5.1 На нем живет Ubuntu 12.04 server, с установлеными Squid, isc-dhcp-server, bind9. Живут в принципе дружно за одним исключением.
DHCP сервер выдает адреса в двух разных сетях 10.х.х.0/24 и 192.х.х.0/24, имеет два интерфейса eth0 и eth1.
eth0 10.xx.xx.112 смотрит в сеть 10.x.x.0/24 и имеет адрес в этой сети, который может ходить во внешний мир.
eth1 имеет адрес 192.х.х.10.
Задача даного DHCP сервера выдавать офисным машинам адреса из 10.х.х.0/24 сети (адреса выдаются по макам), а всем остальным (тобишь офисному вайфаю) из 192.х.х.0/24 сети. Вот содержание /etc/dhcp/dhcp.conf

ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret "..............";
}

zone domain.company.ua. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

zone xx.xx.10.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
option domain-name «domain.company.ua»;
authoritative;
log-facility local7;

# Это описана сеть для машин со статикой
subnet 10.хх.хх.0 netmask 255.255.255.0 {
option domain-name-servers 10.хх.хх.112;
option ntp-servers 10.хх.хх.112;
option domain-name «domain.company.ua»;
option routers 10.хх.хх.237;
option broadcast-address 10.хх.хх.255;
update-static-leases on;
}
host name.domain.company.ua {hardware ethernet 00:24:1D:xx:xx:xx; fixed-address 10.x.x.100;}
... тут перепись всего населения офиса с жесткой пропиской
host name.domain.company.ua {hardware ethernet 00:17:31:xx:xx:xx; fixed-address 10.x.x.120;}

class «office» {
match hardware;
}
subclass «office» 1:00:24:1D:xx:xx:xx;
... дублируется для того чтобы не выдавались адреса из 192й сети
subclass «office» 1:00:24:1D:xx:xx:xx;
# Subnet for WiFi
subnet 192.xx.xx.0 netmask 255.255.255.0 {
option domain-name-servers 10.xx.xx.112;
option ntp-servers 10.xx.xx.112;
#option domain-name «pit.company.ua»;
option routers 10.xx.xx.112;
option broadcast-address 192.xx.xx.255;
deny client-updates;
ddns-updates off;
default-lease-time 600000;
max-lease-time 720000;
pool {
range 192.xx.xx.100 192.xx.xx.150;
allow unknown-clients;
deny members of «office»;
}
}

Заплатка с subclass была сделана для того чтобы компы офиса не получали адреса из 192й сети, почему при наличии жесткой привязки они всётаки их получали я так и не понял.

Так вот при этом всем хозяйстве есть проблема. В /var/log/syslog имеется постоянно следующее сообщение

Horon dhcpd: DHCPDISCOVER from 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPDISCOVER from 4c:25:78:5f:de:37 via eth0: network 10.хх.хх.0/24: no free leases
Horon dhcpd: DHCPOFFER on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 (192.хх.хх.10) from 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPACK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 (192.хх.хх.10) from 4c:25:78:5f:de:37 via eth0: wrong network.
Horon dhcpd: DHCPNAK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth0
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPACK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth0: wrong network.
Horon dhcpd: DHCPNAK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth0
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPACK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth0: wrong network.
Horon dhcpd: DHCPNAK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth0
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPACK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth1
Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth0: wrong network.
Horon dhcpd: DHCPNAK on 192.хх.хх.141 to 4c:25:78:5f:de:37 via eth0

И как следствие все клиенты которые получают адреса динамически, постоянно отваливаются через какое-то абсолютно произвольное время время. При этом клиенты на ХР самостоятельно коннект не возобновляют а на win7 возобновляют. На клиентских машинах в этот момент нет никаких ошибок, просто не выходит трафик во внешний мир, отваливается РДП сессия.
И еще одна станная особенность. Две одинаковые HTC в офисе подключаются по вай фаю, получают адреса но интернета не видят, все остальные устройства подключаются на ура.
Кто в курсе, ткните носом в ошибку, я не обижусь

Horon dhcpd: DHCPREQUEST for 192.хх.хх.141 from 4c:25:78:5f:de:37 via eth0: wrong network.

У тебя где-то эти две сети соединены физически свитчем, либо на каком-то сервере между ними настроен мост.

Deleted ()

Я не совсем понял суть, много букав, но я так понимаю что у тебя в одном и том же влане сидят и офисные компы и вайфай народ? При этом офисные компы жестко прописаны в мак-привязках? Да, еще раз прочитал, сорри. Сети таки разделены. Значит да, возможно либо так, как указано выше (бридж где-то между л2 сетями) либо где-то ошибки в описании привязок.

Можно сделать так еще:

subnet 192.168.0.0 netmask 255.255.255.0 {
    pool {
	range 192.168.0.1 192.168.0.254;
	deny known-clients;
    }
}

subnet 10.1.0.0 netmask 255.255.255.0 {
    pool {
	range 10.1.0.1 10.1.0.254;
	deny unknown-clients;
    }
}

Таким образом у тебя в первый пул будут попадать только те, у кого нет привязок, а во второй - только те, у кого они есть. Можно даже им и адрес статический не прибивать, просто мак указать и все.

blind_oracle ★★★★★ ()
Последнее исправление: blind_oracle (всего исправлений: 2)
Ответ на: комментарий от blind_oracle

либо где-то ошибки в описании привязок.

Вряд ли, так как по куску лога видно, что запросы с одного и того же MAC-адреса приходят на оба интерфейса. Хотя ошибки в самом конфиге dhcpd тоже могут быть, я не вчитывался.

В любом случае, если физически разделить обе сети, то всё становится намного проще.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

я согласен, проще, но к сожалению в данном случае пока это невозможно. Но мне так и не понятно почему происходит отпадание клиентов

Slon_myasnik ()
Ответ на: комментарий от Deleted

и каким образом разделить эти два интерфейса если это виртуалка на ESXi. и воткнута она в одну циску. Ну даже если я все точки WiFi в один влан соберу, то из железяки то у меня в циску всё равно только 1 шнурок воткнутый.

Slon_myasnik ()
Ответ на: комментарий от Slon_myasnik

и каким образом разделить эти два интерфейса если это виртуалка на ESXi. и воткнута она в одну циску. Ну даже если я все точки WiFi в один влан соберу, то из железяки то у меня в циску всё равно только 1 шнурок воткнутый.

Что мешает пустить два VLANа по одному кабелю?

И если у тебя всё равно физически одна сеть, то зачем тебе два eth-интерфейса на виртуалке? В общем я не понял как у тебя вообще сеть устроена и что ты хочешь получить в результате.

Deleted ()
Ответ на: комментарий от Slon_myasnik

Да, есть такая штука - транк. Сделай внутри виртуалки один интерфейс, на нем подними два влан-интерфейса, и провод от ESXi тоже должен быть транком (то бишь нести в себе несколько вланов). В общем - курить матчасть. У вмвари есть Networking Guide, там тоже много интересного.

blind_oracle ★★★★★ ()
Ответ на: комментарий от Slon_myasnik

нужна схема сети чтобы понять какое решение может подойти. на ESXi можно организовать вланы на нескольких разных уровнях по усмотрению, исходя из удобства использования. Но чтобы понять как удобно, нужна схема. Согласен с оратором, что смысла разводить интерфейсы разные при наличии единственного аплинка нет.

Meinl ()

могу поспорить что ваша точка доступа wifi умеет раздавать DHCP, так может позволить ей это? хотя бы в тестовом варианте

Meinl ()
Ответ на: комментарий от Meinl

конечно же может, но у меня их 5 штук, и идея заключается в том что все они несут на себе одну и ту же сеть, и при переходе с точки на точку коннект не отваливается. Дешево и сердито. А главное работает. Проверял, иду по корридору и при пропадании из зоны действия одной точки перепрыгиваю на другую... но IP адрес не меняется и при разговоре по скайпу даже не возникает никакой задержки.

Slon_myasnik ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.