Como ignorar interfaces de rede não utilizadas no dhcpd no Centos 7

3

Eu tenho uma máquina rodando o Centos 7 com 8 interfaces de rede. Eu tenho três dessas interfaces configuradas e em execução.

Eu configurei o dhcpd para lidar com as interfaces lan locais.

Eu recebo os seguintes avisos no syslog para as interfaces não configuradas:

No subnet declaration for enp6s0 (no IPv4 addresses).
** Ignoring requests on enp6s0.  If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface enp6s0 is attached. **

No passado, eu teria editado / etc / syslog / dhcpd para indicar quais interfaces ouvir. Mas esse arquivo agora diz para não fazer isso e especificar uma sub-rede para as interfaces.

Essas interfaces não usadas não têm endereços, então não vejo como posso escrever uma configuração de sub-rede para elas.

Existe uma maneira alternativa de o dhcpd ignorar essas interfaces?

Primeira edição -

Isso é feito em declarações de sub-rede existentes para que os avisos desapareçam:

subnet xx.xx.xx.xx mask yy.yy.yy.yy {

    interface zzzzzz;

    .... subnet declaration

}

Mas, eu posso encontrar documentação zero que mostra uma opção de interface para sub-rede. Eu considero isso estranho.

    
por Michael Gantz 18.09.2015 / 19:22

5 respostas

2

Você não precisa adicionar a linha de interface se ela estiver em uma sub-rede diferente. A distribuição Linux do Slackware 14.2 fornece o seguinte exemplo:

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

subnet 192.168.2.0 netmask 255.255.255.0 {
}

Quando isso for adicionado a dhcpd.conf , você verá mensagens como as seguintes:

Listening on LPF/wlan0/a0:2b:6a:b5:24:d0/192.168.2.0/24
Sending on   LPF/wlan0/a0:2b:6a:b5:24:d0/192.168.2.0/24

Mas nenhum serviço será oferecido para essa sub-rede.

Como alternativa, se você só estiver servindo DHCP em uma única interface, poderá especificar essa interface na linha de comando ao iniciar o dhcpd :

dhcpd eth0

Este segundo método não exige que você especifique nenhuma sub-rede adicional em dhcpd.conf e é particularmente útil se você estiver servindo DHCP para uma rede fisicamente isolada.

    
por 26.06.2018 / 14:55
1

Acredito que /etc/sysconfig/dhcpd indica como limitar as interfaces ouvidas no systemd em um sistema $ {RHELish} 7:

cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system
sed -i '/^ExecStart/s/$/ blah0 blah1 .../' /etc/systemd/system/dhcpd.service
systemctl --system daemon-reload
systemctl restart dhcpd.service
    
por 18.09.2015 / 21:01
1

Comentários abaixo encontrados em / etc / sysconfig / dhcpd no CentOS 7.2:

# WARNING: This file is NOT used anymore.

# If you are here to restrict what interfaces should dhcpd listen on,
# be aware that dhcpd listens *only* on interfaces for which it finds subnet
# declaration in dhcpd.conf. It means that explicitly enumerating interfaces
# also on command line should not be required in most cases.
    
por 19.04.2018 / 23:16
0

A solução é dizer ao dhcpd que ele não deve monitorar essas interfaces. Por padrão, o dhcpd tentará monitorar todas as interfaces com capacidade de transmissão, mas você pode especificar na linha de comando uma lista explícita de interfaces a serem gerenciadas. Verifique os scripts de inicialização do dhcpd e você encontrará um local onde você pode inserir o ethN específico no qual deseja operar.

Ou você pode ignorar o aviso. Está apenas dizendo que você pode não conseguir o que esperava devido a um potencial erro de configuração. Você implicitamente pediu ao dhcpd para monitorar todas as interfaces e está avisando que não pode.

    
por 18.09.2015 / 19:56
0

RHEL6

defina DHCPDARGS em / etc / sysconfig / dhcpd para incluir apenas as interfaces que você deseja que o daemon ouça (por exemplo, eth0 eth1 ignorando eth3):

DHCPDARGS="eth0 eth1"

Restaurar a funcionalidade DHCPDARGS para RHEL7

# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
# vi /etc/systemd/system/dhcpd.service
# ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS
# systemctl --system daemon-reload
# systemctl restart dhcpd.service
    
por 25.10.2016 / 23:13