Resumo
Padrões: RFC 3315, RFC 3633
DUID único é usado para identificação de cliente e servidor, apenas IAID irá variar entre os clientes correspondentes à sua interface atribuída.
A vinculação do cliente cria um pool dinâmico com o tempo limite definido para o tempo de expiração da vinculação (observe que agora os pools dinâmicos podem ter um tempo limite), que será atualizado sempre que a vinculação for renovada.
Quando um cliente está vinculado a um prefixo, o servidor DHCP adiciona informações de roteamento para saber como alcançar o prefixo atribuído.
As ligações do cliente no servidor não mostram mais o endereço MAC (como era na v5.8), DUID (hex) e IAID são usados. Após a atualização, os endereços MAC serão convertidos em DUIDs automaticamente, mas devido ao tipo desconhecido de DUID e IAID desconhecido, eles devem ser atualizados pelo usuário;
O servidor RouterOS DHCPv6 só pode delegar prefixos IPv6, não endereços.
Propriedades
Propriedade | Descrição |
---|---|
pool de endereços ( enum | apenas estático ; Padrão: apenas estático ) | Pool IPv6 , do qual obter o prefixo IPv6 para os clientes. |
autoritativo ( após 10 segundos de atraso | após 2 segundos de atraso | sim | não ; Padrão: após 2 segundos de atraso ) | Se o servidor DHCP é o único servidor DHCP para a rede:after-10sec-delay – para clientes solicitarem um endereço, o servidor DHCP irá aguardar 10 segundos e se houver outra solicitação do cliente após este período de tempo, o servidor DHCP oferecerá o endereço ao cliente ou enviará DHCPNAK se o o endereço solicitado não está disponível neste servidorafter-2sec-delay – para clientes solicitarem um endereço, o servidor DHCP irá aguardar 2 segundos e se houver outra solicitação do cliente após este período de tempo, o servidor DHCP oferecerá o endereço ao cliente ou enviará DHCPNAK se o o endereço solicitado não está disponível neste servidorsim – para clientes solicitarem um endereço que não está disponível neste servidor, o servidor DHCP enviará uma confirmação negativa (DHCPNAK)não – o servidor DHCP ignora solicitações de clientes para endereços que não estão disponíveis neste servidor |
binding-script ( string ; Padrão:) | Um script que será executado após a vinculação ser atribuída ou desatribuída. Variáveis ”globais” internas que podem ser usadas no script:bindingBound – definido como “1” se vinculado, caso contrário, definido como “0”bindingServerName – nome do servidor dhcpbindingDUID – DUIDbindingAddress – endereço ativobindingPrefix – prefixo ativo |
limite de atraso ( tempo | nenhum ; Padrão: nenhum ) | Se o campo secs no pacote DHCP for menor que o limite de atraso, este pacote será ignorado. Se definido como nenhum – não há limite (todos os pacotes DHCP são processados) |
desativado ( sim | não ; Padrão: não ) | Se o servidor DHCP-PD participa do processo de atribuição de prefixo. |
interface ( string ; Padrão:) | A interface em que o servidor será executado. |
tempo de locação ( tempo ; Padrão: 3d ) | O tempo que um cliente pode usar o endereço atribuído. O cliente tentará renovar este endereço após a metade desse tempo e solicitará um novo endereço após o prazo expirar. |
nome ( string ; Padrão:) | Nome de referencia |
Propriedades somente leitura
Propriedade | Descrição |
---|---|
dinâmico ( sim | não ) | |
inválido ( sim | não ) |
Bindings
O DUID é usado apenas para ligações dinâmicas, portanto, se ele mudar, o cliente receberá um prefixo diferente do anterior.
/ipv6 dhcp-server binding |
Propriedade | Descrição |
---|---|
endereço ( prefixo IPv6 ; Padrão:) | Prefixo IPv6 que será atribuído ao cliente |
allow-dual-stack-queue ( sim | não ; Padrão: sim ) | Cria uma única entrada de fila simples para endereços IPv4 e IPv6, usa o endereço MAC e DUID para identificação. Requer que o servidor DHCP IPv4 também tenha essa opção ativada para funcionar corretamente. |
comentário ( string ; Padrão:) | Breve descrição de um item. |
desativado ( sim | não ; Padrão: não ) | Se um item está desabilitado |
opção dhcp ( string ; Padrão:) | Adicionar opções de DHCP adicionais a partir da lista de opções. |
dhcp-option-set ( string ; Padrão:) | Adicione um conjunto adicional de opções de DHCP. |
tempo de vida ( tempo ; Padrão: 3d ) | O período de tempo após o qual a vinculação expira. |
duid ( string hexadecimal ; Padrão 🙂 | Valor DUID. Deve ser especificado apenas em formato hexadecimal. |
iid ( inteiro [0..4294967295] ; Padrão 🙂 | Identificador de associação de identidade, parte do ID do cliente. |
pool de prefixo ( string ; Padrão:) | Pool de prefixo que está sendo anunciado para o cliente DHCPv6. |
limite de taxa ( inteiro [/ inteiro] [inteiro [/ inteiro] [inteiro [/ inteiro] [inteiro [/ inteiro]]]] ; Padrão:) | Adiciona uma fila simples dinâmica para limitar a largura de banda do IP a uma taxa especificada. Requer que o aluguel seja estático. O formato é: rx-rate [/ tx-rate] [rx-burst-rate [/ tx-burst-rate] [rx-burst-threshold [/ tx-burst-threshold] [rx-burst-time [/ tx- tempo de explosão]]]]. Todas as taxas devem ser números com ‘k’ opcional (1.000) ou ‘M’ (1.000.000). Se tx-rate não for especificado, rx-rate também será como tx-rate. O mesmo vale para tx-burst-rate e tx-burst-threshold e tx-burst-time. Se tanto rx-burst-threshold e tx-burst-threshold não forem especificados (mas a taxa de burst for especificada), rx-rate e tx-rate serão usados como limites de burst. Se rx-burst-time e tx-burst-time não forem especificados, 1s será usado como padrão. |
servidor ( string | tudo ; Padrão: tudo ) | Nome do servidor. Se definido como todos , a ligação se aplica a todos os servidores DHCP-PD criados. |
Propriedades somente leitura
Propriedade | Descrição |
---|---|
dinâmico ( sim | não ) | Se um item é criado dinamicamente. |
expira após ( tempo ) | O período de tempo após o qual a vinculação expira. |
visto pela última vez ( hora ) | Período de tempo desde que o cliente foi visto pela última vez. |
status (em espera | oferecido | vinculado ) | Três valores de status são possíveis:esperando – Exibido para ligações estáticas, se não for usado. Para ligações dinâmicas, este status é mostrado se tiver sido usado anteriormente, o servidor aguardará 10 minutos para permitir que um cliente antigo obtenha essa ligação, caso contrário, a ligação será limpa e o prefixo será oferecido a outros clientes.oferecido – se a mensagem de solicitação foi recebida e o servidor respondeu com anunciar uma mensagem, mas a solicitação não foi recebida. Durante esse estado, o cliente tem 2 minutos para obter essa ligação, caso contrário, ela é liberada ou muda de status para aguardando ligações estáticas. vinculado – atualmente vinculado. |
Por exemplo, prefixo / 62 atribuído dinamicamente
[admin@RB493G] /ipv6 dhcp-server binding> print detail Flags : X - disabled, D - dynamic 0 D address =2a02:610:7501:ff00::/62 duid = "1605fcb400241d1781f7" iaid =0 server =local-dhcp life-time =3d status =bound expires-after =2d23h40m10s last-seen =19m50s 1 D address =2a02:610:7501:ff04::/62 duid = "0019d1393535" iaid =2 server =local-dhcp life-time =3d status =bound expires-after =2d23h43m47s last-seen =16m13s |
Comandos específicos do menu
Propriedade | Descrição |
---|---|
make-static () | Defina a vinculação dinâmica como estática. |
Limitação de taxa
É possível definir a largura de banda para um endereço IPv6 específico usando ligações DHCPv6. Isso pode ser feito definindo um limite de taxa na própria vinculação DHCPv6; ao fazer isso, uma regra de fila simples dinâmica será adicionada para o endereço IPv6 que corresponde à vinculação DHCPv6. Usando o do parâmetro que você pode facilmente limitar a largura de banda do usuário. rate-limit
Para que as filas funcionem corretamente, o tráfego não deve ser FastTracked, certifique-se de que seu Firewall não faça o tráfego FastTrack que você deseja limitar.
Primeiro, torne a ligação DHCPv6 estática, caso contrário, não será possível definir um limite de taxa para uma ligação DHCPv6:
[admin@MikroTik] > /ipv6 dhcp-server binding print Flags : X - disabled, D - dynamic # ADDRESS DUID SERVER STATUS 0 D fdb4 :4de7:a3f8:418c::/66 0x6c3b6b7c413e DHCPv6_Server bound [admin@MikroTik] > /ipv6 dhcp-server binding make-static 0 [admin@MikroTik] > /ipv6 dhcp-server binding print Flags : X - disabled, D - dynamic # ADDRESS DUID SERVER STATUS 0 fdb4 :4de7:a3f8:418c::/66 0x6c3b6b7c413e DHCPv6_Server bound |
Em seguida, você precisa definir uma taxa para uma ligação DHCPv6 que criará uma nova entrada de fila simples dinâmica:
[admin@MikroTik] > /ipv6 dhcp-server binding set 0 rate-limit =10M/10 [admin@MikroTik] > /queue simple print Flags : X - disabled, I - invalid, D - dynamic 0 D name = "dhcp<6c3b6b7c413e fdb4:4de7:a3f8:418c::/66>" target =fdb4:4de7:a3f8:418c::/66 parent =none packet-marks = "" priority =8/8 queue =default -small /default-small limit-at=10M/10M max-limit=10M/10M burst-limit=0/0 burst-threshold =0/0 burst-time =0s/0s bucket-size =0.1/0.1 |
Por padrão, allow-dual-stack-queue
está habilitado, isso adicionará uma única entrada de fila simples dinâmica para vinculação DCHPv6 e concessão de DHCPv4, sem essa opção habilitada, entradas de fila simples dinâmicas separadas serão adicionadas para IPv6 e IPv4.
Se estiver ativado, uma única entrada de fila simples dinâmica será criada contendo os endereços IPv4 e IPv6: allow-dual-stack-queue
[admin@MikroTik] > /queue simple print Flags : X - disabled, I - invalid, D - dynamic 0 D name = "dhcp-ds<6C:3B:6B:7C:41:3E>" target =192.168.1.200/32,fdb4:4de7:a3f8:418c::/66 parent =none packet-marks = "" priority =8/8 queue =default -small /default-small limit-at=10M/10M max-limit=10M/10M burst-limit =0/0 burst-threshold =0/0 burst-time =0s/0s bucket-size =0.1/0.1 |
Suporte RADIUS
Desde o RouterOS v6.43 é possível usar o RADIUS para atribuir um limite de taxa por ligação DHCPv6, para fazer isso você precisa passar o atributo Mikrotik-Rate-Limit de seu servidor RADIUS para sua ligação DHCPv6. Para conseguir isso, primeiro você precisa configurar o servidor DHCPv6 para usar o RADIUS para atribuir ligações. Abaixo está um exemplo de como configurá-lo:
/radius add address =10.0.0.1 secret =VERYsecret123 service =dhcp /ipv6 dhcp-server set dhcp1 use-radius =yes |
Depois disso, você precisa dizer ao seu servidor RADIUS para passar o atributo Mikrotik-Rate-Limit . No caso de você estiver usando FreeRADIUS com o MySQL, então você precisa adicionar entradas apropriadas em radcheck e radreply tabelas para um endereço MAC, que está sendo usado para o seu DHCPv6 cliente. Abaixo está um exemplo para entradas de tabela:
INSERT INTO `radcheck` (`username`, `attribute`, `op`, `value`) VALUES ('000c4200d464', 'Auth-Type', ' :=', 'Accept'), INSERT INTO `radreply` (`username`, `attribute`, `op`, `value`) VALUES ('000c4200d464', 'Delegated-IPv6-Prefix', ' =', 'fdb4 :4de7:a3f8:418c::/66'), ('000c4200d464', 'Mikrotik-Rate-Limit', ' =', '10M'); |
Por padrão, allow-dual-stack-queue está habilitado e adicionará uma única entrada de fila dinâmica se o endereço MAC do lease IPv4 (ou DUID, se o cliente DHCPv4 for compatível com RFC4361), mas o DUID do cliente DHCPv6 nem sempre for baseado em o endereço MAC da interface na qual o cliente DHCPv6 está sendo executado, o DUID é gerado por dispositivo. Por esse motivo, uma única entrada de fila dinâmica pode não ser criada; entradas de fila dinâmicas separadas podem ser criadas em seu lugar. Node-specific Client Identifiers
Exemplos de configuração
Habilitando a delegação de prefixo IPv6
Vamos considerar que já temos um servidor DHCP em execução.
Para habilitar a delegação de prefixo IPv6, primeiro, precisamos criar um pool de endereços:
/ipv6 pool add name =myPool prefix =2001:db8:7501::/60 prefix-length =62 |
Observe que o comprimento do prefixo é de 62 bits, o que significa que os clientes receberão os prefixos / 62 do conjunto / 60.
A próxima etapa é habilitar o DHCP-PD:
/ipv6 dhcp-server add name =myServer address-pool =myPool interface =local |
Para testar nosso servidor, configuraremos o Wide-dhcpv6 em uma máquina ubuntu:
- instalar o wide-dhcpv6-client
- edite “/etc/wide-dhcpv6/dhcp6c.conf” como acima
Você também pode usar o RouterOS como um cliente DHCP-PD.
interface eth2{ send ia-pd 0; }; id-assoc pd { prefix-interface eth3{ sla-id 1; sla- len 2; }; }; |
- Execute o cliente DHCP-PD:
sudo dhcp6c -d -D -f eth2 |
- Verifique se o prefixo foi adicionado ao:
mrz@bumba :/media/aaa$ ip -6 addr .. 2 : eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 q len 1000 inet6 2001 :db8:7501:1:200:ff:fe00:0/64 scope global valid_lft forever preferred_lft forever inet6 fe80 ::224:1dff:fe17:81f7/64 scope link valid_lft forever preferred_lft forever |
- Você pode fazer vinculação a um cliente estático específico para que ele sempre receba o mesmo prefixo:
[admin@RB493G] /ipv6 dhcp-server binding> print Flags : X - disabled, D - dynamic # ADDRESS DU IAID SER.. STATUS 0 D 2001:db8:7501:1::/62 16 0 loc.. bound [admin@RB493G] /ipv6 dhcp-server binding> make-static 0 |
- O DHCP-PD também instala uma rota para o prefixo atribuído na tabela de roteamento IPv6:
[admin@RB493G] /ipv6 route> print Flags : X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable # DST-ADDRESS GATEWAY DISTANCE ... 2 ADS 2001 :db8:7501:1::/62 fe80::224:1dff:fe17:8... 1 |
Deixe uma resposta