Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: dnsmasq dhcp не работает  (Прочитано 6803 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
dnsmasq dhcp не работает
« : 18 Января 2014, 20:54:12 »
Подскажите, пожалуйста. dnsmasq ни как не хочет раздавать ip адреса по dhcp.
Причем в виртуалке делал все работало. Перенёс на реальное железо, нифига не работает. Причем все конфиги идентичны за исключением подсети.

Конфиги такие:
/etc/network/interfaces
Цитировать
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth0:1
iface eth0:1 inet static
address 10.0.0.1
netmask 255.255.255.0

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
post-up /etc/nat

/etc/nat
Цитировать
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

ip addr show ppp0 | grep "inet" | grep "peer" | awk '{print $2}' > /tmp/ip_old

REAL_IP=`cat /tmp/ip_old`

iptables -A INPUT -i lo -j ACCEPT

iptables -A FORWARD -i eth0:1 -o ppp0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -s 10.0.0.0/24 -j MASQUERADE

iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT

/etc/dnsmasq.conf
Цитировать
listen-address=127.0.0.1,10.0.0.1
dhcp-range=10.0.0.50,10.0.0.150,255.255.255.0,12h


Лог dnsmasq-dhcp таков:
Цитировать
DHCP, IP range 10.0.0.50 -- 10.0.0.150, lease time 12h

После того как клиент спросит айпишник. В логе появляется ошибка:
Цитировать
DHCP packet received on eth0 which has no address


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #1 : 18 Января 2014, 21:16:21 »
grep interface /etc/dnsmasq.confв студию

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #2 : 18 Января 2014, 21:28:56 »
grep interface /etc/dnsmasq.confв студию

Цитировать
# 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=eth0:1
# Or you can specify which interface _not_ to listen on
except-interface=wlan0
# If you want dnsmasq to provide only DNS service on an interface,
#no-dhcp-interface=lo
# even when it is listening on only some interfaces. It then discards
# working even when interfaces come and go and change address. If you
# want dnsmasq to really bind only the interfaces it is listening on,
#bind-interfaces
# that these two Ethernet interfaces will never be in use at the same

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #3 : 18 Января 2014, 21:49:42 »
я так понимаю Вы специально закомментировали нужную строчку.

Я могу ошибаться, но вроде алиасы прозрачны с физическим интерфейсом в плане mac-адресов.

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #4 : 18 Января 2014, 21:58:49 »
я так понимаю Вы специально закомментировали нужную строчку.

Я могу ошибаться, но вроде алиасы прозрачны с физическим интерфейсом в плане mac-адресов.

Не знаю о какой нужной строчке вы говорите.

Строку #interface=eth0:1

закоментировал, потому-что из-за нее не запускался dnsmasq (eth0:1 - виртуальный интерфейс).
#no-dhcp-interface=lo и #bind-interfaces не видел разницы в работе.

вот сейчас поставил interface=eth0:1, и dnsmasq вдруг её скушал. Теперь ошибки DHCP packet received on eth0 which has no address не возникает. Но и адресов тоже не раздает.

Прикол в чем. На виртуалке у меня было только две строчки:

listen-address=127.0.0.1,192.168.2.1
dhcp-range=192.168.2.10,192.168.2.250,255.255.255.0,12h

И все работало.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #5 : 18 Января 2014, 22:22:54 »
В сети ещё похоже pppoe-концетратор есть, судя по /etc/network/interfaces.
Опишите вашу сеть.
Алиасы не работают для dhcp/bootp, в man dnsmasq это прямо говорится.
OpenWrt 19.07

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #6 : 18 Января 2014, 22:23:30 »
Удалось запустить DHCP но на половину. Клиент получает адрес только со второго раза.
А точнее:
1. Устанавливаю статический ip в нужной подсети.
2. Возвращаю назад на "получить адрес автоматически".
3. Все ОК.

В логах тогда получается следующее:

(Нажмите, чтобы показать/скрыть)


Сделал я это тем, что отключил удалил виртуальный интерфейс eth0:1, и настроил нат на физический eth0

Пользователь решил продолжить мысль 18 Января 2014, 22:28:26:
В сети ещё похоже pppoe-концетратор есть, судя по /etc/network/interfaces.
Опишите вашу сеть.
Алиасы не работают для dhcp/bootp, в man dnsmasq это прямо говорится.

Моя сеть:
1. Витая пара провайдера
2. Старенький wi-fi роутер. 4х портовый. С отключенными DHCP и DNS.
3. Все витые пары (провайдер, 2 компьютера), подключены к его свичу. Уточну - провайдер не подключен к ethernet порту, а вместе со всеми в локальную сеть. Телефоны, планшеты включаются в локальную сеть через wi-fi роутера.
4. Один из компьютер (неттоп), подключает pppoe и дальше его раздает всем устройствам в сети. Согласно выше приложенным конфигам.

Пользователь решил продолжить мысль 18 Января 2014, 22:29:48:
Вопрос теперь заключается в том, а как собственно сделать так, что бы клиент получал ip с первого раза, без необходимости первоначально задать ip статически.
« Последнее редактирование: 18 Января 2014, 22:35:46 от const86 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #7 : 19 Января 2014, 00:37:58 »
Цитировать
3. Все витые пары (провайдер, 2 компьютера), подключены к его свичу.
Впринципе я предпологал это. Вы сейчас создали себе проблему, высунув ваш dhcp-сервер в сеть провайдера.
Вам нужно разделить провайдерскую сеть и вашу, физически либо логически.
OpenWrt 19.07

Оффлайн andwer07

  • Участник
  • *
  • Сообщений: 233
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #8 : 19 Января 2014, 02:35:06 »
Цитировать
Уточну - провайдер не подключен к ethernet порту, а вместе со всеми в локальную сеть.
Зачем?

Цитировать
3. Все витые пары (провайдер, 2 компьютера), подключены к его свичу.
Впринципе я предпологал это. Вы сейчас создали себе проблему, высунув ваш dhcp-сервер в сеть провайдера.
Вам нужно разделить провайдерскую сеть и вашу, физически либо логически.

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

Предлагаю сделать так:
если нет возможности поднять pppoe на роутере - поднять его на компьютере, подключённом напрямую к провайдеру, а ко второй сетевой карте подключить свою сеть. DHCP для локальной сети можно включить на роутере, чтобы не настраивать на компьютере.

Пользователь решил продолжить мысль 19 Января 2014, 02:41:22:
Или не так. Подключить провайдера к WAN-порту роутера, pppoe поднять на одном из локальных компьютеров (здесь не уверен, будет ли работать) и с него раздать на остальные. В общем, непонятно, зачем вы провайдера включили в LAN.
« Последнее редактирование: 19 Января 2014, 02:41:51 от andwer07 »

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #9 : 19 Января 2014, 13:53:48 »
Цитировать
3. Все витые пары (провайдер, 2 компьютера), подключены к его свичу.
Впринципе я предпологал это. Вы сейчас создали себе проблему, высунув ваш dhcp-сервер в сеть провайдера.
Вам нужно разделить провайдерскую сеть и вашу, физически либо логически.

Да вчера вечером меня осенило, какую глупость я сделал :). А как мне собственно логически разделить сети?

