Jump to content

Recommended Posts

Posted

День добрый!

 

Не раз здесь встречал упоминания, что dnsmasq умеет учитывать интерфейс, с которого пришел dhcp запрос, при выдаче ip адреса.

Вот только ни чтение документации, ни гугление не помогло. В документации в разделе dhcp-range ни слова про интерфейc. Возможно, мог

бы быть механизм аналогичный --dhcp-circuitid=set:<tag>,<circuit-id>, т.е. что-то вроде dhcp-interface=set:<tag>,<interface> но его тоже нет.

Гугл находит много запросов людей на эту опцию, но ни один из них не закончился каким либо результатом.

 

Такая опция мне нужна для однозначной привязки ip к qinq ip unnumbered интерфесам.

 

Отзовитесь кто знает про эту тему что-нибудь.

 

Спасибо.

Posted

google "dnsmasq dhcp-range per interface" =>

http://askubuntu.com/questions/118350/multi-subnet-in-ubuntu-with-dnsmasq

 

главное, чтобы у сервера на этом интерфейсе был ip из той же подсетки, к которой относится пул, иначе dnsmasq не станет выдавать адреса.

Posted

Илья, эту ссылку я нашел одной из первых. Добавление параметра interface приводит к ошибке:

dnsmasq: only one tag allowed at line 2 of /etc/dnsmasq.conf

 

вот тестовый конфиг, приводящий к этой ошибке:

 

port=0

dhcp-range=interface:vlan10.150, set:net31, 10.31.0.2, 10.31.0.2, 255.255.255.0, 10.31.0.255, 10m

 

Т.е., похоже, что конструкцию interface:vlan10.150 он просто считает за таг.

 

главное, чтобы у сервера на этом интерфейсе был ip из той же подсетки, к которой относится пул, иначе dnsmasq не станет выдавать адреса.

т.к. интерфейс unnumbered, то на нем всего один адрес:

ip addr ls dev vlan10.150
6: vlan10.150@vlan10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
   link/ether 00:04:23:9e:69:83 brd ff:ff:ff:ff:ff:ff
   inet 10.31.0.1/32 scope global vlan10.150

 

и этот адрес не принадлежит пулу, но тем не менее dnsmasq выдает адрес. проблема в том, что когда я добавляю несколько dhcp-range, уже нет возможности привязать строго определенный пул с одним адресом

к определенному интерфейсу.

Posted

Тогда плохо.

У меня мак-адрес абонента был известен, а у Вас?

http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2011q4/005321.html

Обходной вариант -- запускать по экземпляру dnsmasq для каждого интерфейса, с раздельными настройками.

Posted
У меня мак-адрес абонента был известен, а у Вас?

мак адреса известны, но хочется от этого уйти.

для этого можно использовать option 82, но хотелось пойти еще дальше и не делать и этих движений, т.к. dhcp сервер в случае vlan per customer и так знает откуда пришел запрос.

 

А много процессов - это совсем не решение.

Posted

Илья, спасибо!

 

Ссылка наш вопрос в списке рассылке привела меня к ответу!!

Саймон там написал, что tag c именем интерфейса выставляется автоматически для запроса. Этот момент я пропустил, читая описание параметров в ман файле.

 

То есть надо было просто использовать уже сущесвующий таг в описании dhcp-range,

и следующий конфиг дает желаемый результат - ip выдается строго в зависимости от влана/порта:

 

dhcp-range=vlan10.150, set:net31, 10.31.0.2, 10.31.0.2, 255.255.255.0, 10.31.0.255, 10m

dhcp-range=vlan10.151, set:net31, 10.31.0.3, 10.31.0.3, 255.255.255.0, 10.31.0.255, 10m

dhcp-range=vlan11.152, set:net31, 10.31.0.4, 10.31.0.4, 255.255.255.0, 10.31.0.255, 10m

dhcp-range=vlan11.153, set:net31, 10.31.0.5, 10.31.0.5, 255.255.255.0, 10.31.0.255, 10m

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.