Автор Тема: РЕШЕНО: Не всегда стартует isc-dhcp-server  (Прочитано 12152 раз)

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

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Настроил шлюз между двумя сетевыми (eth3 - смотрит на интернет, eth4 - внутрення сеть), установил isc-dhcp-server, прописал правила ip-tables. Конфиги ниже. Но такая проблема - не всегда стартует isc-dhcp-server, вернее, не отрабатывается запуск dhcpd - после загрузки, если не поднялся dhcp, вручную запускаю
# /etc/init.d/isc-dhcp-server restartи в строке остановки dhcpd получаю ошибку, что он не запущен, а уже второй строкой идет запуск dhcpd и сервер поднимается и идет раздача адресов и внутренняя сеть работает.

dhclient.conf
Spoiler: ShowHide

send dhcp-client-identifier 1:50:E5:49:5C:63:5D;

request subnet-mask, broadcast-address, time-offset, routers,
   domain-name, domain-name-servers, domain-search, host-name,
   netbios-name-servers, netbios-scope, interface-mtu;


dhcpd.conf
Spoiler: ShowHide

ddns-update-style none;

INTERFACES="eth4";

# option domain-name 192.168.239.1;
option domain-name-servers 192.168.239.1, 8.8.8.8, 8.8.4.4;
option ntp-servers 192.168.239.1;

default-lease-time 43200;
max-lease-time 86400;

authoritative;

log-facility local7;

subnet 192.168.239.0 netmask 255.255.255.0 {
range 192.168.239.10 192.168.239.20;
option routers 192.168.239.1;
}


interfaces
Spoiler: ShowHide

auto lo
iface lo inet loopback
pre-up echo "1" > /proc/sys/net/ipv4/ip_forward  # Включаем форвардинг пакетов
pre-up iptables-restore < /etc/ip_rulles.lst     # Загружаем правила
post-down iptables-save > /etc/ip_rulles.lst     # Сохраняем правила

auto eth3
allow-hotplug eth3
iface eth3 inet dhcp
pre-up ip link set eth3 address 50:e5:49:5c:63:5d

auto eth4
allow-hotplug eth4
iface eth4 inet static
address 192.168.239.1
netmask 255.255.255.0
network 192.168.239.0
broadcast 192.168.239.255
gateway 192.168.239.1
pre-up ip link set eth4 address 50:e5:49:5c:63:50


ip_rules.lst
Spoiler: ShowHide

# Generated by iptables-save v1.4.14 on Sat Aug 11 23:23:45 2012
*nat
:PREROUTING ACCEPT [1511:93694]
:INPUT ACCEPT [22:1652]
:OUTPUT ACCEPT [816:57935]
:POSTROUTING ACCEPT [816:57935]
-A POSTROUTING -s 192.168.239.0/24 -o eth3 -j MASQUERADE
COMMIT
# Completed on Sat Aug 11 23:23:45 2012
# Generated by iptables-save v1.4.14 on Sat Aug 11 23:23:45 2012
*filter
:INPUT DROP [1485:87815]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth4 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth3 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth3 -p tcp -m multiport --ports 50100:51100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth3 -p tcp -m tcp --dport 27010:27030 -j ACCEPT
-A INPUT -i eth3 -p udp -m udp --dport 27010:27030 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth4 -o eth3 -j ACCEPT
-A FORWARD -i eth3 -o eth4 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth4 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Sat Aug 11 23:23:45 2012
# Generated by iptables-save v1.4.14 on Sat Aug 11 23:23:45 2012
*mangle
:PREROUTING ACCEPT [101266:131943977]
:INPUT ACCEPT [101264:131943363]
:FORWARD ACCEPT [2:614]
:OUTPUT ACCEPT [59198:21862386]
:POSTROUTING ACCEPT [59200:21863000]
COMMIT
# Completed on Sat Aug 11 23:23:45 2012


Не могу понять, что происходит. То ли где-то гонка интерфейсов? Раньше было практически при каждой загрузке, причем не всегда еще и интернет поднимался. И при выполнении
# /etc/init.d/networking restartвалились все интерфейсы (сетевые).
Понаблюдал за этим делом при ручных запусках - пришел к выводу, что при старте сначала интерфейса eth4 (внутренняя сеть), а потом eth3 - стартует нормально. Поэтому в interfaces поменял местами секции инициализации интерфейсов - теперь он выглядит так:

Spoiler: ShowHide

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
pre-up echo "1" > /proc/sys/net/ipv4/ip_forward  # Включаем форвардинг пакетов
pre-up iptables-restore < /etc/ip_rulles.lst     # Загружаем правила
post-down iptables-save > /etc/ip_rulles.lst     # Сохраняем правила