Цитировать
Уточну - провайдер не подключен к ethernet порту, а вместе со всеми в локальную сеть.
Зачем?

Цитировать
3. Все витые пары (провайдер, 2 компьютера), подключены к его свичу.
Впринципе я предпологал это. Вы сейчас создали себе проблему, высунув ваш dhcp-сервер в сеть провайдера.
Вам нужно разделить провайдерскую сеть и вашу, физически либо логически.

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

Предлагаю сделать так:
если нет возможности поднять pppoe на роутере - поднять его на компьютере, подключённом напрямую к провайдеру, а ко второй сетевой карте подключить свою сеть. DHCP для локальной сети можно включить на роутере, чтобы не настраивать на компьютере.

Пользователь решил продолжить мысль 19 Января 2014, 02:41:22:
Или не так. Подключить провайдера к WAN-порту роутера, pppoe поднять на одном из локальных компьютеров (здесь не уверен, будет ли работать) и с него раздать на остальные. В общем, непонятно, зачем вы провайдера включили в LAN.

Зачем все это. Держать все время четырехсот ватный орущий компьюетр включенным нет ни какого желания. У меня есть маленький тихий и экономичный неттоп, который и без того работает практически весь день. Установить в него отдельную сетевую карту естественно нет возможности.
Поднять pppoe на роутере бессмысленно, потому что он больше 40Мегабит не тянет. А провайдер дает 100.
Покупать дорогущий железный роутер держащий 100 Мбит, пока желания нет. Вот и решил, а почему бы неттоп на это ни подписать.

