LINUX.ORG.RU
ФорумAdmin

dhcp + vlan

 ,


0

1

DHCP сервер не выдает ip-адрес клиенту, находящемуся в vlan-e, причем клиенты из основной сети адреса получают. В логе /var/log/messages клиент посылает запрос DHCPDISCOVER серверу, сервер отвечает DHCPOFFER, но до клиента ответ не доходит и он снова посылает DHCPDISCOVER...В файрволе добавлены строчки iptables -I INPUT 24 -i vlan12 -p UDP --sport 67:68 --dport 67:68 -j ACCEPT и iptables -I OUTPUT 24 -o vlan12 -p UDP --sport 67:68 --dport 67:68 -j ACCEPT. Эти строчки добавлены сразу после аналогичных для основного интерфейса. В таблице INPUT счетчик пакетов меняется, в таблице OUTPUT остается по нолям. Заранее спасибо!

Ответ на: комментарий от greedisgood42rus

Объясните, пожалуйста, для баранов. Я так понимаю, dhcrelay нужен когда есть dhcp сервер в одной сети, а нужно передавать запросы в другую, через маршрутизатор, на котором и ставится этот агент, правильно?

Не нужен вам никакой dhrelay если у вас с ваших же слов:

Сервер DHCP установлен на той же машине, что и шлюз. Т.е. на ней же и vlan-ы и файрвол.

Все очень просто. На шлюзе у вас файервол и dhcp сервер. Вы заводите на коммутатор ваши vlan и обычные интерфейсы. Допустим у вас 2 vlan и 2 обычных: eth0.100, eth0.101, eth1, eth2. Поднимаете эти интерфейсы развешиваете на них адреса каждый из своей подсети:

eth0.100 - 10.1.100.1/24
eth0.101 - 10.1.101.1/24
eth1 - 10.1.51.1/24
eth2 - 10.1.52.1/24

Далее описываете в dhcpd.conf эти четыре подсети. При запуске dhcpd передаете ему 4 аргумента соответствующие именам интерфейсов соединенных с сетями в которые dhcpd будет раздавать адреса:

/usr/sbin/dhcpd eth1 eth2 eth0.100 eth0.101
dhcpd сам поймет какие адреса куда раздавать помотрев какой ip висит на том или ином интерфейсе.

Открываете на вход udp 67,68 и проверяете.

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

Вы заводите на коммутатор На маршрутизатор конечно же.

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

Все очень просто.

Все так и настроено, как Вы советуете, но не работает, к сожалению.

Не нужен вам никакой dhrelay если у вас с ваших же слов:

Я понимаю, что он применяется в другой ситуации, которую я уже описал

dhcrelay нужен когда есть dhcp сервер в одной сети, а нужно передавать запросы в другую, через маршрутизатор, на котором и ставится этот агент, правильно?

Расспрашивал я про dhcrelay с целью своего рода «обмана» dhcp-сервера, раз он не хочет по-православному работать. Меня вот что интересует, правильно ли утверждение коллеги выше

0-вые счетчики в output ничего не говорят - dhcpd может не отвечать на эти запросы.

Разве могут пакеты, созданные один и тем же локальным процессом маршрутизатора (dhcp-сервером) для одного интерфейса (eth0) проходить по цепочке netfilter-а, а для другого интерфейса нет? (У меня в таблице output в строчке, где открыты порты 67 и 68 для основного интерфейса, счетчик пакетов меняется, а для vlan-а нет) Получается, что бессмысленно искать причины неправильной настройки vlan-ов коммутатора, который стоит после маршрутизатора, если пакет просто до него не доходит, правильно? п.с.: если забить вручную адрес у клиента, находящегося в vlan-е, то все работает, шлюз он видит и т.д.

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

Неплохо бы знать модель вашего коммутатора. Если есть подозрение на netfilter то тогда предоставьте пожалуйста:

iptables -vnL
iptables -t nat -vnL
iptables -t mangle -vnL

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

Кроме того есть еще полезная утилита под названием dhcping которая позволяет симулировать получение данных по dhcp без их применения вживую.

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

Неплохо бы знать модель вашего коммутатора.

Коммутатор hp procurve 2510g-48, Вланы настраивались при подключении по протоколу ssh, через menu-switch configuration-vlan menu. Вроде как там все просто и понятно...Можно ли там что-то упустить? п.с.: dhcping отвечает «no answer» на vlan-ах и «Got answer from» на основном интерфейсе

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

Судя про dhcpd.conf у вас на каждый vlan своя подсеть (что логично) - в этом случае shared-network вам не нужен, должно быть просто:

subnet 172.16.12.0 netmask 255.255.255.0 {
    range 172.16.12.100 172.16.12.199;
    option domain-name-servers 10.142.117.64, 10.142.117.68;
    option domain-name "rz.local";
    option netbios-node-type 8;
    option netbios-name-servers 10.142.117.250;
    option routers 172.16.12.1;
    option broadcast-address 172.16.12.255;
}

остальное аналогично.

Можно вывод команды

sh vlan
с вашего коммутатора?

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

Можно вывод команды с вашего коммутатора?

VLAN ID Name                 Status       Voice Jumbo
  ------- -------------------- ------------ ----- -----
  1       DEFAULT_VLAN         Port-based   No    No   
  2       mktdl                Port-based   No    No   
  3       sk                   Port-based   No    No   
  4       ofkd                 Port-based   No    No   
  5       gsm-ter              Port-based   No    No   
  6       cam                  Port-based   No    No   
  7       cam2                 Port-based   No    No   
  8       mt                   Port-based   No    No   
  9       gsm                  Port-based   No    No   
  10      dsp                  Port-based   No    No   
  12      inet                 Port-based   No    No   
  
greedisgood42rus
() автор топика
Ответ на: комментарий от trancefer

и увидеть конифгурационные файл(ы) ваших интерфейсов.

DEVICE="eth0"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="23hjd-v23v-232-vwed-232323fe"
HWADDR=W3:C4:3Q:23:57:34
NAME="System eth0"
IPADDR=10.142.117.1
PREFIX=24
IPV4_FAILURE_FATAL=yes
IPV6INIT=no


LAN=yes
DEVICE=vlan12
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.16.12.1
PREFIX=24
greedisgood42rus
() автор топика
Ответ на: комментарий от greedisgood42rus

посмотри ещё настройки на коммутатор(е|ах) соединяющих клиента и dhcp-сервер, может в настройках установлен недоверенный порт для dhcp.
Как вариант возможно подключить другой коммутатор или обновить прошивку для текущего(я встречался с подобными глюками для длинка)

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