auto eth4
allow-hotplug eth4
iface eth4 inet static
address 192.168.239.1
netmask 255.255.255.0
network 192.168.239.0
broadcast 192.168.239.255
gateway 192.168.239.1
pre-up ip link set eth4 address 50:e5:49:5c:63:50

# The primary network interface
auto eth3
allow-hotplug eth3
iface eth3 inet dhcp
pre-up ip link set eth3 address 50:e5:49:5c:63:5d

Теперь все стартует нормально, /etc/init.d/networking restart отрабатывает без проблем, только иногда не стартует при загрузке сервер dhcp на внутреннюю сеть.
И еще - может сюда тоже привязано - при выходе из sleep-а dhcpd отсутствует - сервера нет. При запуске /etc/init.d/isc-dhcp-server restart в строке остановки dhcpd получаю ошибку, что он не запущен. Вылечил, прописав в конфиге в pm (секция sleep.d) при выходе строку /etc/init.d/isc-dhcp-server start. Но по логике то не должно этого быть - состояние сервера и демон dhcpd должен остаться в памяти?
« Последнее редактирование: 26 Август 2012, 23:56:02 от vladimir_ar »
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн xbsd

  • Местный житель
  • ***
  • Сообщений: 242
Re: Не всегда стартует isc-dhcp-server
« Ответ #1 : 19 Август 2012, 12:59:42 »
столько всего запостили, а по сути вопроса ничего толком нет. :) показывайте, что у вас в /var/log/dhcpd.log?
если не поднялся dhcp, вручную запускаю
Код: [Выделить]
# /etc/init.d/isc-dhcp-server restart
и в строке остановки dhcpd получаю ошибку, что он не запущен
ну все правильно. а по вашему как должно быть?
и это, а что с интерфейсами eth0 - eth2
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #2 : 19 Август 2012, 14:57:19 »
ну все правильно. а по вашему как должно быть?
Это то понятно - он не запущен. Почему не запускается иногда? isc-dhcp-server в автозапуске, а вот dhcpd не всегда стартует.
и это, а что с интерфейсами eth0 - eth2
А хз. Скорее всего, когда настройка интерфейсов делалась через Network Manager и создавалось несколько вариантов соединения на одну и туже карту, он их нумеровал по очереди 0, 1, 2... Т.е. сейчас через ifconfig карты отображаются как eth3, eth4, других нет (кроме lo).
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн Malaheenee

  • Ветеран
  • *****
  • Сообщений: 2565
  • Учтите, мы можем дать и вредный совет.
Re: Не всегда стартует isc-dhcp-server
« Ответ #3 : 19 Август 2012, 16:25:16 »
vladimir_ar, а разве секции auto eth4 и allow-hotplug ath4 не взаимоисключающие? Причем последняя у нас в свое время глючила, напрочь отказываясь стартовать после подключения кабеля, несмотря на название...

З.Ы. И потрите, пожалуйста, комментарии в листингах - читать очень сложно :)
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #4 : 19 Август 2012, 16:45:01 »
Лишние коменты потер.
А касательно allow-hotplug... Может так совпадало и я еще что-то параллельно цеплял, но когда рэмил - у меня вовсе ничего не поднималось. Но это могло быть совпадением с тем, когда не по этим причинам (т.е. не по причине двух исключающих параметров). Потом, когда более-менее стабильно заработало - не трогал. С работы домой попаду - проверю, может остаточные сбои уже именно из-за этого.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн xbsd

  • Местный житель
  • ***
  • Сообщений: 242
Re: Не всегда стартует isc-dhcp-server
« Ответ #5 : 19 Август 2012, 22:08:52 »
Почему не запускается иногда?
потому что надо смотреть dhcpd.log
А хз. Скорее всего, когда настройка интерфейсов делалась через Network Manager и создавалось несколько вариантов соединения на одну и туже карту, он их нумеровал по очереди 0, 1, 2... Т.е. сейчас через ifconfig карты отображаются как eth3, eth4, других нет (кроме lo).
для диагностики лучше использовать iproute2, а не ifconfig. Почитал тут handbook...
Many computers have multiple network cards (sometimes two wired interfaces and a wifi interface), and with hotplug support on most bus types, the 2.6 kernel no longer guarantees fixed naming of network interfaces. But a user who wants to configure their network in /etc/network/interfaces needs a fixed name!

It would be difficult to ask every user to create their own udev rules to address this problem. This is why udev was configured in a rather peculiar manner; on first boot (and, more generally, each time that a new network card appears) it uses the name of the network interface and its MAC address to create new rules that will reassign the same name on subsequent boots. These rules are stored in /etc/udev/rules.d/70-persistent-net.rules.

