eth0
мой внутренний интерфейс имеет статический адрес 10.0.0.1
. У меня также есть интерфейс p4p1
, выступающий в качестве моего внешнего интерфейса. Если это имеет значение, мой внешний интерфейс физически не подключен и iptables
отключен / все еще записывается.
/etc/sysconfig/dhcpd
:
DHCPDARGS=eth0
пункт подсети от /etc/dhcpd.conf
:
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
option ntp-servers 10.0.0.1;
default-lease-time 86400; # 1 day
max-lease-time 604800; # 7 days
use-host-decl-names on;
ddns-updates on;
use-host-decl-names on;
allow unknown-clients;
ignore client-updates;
option domain-name "localdomain";
ddns-domainname "localdomain";
next-server 10.0.0.1;
filename "pxelinux.0";
group # known hosts
{
host host1.localdomain {hardware ethernet [REDACTED]; fixed-address host1.localdomain;}
host host2.localdomain {hardware ethernet [REDACTED]; fixed-address host2.localdomain;}
{
pool
{
one-lease-per-client true;
ping-check true;
range 10.0.0.51 10.0.0.60;
}
}
Итак, почему я по-прежнему получаю сообщение об ошибке «Нет объявления подсети» при запуске?
No subnet declaration for eth0 (10.0.0.1).
** Ignoring requests on eth0. If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface eth0 is attached. **
ОБНОВЛЕНИЕ 4/1 1900h
До сегодняшних экспериментов:
[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
inet6 fe80::92e2:baff:fe2d:924d/64 scope link
valid_lft forever preferred_lft forever
Я переключил свои внутренние IP-адреса в сети 192.168.100.0/24
с соответствующими изменениями, чтобы /etc/dhcpd.conf
без изменений в поведении.
[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global eth0
inet6 fe80::92e2:baff:fe2d:924d/64 scope link
valid_lft forever preferred_lft forever
[root@father ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth0
О, эй! Там нет ворот! Это легко исправить с GATEWAY=192.168.0.1
в ifcfg-eth0
и ifcfg-p4p1
файлов. service network restart
и...
[root@father ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 p4p1
Итак, у меня есть шлюз, но происходит service dhcpd start
сбой с той же ошибкой.
Другие заметки:
p4p1
физически не связан.service dhcpd configtest
говоритSyntax: OK
. Таким образом, это почти наверняка не случай неуместной скобки.
systemd
: вы можете сделать копию ,/lib/systemd/system/dhcpd.service
чтобы/etc/systemd/system/
и указать интерфейс в Exec линии:ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0
Ответы:
Хорошо, я могу получить "D'Oh!" из собрания!
В RHEL6 и производных, конфигурационный файл DHCPD теперь находятся по адресу
/etc/dhcp/dhcpd.conf
, не/etc/dhcpd.conf
. Переместил файл и все хорошо.источник
Указанная вами маска подсети
dhcpd.conf
должна соответствовать маске подсети вашего интерфейса.Пробег:
Вы указали маску подсети как
255.255.255.0
, это, скорее всего, неправильно. Измените ваш,dhcpd.conf
чтобы соответствовать вашему интерфейсу.Интерфейс, на котором прослушивает сервер DHCP, должен иметь статический IP-адрес той же подсети, которую вы используете в своей конфигурации DHCP.
источник
/sbin/route -n