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 - dynamic0 D address=2a02:610:7501:ff00::/62 duid="1605fcb400241d1781f7" iaid=0 server=local-dhcp life-time=3d status=bound expires-after=2d23h40m10slast-seen=19m50s1 D address=2a02:610:7501:ff04::/62 duid="0019d1393535" iaid=2server=local-dhcp life-time=3d status=bound expires-after=2d23h43m47slast-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 printFlags: X - disabled, D - dynamic# ADDRESS DUID SERVER STATUS0 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 printFlags: X - disabled, D - dynamic# ADDRESS DUID SERVER STATUS0 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 printFlags: X - disabled, I - invalid, D - dynamic0 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/0burst-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 printFlags: 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/10Mburst-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:
/radiusadd address=10.0.0.1 secret=VERYsecret123 service=dhcp/ipv6 dhcp-serverset 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 qlen 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> printFlags: 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