This mechanism has some side effects that you should know about. Let's consider the case of computer that has only one PCI network card. The network interface is named eth0, logically. Now say the card breaks down, and the administrator replaces it; the new card will have a new MAC address. Since the old card was assigned the name, eth0, the new one will be assigned eth1, even though the eth0 card is gone for good (and the network will not be functional because /etc/network/interfaces likely configures an eth0 interface). In this case, it is enough to simply delete the /etc/udev/rules.d/70-persistent-net.rules file before rebooting the computer. The new card will then be given the expected eth0 name.
т.о. начать поиск того, почему сетевые интерфейсы нумеруются хз как, думаю надо начинать именно из файла /etc/udev/rules.d/70-persistent-net.rules. Показывайте (:
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #6 : 19 Август 2012, 23:59:02 »
xbsd, спасибо. С нумерацией карт понятно теперь - система сменила мать - eth1, потом была установлена вторая карта (как оказалось, со сгоревшейвыходной частью) - eth2, потом рабочая, ныне eth3, а в результате смены МАС-а встроенная, бывшая eth2, стала eth4. Так что паники никакой нет, все объяснимо.

Malaheenee, убрал секцию allow-hotplug - перегрузился раз - все отлично. И на передергивание кабеля реагирует нормально - раздача нета продолжается. Буду наблюдать. Интересует только - из
/etc/pm/sleep.d/10_unattended-upgrades-hibernateубрать строку /etc/init.d/isc-dhcp-server start или нет?

10_unattended-upgrades-hibernate
Spoiler: ShowHide

PATH=/sbin:/usr/sbin:/bin:/usr/bin

if [ ! -x /usr/share/unattended-upgrades/unattended-upgrade-shutdown ]; then
   exit 0
fi

SELF=unattended-upgrades-hibernate
COMMAND=
IFPLUGD_IFACE=

case "${1}" in
        hibernate)
            python /usr/share/unattended-upgrades/unattended-upgrade-shutdown       
                ;;
        resume|thaw)
      # nothing
      /etc/init.d/isc-dhcp-server start
                ;;
esac
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн Malaheenee

  • Ветеран
  • *****
  • Сообщений: 2565
  • Учтите, мы можем дать и вредный совет.
Re: Не всегда стартует isc-dhcp-server
« Ответ #7 : 20 Август 2012, 06:34:05 »
vladimir_ar??? Попробуйте убрать, если это Вы ее туда вписали.
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #8 : 20 Август 2012, 11:38:21 »
Malaheenee, да, я. Попробую.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #9 : 23 Август 2012, 09:19:42 »
В общем, проблема осталась. Случайным образом не стартует при загрузке системы, также случайным образом вываливается (в списке процессов пропадает dhcpd) при выходе из suspend (ждущий). Перерыл все логи - в ситуации, когда сервер не стартонул, упоминаний о dhcpd в логах нет. Также не нашел у себя dhcpd.log (искал и поиском по разделам). Может его явно в конфиге dhcpd.conf прописать?

Поднял на тестовой системе (wheezy + kde) эту же конструкцию - пока все отрабатывало, но мало еще тестил - под стабильной тоже не раз думал, что вот оно, решил - ан нет. Пока не знаю, что еще сделать. Могу, конечно, прописать повторный запуск, но не наш метод.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн kobzar

  • Павилитель
  • Старожил
  • ****
  • Сообщений: 568
  • Кто понял жизнь, тот не спешит...
  • Jabber: kobzar@jabber.org.ua
Re: Не всегда стартует isc-dhcp-server
« Ответ #10 : 23 Август 2012, 09:26:07 »
ну вобще можно быстро накидать скрипт на пару строк который будет мониторить наличие процесса
а запускатьяс по крону скажем каждый час... или как вам удобнее - но ето в корне неверный подход нужно анйти причину и устранить ее !
Вон у товарища екран блокировался - перерыли всю систему и интернет не мгли побороть глюк и ничего не помогало.
А потом оказалось что проблему вызывал торрент клиент какойто рагульный.
Снесли его и трамвай опять поехал по рельсам.
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #11 : 23 Август 2012, 10:43:43 »
ну вобще можно быстро накидать скрипт на пару строк который будет мониторить наличие процесса
а запускатьяс по крону скажем каждый час...
Это не требуется - если он запущен - самопроизвольно не выпадает. Иногда не стартует при загрузке (можно поставить еще в автозапуск, например, при старте DE) - стартую руками и все ОК, иногда вываливается без каких либо сообщений (по крайней мере я пока следов не нашел) при выходе из ждущего - решается прописыванием строки запуска в скрипте отработки выхода из suspend в pm. Но хочется найти, где косяк. Причем это нерегулярно - чаще все нормально, чем нет.

