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

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

Оффлайн vladimir_ar

РЕШЕНО: Не всегда стартует isc-dhcp-server
« : 19 Августа 2012, 11:40:23 »
Настроил шлюз между двумя сетевыми (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

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

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

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

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

Оффлайн vladimir_ar

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

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

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

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

Оффлайн vladimir_ar

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

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

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

Оффлайн vladimir_ar

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

Re: Не всегда стартует isc-dhcp-server
« Ответ #12 : 23 Августа 2012, 10:55:13 »
может поставить другойприоритеет запуска службы ?
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.
 

Оффлайн vladimir_ar

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

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
 

Теги:
     

    [РЕШЕНО]не работает NFS (wifi)

    Автор hathory

    Ответов: 4
    Просмотров: 1403
    Последний ответ 18 Ноября 2016, 16:09:16
    от hathory
    [РЕШЕНО] Multicast. ЧЯДНТ? Не получается добиться потока.

    Автор 315th

    Ответов: 1
    Просмотров: 2072
    Последний ответ 07 Апреля 2013, 15:03:43
    от 315th
    Claws mail фильтрация [РЕШЕНО]

    Автор sx88

    Ответов: 1
    Просмотров: 1783
    Последний ответ 12 Января 2015, 02:59:17
    от zarguni
    [Решено] Нет Wi-Fi

    Автор dmtr

    Ответов: 2
    Просмотров: 352
    Последний ответ 10 Февраля 2021, 20:00:32
    от dmtr
    Dhcp No subnet declaration for eth0 [РЕШЕНО]

    Автор zeato

    Ответов: 2
    Просмотров: 18088
    Последний ответ 12 Декабря 2011, 09:58:21
    от zeato