- у меня 2 неткарты
enp0s3
для глобальной сети иenp0s8
для локальной сети. - WAN имеет динамический IP-адрес (полученный от провайдера).
- LAN имеет статический IP-адрес класса C для моей локальной сети
- У меня есть isc-dhcp-сервер с этой конфигурацией:
nano /etc/dhcp/dhcpd.conf
# ISC-DHCP-Server Configuration
authoritative;
option wpad code 252 = text;
server-identifier 192.168.0.10;
deny duplicates;
one-lease-per-client true;
deny declines;
deny client-updates;
ping-check true;
log-facility local7;
ddns-update-style none;
host user3 {
hardware ethernet 40:e2:30:f4:00:04;
fixed-address 192.168.0.90;
}
host user1 {
hardware ethernet 40:e2:30:f4:00:02;
fixed-address 192.168.0.50;
}
class "blockdhcp" {
match pick-first-value (option dhcp-client-identifier, hardware);
}
subclass "blockdhcp" 1:90:68:c3:00:00:00;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.10;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
#option domain-name "example.org";
option domain-name-servers 8.8.8.8,8.8.4.4;
min-lease-time 2592000; # 30 days
default-lease-time 2592000; # 30 days
max-lease-time 2592000; # 30 days
pool {
min-lease-time 60;
default-lease-time 60;
max-lease-time 60;
deny members of "blockdhcp";
range 192.168.0.100 192.168.0.250;
}
}
Проблема в том, что isc-dhcp-server показывает сообщения об ошибках Нет объявления подсети для enp0s3 (10.0.2.15) потому что он просит меня назначить диапазон для WAN, а это невозможно, потому что он динамический, и провайдер провайдера может в конечном итоге изменить IP
sudo systemctl status isc-dhcp-server
● isc-dhcp-server.service - ISC DHCP IPv4 server
Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-01-18 18:29:32 -05; 7min ago
Docs: man:dhcpd(8)
Main PID: 17055 (dhcpd)
Tasks: 4 (limit: 19112)
Memory: 4.9M
CPU: 24ms
CGroup: /system.slice/isc-dhcp-server.service
└─17055 dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf
ene 18 18:29:32 uservm dhcpd[17055]: Sending on LPF/enp0s8/08:00:27:8d:e7:c9/192.168.0.0/24
ene 18 18:29:32 uservm dhcpd[17055]:
ene 18 18:29:32 uservm dhcpd[17055]: No subnet declaration for enp0s3 (10.0.2.15).
ene 18 18:29:32 uservm dhcpd[17055]: ** Ignoring requests on enp0s3. If this is not what
ene 18 18:29:32 uservm dhcpd[17055]: you want, please write a subnet declaration
ene 18 18:29:32 uservm dhcpd[17055]: in your dhcpd.conf file for the network segment
ene 18 18:29:32 uservm dhcpd[17055]: to which interface enp0s3 is attached. **
ene 18 18:29:32 uservm dhcpd[17055]:
ene 18 18:29:32 uservm dhcpd[17055]: Sending on Socket/fallback/fallback-net
ene 18 18:29:32 uservm dhcpd[17055]: Server starting service.
Как мне избежать этой ситуации, чтобы больше не появлялись эти сообщения об ошибках, заполняющие журнал? заранее спасибо
2 ответа
В то время как другой ответ является правильным в том смысле, что это предупреждение безопасно игнорировать, некоторые люди предпочитают «политику нулевого предупреждения», предварительно настроив систему, чтобы она не выдавала предупреждения для известных ситуаций. Тогда любые предупреждения, которые система все равно будет генерировать, будут иметь смысл, и вы не пропустите их случайно в потоке «известных и ожидаемых предупреждений».
Вы можете настроить dhcpd для прослушивания только тех интерфейсов, на которых вы хотите, чтобы он предоставлял услуги, что настраивается в /etc/default/isc-dhcp-server
:
INTERFACES="enp0s8"
(по умолчанию слушает везде). В более новых системах вам может потребоваться настроить его следующим образом:
INTERFACESv4="enp0s8"
INTERFACESv6=""
Другой способ подавить предупреждение — сообщить ему, что интерфейс/подсеть существует, но не предоставлять для него никаких услуг. Есть пример как это сделать на складе dhcpd.conf
файл (вероятно, не тот, который Ubuntu или Debian установили в /etc):
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
subnet 10.152.187.0 netmask 255.255.255.0 {
}
(замените его сетью, которая у вас есть на WAN NIC). Именно об этом говорит само предупреждение.
Это означает следующее: «Я ничего не знаю об этом интерфейсе и подсети, к которой он подключен, поэтому я буду игнорировать любой DHCP-запрос, исходящий от него». Что совершенно нормально, потому что на самом деле вы не хотите предоставлять службу DHCP на своем интерфейсе WAN.