При этом интерфейс, на который инициализируется сервер, поднят и не падает. Единственно, может быть ситуация, что когда стартует isc-dhcp-server eth1 может еще не успевает подняться - но проблема то в том, что в логах это не отображено - т.е. если dhcpd не запустился или при выходе из ждущего вывалился - в syslog ничего нет.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн kobzar

  • Павилитель
  • Старожил
  • ****
  • Сообщений: 568
  • Кто понял жизнь, тот не спешит...
  • Jabber: kobzar@jabber.org.ua
Re: Не всегда стартует isc-dhcp-server
« Ответ #12 : 23 Август 2012, 10:55:13 »
может поставить другойприоритеет запуска службы ?
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.
 

Оффлайн vladimir_ar

  • Ветеран
  • *****
  • Topic Author
  • Сообщений: 1624
Re: Не всегда стартует isc-dhcp-server
« Ответ #13 : 23 Август 2012, 10:57:54 »
Об этом еще не подумал. Буду дома - попробую и этот вариант. Но почему-то кажется, что не то - почему тогда исчезает процесс при выходе из suspend-to-ram? Все-таки может он "просыпается" раньше, чем поднимается сетевая?

Сообщение объединено: 23 Август 2012, 11:04:45
Нашел похожую проблему, буду проверять вечером
Цитировать
У меня проблема, автоматически не запускается DHCP-сервер, хотя вручную работает без проблем. В логе ничего не пишет. Подскажите что-где посмотреть и как подкрутить?
Цитировать
например. запускаем ntsysv и ставим галочку напротив dhcpd

Сообщение объединено: 23 Август 2012, 11:08:51
Хотя не оно - у меня то он не всегда не запускается. Может вовсе проблема в isc-dhcp-server, и поставить просто dhcp3-server?

Сообщение объединено: 23 Август 2012, 11:28:43
Кажется, все же, пытается стартонуть раньше поднятия интерфейса eth1. И в interfaces добавить строку
post-up /etc/init.d/isc-dhcp-server start.?
« Последнее редактирование: 23 Август 2012, 11:29:39 от vladimir_ar »
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн corner

  • Местный житель
  • ***
  • Сообщений: 211
Re: Не всегда стартует isc-dhcp-server
« Ответ #14 : 23 Август 2012, 11:56:56 »
Мне кажется, у вас есть некотрые проблемы с настройкой iptables.
1. не вижу открытых широковещательных адресов.
2. udp порты 67 68 где, и как они проходят.

Попробуйте сначала запускать сервер с чистой iptables.
Форвардинг необязательно делать в interfaces, это можно сделать, и удобнее, через /etc/sysctl.conf.
После того, как у вас надежно будет работать dhcp с чистой iptables, тогда добавляйте правила
Для примера (касательно dhcp для демонстрации работы с портами и протоколами) ($iif - интерфейс обслуживаемый DHCP, $iip - ip адрес DHCP, $inet - адреса сети клиентов DHCP) :
Spoiler: ShowHide
ipt="/sbin/iptables -t filter"
$ipt -A INPUT -i $iif -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
$ipt -A OUTPUT -o $iif -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
$ipt -A OUTPUT -o $iif -p udp -s $iip --sport 67 -d 255.255.255.255 --dport 68 -j ACCEPT
$ipt -A INPUT -i $iif -p udp -s 0.0.0.0 --sport 68 -d $iip --dport 67 -j ACCEPT
$ipt -A OUTPUT -o $iif -p udp -s $iip --sport 67 -d $inet --dport 68 -j ACCEPT
$ipt -A INPUT -i $iif -p udp -s $inet --sport 68 -d $iip --dport 67 -j ACCEPT
 

Теги:
 

[РЕШЕНО] Не могу установить Network Manager

Автор Самир

Ответов: 3
Просмотров: 2713
Последний ответ 27 Апрель 2014, 15:10:35
от sandaksatru
Решено! Помогите настроить wifi адаптер TL-WN727N in Debian 9

Автор smail

Ответов: 10
Просмотров: 3495
Последний ответ 07 Март 2019, 10:47:23
от qupl
[Решено] Не настраивается ppp.

Автор Сергей

Ответов: 11
Просмотров: 2474
Последний ответ 09 Сентябрь 2013, 15:15:28
от Сергей
Debian Jessie и PPPoE что случилось? [решено]

Автор CoolAller

Ответов: 0
Просмотров: 1699
Последний ответ 14 Август 2015, 01:07:39
от CoolAller
[РЕШЕНО]Настройка двух интерфейсов в Debian 7

Автор anarych7

Ответов: 5
Просмотров: 8572
Последний ответ 29 Октябрь 2012, 11:41:29
от anarych7