Если я подключу провайдера к wan-порту, компьютеры pppoe поднять не могут.
Пробовал на роутере поднять гостевую зону, и в неё засунуть провайдера. Компьютеры поднять pppoe не могут. Или может я не правильно, что-то делаю...

Может есть какие прошивки, c поддержкой vlan и соответственно позволяющие пробросить wan на другие сети? Роутер D-Link 320. Где-то 6и летного года выпуска.
« Последнее редактирование: 19 Января 2014, 14:01:10 от const86 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #10 : 19 Января 2014, 15:20:03 »
Не нужно держать никаких "четырёхсотваттных орущих компьютеров". Ваше текущее оборудование вполне позвовляет разделить сети с помощью VLAN. Перешиваете свой DIR-320 в DD-WRT/OpenWRT/Oleg-firmware, поднимаете VLAN, определяете порты тег/антег/транк, конфигурируете сетевой мост, на неттопе также поднимаете VLAN'ы, через один из них pppoe.
(Нажмите, чтобы показать/скрыть)
Также одна физическая сетевушка, как Вы видите. ;)
OpenWrt 19.07

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #11 : 19 Января 2014, 15:29:42 »
Не нужно держать никаких "четырёхсотваттных орущих компьютеров". Ваше текущее оборудование вполне позвовляет разделить сети с помощью VLAN. Перешиваете свой DIR-320 в DD-WRT/OpenWRT/Oleg-firmware, поднимаете VLAN, определяете порты тег/антег/транк, конфигурируете сетевой мост, на неттопе также поднимаете VLAN'ы, через один из них pppoe.
(Нажмите, чтобы показать/скрыть)
Также одна физическая сетевушка, как Вы видите. ;)


Спасибо. Обязательно попробую её на следующей неделе. На этой я уже истратил весь лимит интимных услуг с компьютером :).

Еще, тут возник такой вопрос, с текущей конфигурацией. Если я качаю торренты на неттопе (который всем рулит), скорость 7-11 Мегабайт/сек.  А вот если те же самые торренты качаю на компьютере, то скорость не поднимается выше 5.5 Мегабайт/сек. Собственно вопрос, почему? Где "затыки" получаются?

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #12 : 19 Января 2014, 15:32:48 »
В свитче, он стамегабитный.
OpenWrt 19.07

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #13 : 19 Января 2014, 15:39:20 »
В свитче, он стамегабитный.

Блин, получается, как не крути, а все равно новый свитч брать придется :). Хотя какой-то необходимости в большой скорости в остальной сети - нет... :)

Оффлайн const86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: dnsmasq dhcp не работает
« Ответ #14 : 16 Февраля 2014, 10:52:02 »
Не нужно держать никаких "четырёхсотваттных орущих компьютеров". Ваше текущее оборудование вполне позвовляет разделить сети с помощью VLAN. Перешиваете свой DIR-320 в DD-WRT/OpenWRT/Oleg-firmware, поднимаете VLAN, определяете порты тег/антег/транк, конфигурируете сетевой мост, на неттопе также поднимаете VLAN'ы, через один из них pppoe.

Также одна физическая сетевушка, как Вы видите. ;)


KT315. А вы не подскажете как настроить собственно VLAN на свиче?

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.