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
. 따라서 이는 브래킷 정렬 불량이 아닌 경우가 거의 확실합니다.
답변1
글쎄요, "D'oh!"를 받을 수 있을까요? 회중에서!
RHEL6 및 파생 제품에서는 이제 dhcpd 구성 파일이 /etc/dhcp/dhcpd.conf
대신 위치하며 /etc/dhcpd.conf
모든 것이 정상입니다.
답변2
지정하는 서브넷 마스크는 dhcpd.conf
인터페이스 서브넷 마스크와 일치해야 합니다.
달리기:
/sbin/ifconfig eth0
서브넷 마스크를 으로 지정했는데 255.255.255.0
, 이는 잘못된 것일 가능성이 높습니다. dhcpd.conf
인터페이스에 맞게 변경하십시오 .
DHCP 서버가 수신 대기 중인 인터페이스에는 DHCP 구성에 사용한 것과 동일한 서브넷의 고정 IP가 있어야 합니다.
답변3
RedHatEnterprise 8.3에서 근본 원인은 방화벽이었습니다. Firewalld에는 dhcp 서비스가 활성화되어 있고 두 인터페이스를 모두 관리하고 있지만 방화벽이 중지되면 dhcpd 문제는 사라집니다. /etc/firewalld/zones/public.xml을 다음과 같이 변경했습니다.
[root@lab-dns1 zones]# pwd
/etc/firewalld/zones
[root@lab-dns1 zones]#
[root@lab-dns1 zones]# diff -c public.xml.20210304 public.xml
*** public.xml.20210304 2021-03-02 12:55:13.897419070 -0700
--- public.xml 2021-03-04 09:18:53.033552618 -0700
***************
*** 4,10 ****
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="ntp"/>
- <service name="dhcp"/>
<rule family="ipv4">
<source address="10.220.18.0/25"/>
<port port="53" protocol="tcp"/>
--- 4,9 ----
***************
*** 25,28 ****
--- 24,37 ----
<port port="53" protocol="udp"/>
<accept/>
</rule>
+ <rule family="ipv4">
+ <source address="10.220.18.0/25"/>
+ <port port="67" protocol="udp"/>
+ <accept/>
+ </rule>
+ <rule family="ipv4">
+ <source address="10.220.99.0/24"/>
+ <port port="67" protocol="udp"/>
+ <accept/>
+ </rule>
</zone>
[root@lab-dns1 zones]#