Como faço o filtro MAC com o servidor DHCP?

5

Eu quero permitir apenas que determinados endereços MAC obtenham um IP do meu servidor DHCP, atualmente eu uso o dnsmasq e prefiro não alterar o servidor dhcp, mas também estou aberto a outros softwares. No entanto, eu preciso ser capaz de definir endereços IP estáticos para endereços MAC específicos.

atualmente meu arquivo dnsmasq conf tem um monte de entradas que especificam IPs estáticos para um intervalo de endereços MAC da seguinte forma:

dhcp-host=00:11:22:33:44:55,192.168.1.100
dhcp-host=00:11:22:33:44:56,192.168.1.101
dhcp-host=00:11:22:33:44:57,192.168.1.102

Existe uma maneira para que todos os endereços MAC que não são especificados na moda acima não recebam um IP?

    
por Joelbitar 18.08.2011 / 10:31

5 respostas

5

Você pode fazer isso especificando apenas um intervalo estático

dhcp-range = 192.168.0.0, estático

EDIT: Altere o intervalo de endereços acima para atender aos seus requisitos.

Sem faixas dinâmicas especificadas O dnsmask só fornecerá endereços para hosts que tenham uma configuração dhcp-host correspondente

# Specify a subnet which can't be used for dynamic address allocation,
# is available for hosts with matching --dhcp-host lines. Note that
# dhcp-host declarations will be ignored unless there is a dhcp-range
# of some type for the subnet in question.
# In this case the netmask is implied (it comes from the network
# configuration on the machine running dnsmasq) it is possible to give
# an explicit netmask instead.
#dhcp-range=192.168.0.0,static
    
por 18.08.2011 / 22:05
9

Como alternativa à solução do @ Chopper3, você pode adicionar regras iptables como estas

# Create the DHCP_clients chain in the 'raw' table
iptables -t raw -N DHCP_clients

# Incoming DHCP, pass to chain processing DHCP
iptables -t raw -A PREROUTING -p udp --dport 67 -j DHCP_clients

# Allowed DHCP clients
iptables -t raw -A DHCP_clients -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
iptables -t raw -A DHCP_clients -m mac --mac-source 00:11:22:33:44:56 -j ACCEPT
iptables -t raw -A DHCP_clients -m mac --mac-source 00:11:22:33:44:57 -j ACCEPT

# Deny other clients not listed above
iptables -t raw -A DHCP_clients -j DROP

Editar: Se você precisar adicionar outros clientes "conhecidos" / permitidos, basta fazer o seguinte para cada cliente adicional:

# We insert a rule at the head of the chain using the '-I' command
iptables -t raw -I DHCP_clients -m mac --mac-source $CLIENT_MAC -j ACCEPT

(Nota: ele está usando -I (insert) em vez de -A (append), então a nova regra será a primeira regra a ser verificada. Se não inserirmos, as regras anexadas serão substituídas pela regra com -j DROP )

    
por 18.08.2011 / 11:00
4
# Ignore any clients which are not specified in dhcp-host lines
# or /etc/ethers. Equivalent to ISC "deny unknown-clients".
# This relies on the special "known" tag which is set when
# a host is matched.
#dhcp-ignore=tag:!known
    
por 09.04.2013 / 15:54
1

Se você quiser que MACs específicos obtenham endereços DHCP, basta criar sua lista de reservas e definir o intervalo para abranger apenas esses endereços IP. Dessa forma, não haverá mais endereços para distribuir.

    
por 18.08.2011 / 10:33
0

Eu tenho que discordar das correções anteriores. exceto pela resposta de pepoluan.

Embora eu não saiba se o pepoluan é uma verdadeira técnica de lista branca, está perto da resposta certa. Bloquear todos os dados para o mac errado é o seu objetivo. Apenas desabilitar o dhcp para macs não registrados não é uma correção, se eles definirem o ip manual, que é geralmente um dos 3 intervalos ... 10.0.0.x, 192.168.1.x ou 192.168.0.x não respondem ao problema. / p>

Se você usar a outra resposta proposta de não distribuir o dhcp a mac's desconhecidos, prometa também mudar o endereço do seu roteador para uma opção unguessável única e mudar o seu intervalo de ip para um realmente estranho. por exemplo. 192.168.43.x com o roteador sendo 192.168.43.43 ou algo assim. isso iria dissalá-los para adivinhar seu alcance de sub-rede e não ter nenhum link para a rede.

Não é perfeito, mas é uma maneira muito melhor de proteger sua rede.

    
por 27.11.2014 / 03:43