Autor: sutrus

Datum: 24 lis 2021 20:06
Kategorie: DHCP

Zobrazení: 1241
Komentáře: 0

DHCP Server

Popis: DHCP Server

Odkaz na článek (bb-code [URL]): Kopírovat

[url=https://spssoftware.cz/knowledgebase/article?k=51]DHCP Server[/url]

Přímý odkaz: Kopírovat

https://spssoftware.cz/knowledgebase/article?k=51

Server DHCP
Protokol DHCP (Dynamic Host Configuration Protocol) slouží ke snadnému přidělování IP adres v síti. Implementace systému MikroTik RouterOS zahrnuje serverovou i klientskou část a je v souladu s RFC 2131.

Router podporuje samostatný server pro každé rozhraní typu Ethernet. Server DHCP systému MikroTik RouterOS podporuje základní funkce, které spočívají v tom, že každému žádajícímu klientovi poskytne informace o pronájmu IP adresy/síťové masky, výchozí brány, názvu domény, DNS-serveru(ů) a WINS-serveru(ů) (pro klienty se systémem Windows) (nastavuje se v podnabídce DHCP networks).

Aby server DHCP fungoval, musí být také nakonfigurovány IP pooly (do rozsahu poolu nezahrnujte vlastní IP adresu serveru DHCP) a sítě DHCP.
Pro klienty DHCP je také možné využít serveru RADIUS. Podporované parametry serveru RADIUS jsou následující:

Access-Request:
  • NAS-Identifier - identita routeru
  • NAS-IP-Address - IP adresa samotného routeru
  • NAS-Port - jedinečné ID relace
  • NAS-Port-Type - Ethernet
  • Calling-Station-Id - identifikátor klienta (active-client-id)
  • Framed-IP-Address - IP adresa klienta (active-address)
  • Called-Station-Id - název serveru DHCP
  • User-Name - adresa MAC klienta (active-mac-address)
  • Password - Heslo
Access-Accept:
  • Framed-IP-Address - IP adresa, která bude klientovi přidělena
  • Framed-Pool - fond IP adres, ze kterého bude klientovi přidělena IP adresa
  • Rate-Limit - Omezení datové rychlosti pro klienty DHCP. Formát je: rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time][priority] [rx-rate-min[/tx-rate-min]]]]. Všechny sazby by měly být čísla s nepovinným 'k' (1 000s) nebo 'M' (1 000 000s). Pokud není zadána tx-rate, je i rx-rate jako tx-rate. Totéž platí pro tx-burst-rate a tx-burst-threshold a tx-burst-time. Pokud není zadán rx-burst-threshold ani tx-burst-threshold (ale je zadán burst-rate), použijí se rx-rate a tx-rate jako prahové hodnoty burst. Pokud není zadán rx-burst-time ani tx-burst-time, použije se jako výchozí hodnota 1s. Priorita nabývá hodnot 1..8, kde 1 znamená nejvyšší prioritu, ale 8 nejnižší. Pokud nejsou zadány hodnoty rx-rate-min a tx-rate-min, použijí se hodnoty rx-rate a tx-rate. Hodnoty rx-rate-min a tx-rate-min nesmí překročit hodnoty rx-rate a tx-rate.
  • Ascend-Data-Rate - omezení datové rychlosti TX/RX, pokud je uvedeno více atributů, první omezuje datovou rychlost tx, druhý datovou rychlost RX. Pokud se použije společně s Ascend-Xmit-Rate, určuje rychlost RX. 0, pokud je neomezený
  • Ascend-Xmit-Rate - omezení rychlosti tx dat. Může být použito pro zadání pouze TX limitu namísto zaslání dvou po sobě jdoucích atributů Ascend-Data-Rate (v takovém případě bude Ascend-Data-Rate určovat rychlost příjmu). 0, pokud je neomezený
  • Session-Timeout - maximální doba pronájmu (lease-time)
 ! Varování:
Server DHCP vyžaduje reálné rozhraní pro příjem nezpracovaných ethernetových paketů. Pokud se jedná o rozhraní mostu, musí být k mostu připojeno skutečné rozhraní jako port, který bude přijímat surové ethernetové pakety. Na fiktivním (prázdném rozhraní bridge) nemůže správně fungovat.

Konfigurace úložiště zápůjček

Kód: Vybrat vše

/ip dhcp-server config
Tato podnabídka umožňuje nastavit, jak často se budou požadavky o zapůjčení DHCP ukládat na disk. Pokud by se na disk ukládaly při každé změně, docházelo by k velkému množství zápisů na disk, což je pro paměť Compact Flash velmi nevhodné (zejména pokud jsou doby zápůjček velmi krátké). Aby se minimalizovaly zápisy na disk, ukládají se všechny změny na disk každou sekundu (store-leases-disk). Kromě toho se zápůjčky ukládají na disk vždy při postupném vypínání a restartu.

Ruční změny pronájmů - přidání/odstranění statického pronájmu, odstranění dynamického pronájmu způsobí, že se změny přesunou do úložiště.


Zápůjčky

Kód: Vybrat vše

/ip dhcp-server lease
Podnabídka DHCP serveru Leases slouží ke sledování a správě zápůjček. Vydané zápůjčky se zde zobrazují jako dynamické položky. Můžete také přidávat statické zápůjčky, které konkrétní zapůjčí IP adresu konkrétnímu klientovi (identifikovanému podle MAC adresy).

Obecně se přiděluje následujícím způsobem:
  • nevyužitý pronájem je ve stavu "čekání" (waiting).
  • pokud klient požádá o IP adresu, server si jednu vybere.
  • pokud klient přijímá staticky přidělenou adresu, pronájem se stane nabídnutým a poté je svázán s příslušnou dobou pronájmu
  • pokud klient přijímá dynamickou adresu (převzatou z fondu IP adres), router odešle paket ping a čeká na odpověď po dobu 0,5 sekundy. Během této doby je zapůjčení označeno jako testovací.
  • v případě, že adresa neodpovídá(je nepoužita), zápůjčka se nabídne a poté je svázána s příslušnou dobou pronájmu.
  • v ostatních případech se pronájem stane obsazeným po dobu pronájmu (existuje příkaz pro opakované testování všech obsazených adres) a pokud požadavek klienta zůstane bez odpovědi (klient to za chvíli zkusí znovu).
Klient může pronajatou adresu uvolnit. Dynamická zápůjčka je odstraněna a přidělená adresa je vrácena do fondu adres. Statická zápůjčka se však stane obsazenou, dokud klient adresu znovu nezíská.
 ! Varování:
Staticky přidělené IP adresy se nokontrolují!

Parametry
VlastnostPopis
add-arp (ano / ne; výchozí: ne)Zda se má přidat dynamická položka ARP. Pokud je nastaveno na ne, měl by být na daném rozhraní povolen režim ARP nebo by měly být v podnabídce /ip arp správně definovány statické položky ARP


address-pool (string / pouze statické; výchozí: pouze statické)IP pool, ze kterého se budou brát IP adresy pro klienty. Pokud je nastaveno na static-only, budou povoleni pouze klienti, kteří mají statický pronájem (přidaný v podnabídce pronájmu)


allow-dual-stack-queue (ano / ne; výchozí: ano)Vytvoří jednu společnou položku fronty pro adresy IPv4 i IPv6, k identifikaci použije adresu MAC a DUID. Pro správnou funkci vyžaduje, aby měl tuto možnost povolenou i server DHCP IPv6


always-broadcast (ano / ne; výchozí: ne)Odesílá odpovědi vždy jako broadcast, i když je cílová IP adresa známá. Zvýší zatížení sítě L2


authoritative (after-10sec-delay / after-2sec-delay / yes / no; výchozí: yes)Volba mění způsob, jakým server odpovídá na požadavky DHCP:
  • yes - na žádost klienta o adresu, která není na tomto serveru dostupná, odešle server DHCP negativní potvrzení (DHCPNAK)
  • no - server DHCP ignoruje požadavky klientů na adresy, které nejsou na tomto serveru dostupné
  • after-10sec-delay - požadavky s "secs < 10" budou zpracovány jako v případě nastavení "no" a požadavky s "secs >= 10" budou zpracovány jako v případě nastavení "yes"
  • after-2sec-delay - požadavky s "secs < 2" budou zpracovány jako v případě nastavení "no" a požadavky s "secs >= 2" budou zpracovány jako v případě "yes"
Pokud mají být ignorovány všechny požadavky s hodnotou "secs < x", pak je třeba použít nastavení delay-threshold=x


bootp-lease-time (forever / lease-time / time; Výchozí: )Dává na výběr ze dvou možnosti:
  • forever - pronájem nikdy nevyprší
  • lease-time - použije čas z parametru lease-time


bootp-support (none / static / dynamic; Výchozí: static)Podpora pro klienty BOOTP:
  • none - neodpovídá na požadavky BOOTP
  • static - nabízí klientům BOOTP pouze statické pronájmy
  • dynamic - nabízí klientům BOOTP statické i dynamické pronájmy


client-mac-limit (integer / unlimited; Výchozí: unlimited)Určuje, zda má být omezen určitý počet klientů na jednu adresu MAC, nebo zda má být ponechán neomezený počet. Všimněte si, že toto nastavení by se nemělo používat v relay nastaveních.


conflict-detection (yes / no; Výchozí: )Umožňuje zakázat/povolit detekci konfliktů. Pokud je tato možnost povolena, pak kdykoli se server pokusí přidělit pronájem, odešle zprávy ICMP a ARP, aby zjistil, zda taková adresa v síti již existuje. Pokud některá z výše uvedených adres získá odpověď, je považována za již použitou. Detekce konfliktů musí být zakázána, pokud je použit jakýkoli druh omezení klienta DHCP na port nebo na mac.


delay-threshold (time / none; Výchozí: none)Pokud je pole sec v paketu DHCP menší než prahová hodnota zpoždění, je tento paket ignorován. Pokud je nastaveno na hodnotu none - neexistuje žádný práh (zpracovávají se všechny pakety DHCP).


dhcp-option-set (name / none; Výchozí: )Použijte vlastní sadu možností DHCP definovanou v nabídce sad možností.


insert-queue-before (bottom / first / name; Výchozí: )Určuje, kam se mají umístit položky dynamické fronty pro statické pronájmy DCHP s nastaveným parametrem rate-limit.


interface (string; Výchozí: )Rozhraní, na kterém bude server spuštěn.


lease-script (string; Výchozí: "")Skript, který se provede po přiřazení nebo zrušení přiřazení pronájmu. Interní "globální" proměnné, které lze ve skriptu použít:
  • leaseBound - nastaví se na "1", pokud je přiřazení, jinak se nastaví na "0"
  • leaseServerName - název serveru DHCP
  • leaseActMAC - aktivní mac adresa
  • leaseActIP - aktivní IP adresa
  • lease-hostname - název klienta
  • lease-options - pole přijatých voleb


lease-time (time; Výchozí: 10m)Doba, po kterou může klient přidělenou adresu používat. Po uplynutí poloviny této doby se klient pokusí tuto adresu obnovit a po uplynutí časového limitu požádá o novou adresu.


name (string; Výchozí: )Reference name


parent-queue (string / none; Výchozí: none)


relay (IP; Výchozí: 0.0.0.0)IP adresa relay, ze kterého má tento server DHCP zpracovávat požadavky:
  • 0.0.0.0 - server DHCP bude používán pouze pro přímé požadavky od klientů (není povoleno žádné DHCP relay).
  • 255.255.255.255 - server DHCP by měl být použit pro všechny příchozí požadavky z DHCP relay s výjimkou těch, které zpracovává jiný server DHCP, který existuje v podnabídce /ip dhcp-server.


src-address (IP; Výchozí: 0.0.0.0)Adresa, na kterou musí klient DHCP posílat požadavky, aby obnovil pronájem IP adresy. Pokud je na rozhraní serveru DHCP pouze jedna statická adresa a zdrojová adresa je ponechána jako 0.0.0.0, použije se statická adresa. Pokud je na rozhraní více adres, měla by být použita adresa ve stejné podsíti jako rozsah daných adres.


use-framed-as-classless (yes / no; Výchozí: yes)Přeposílejte RADIUS Framed-Route jako DHCP Classless-Static-Route klientovi DHCP. Kdykoli je přijata jak Framed-Route, tak Classless-Static-Route, je upřednostňována Classless-Static-Route.


use-radius (yes / no / accounting; Výchozí: no)Zda se má použít server RADIUS:
  • no - nepoužívat RADIUS
  • yes - použít RADIUS pro přihlašování a pronájem
  • accounting - použít RADIUS pouze pro přihlašování.



Síť

Kód: Vybrat vše

/ip dhcp-server network
VlastnostPopis
address (IP/netmask; Výchozí: )sít v které DHCP server pronajímá adresy


boot-file-name (string; Výchozí: )Název zaváděcího souboru


caps-manager (string; Výchozí: )Seznam IP adres oddělených čárkou pro jednoho nebo více CAPsMAN. Bude použita možnost 138 DHCP (capwap)


dhcp-option (string; Výchozí: )Přidání dalších možností DHCP ze seznamu možností


dhcp-option-set (string; Výchozí: )Přidání další sady možností DHCP


dns-none (yes / no; Výchozí: no)Pokud je zatrženo a pokud není v položce DNS-server nastaven žádný server ručně, pak DHCP server nepředá klientům dynamické servery DNS nakonfigurované v routeru. Ve výchozím nastavení, pokud nejsou nakonfigurovány žádné servery DNS, budou klientům DHCP předány dynamické servery DNS


dns-server (string; Výchozí: )Klient DHCP je použije jako výchozí servery DNS. Lze zadat dva servery DNS oddělené čárkou, které bude klient DHCP používat jako primární a sekundární servery DNS


domain (string; Výchozí: )Klient DHCP ji použije jako nastavení domény DNS pro síťový adaptér


gateway (IP; Výchozí: 0.0.0.0)Výchozí brána, kterou bude používat klient DHCP


netmask (integer: 0..32; Výchozí: 0)Skutečná síťová maska, kterou použije klient DHCP. Pokud je nastavena hodnota '0', použije se síťová maska ze síťové adresy.


next-server (IP; Výchozí: )IP adresa serveru, který se má použít pro bootstrap protokol


ntp-server (IP; Výchozí: )Klient DHCP je použije jako výchozí servery NTP. Lze zadat dva servery NTP oddělené čárkou, které bude klient DHCP používat jako primární a sekundární servery NTP


wins-server (IP; Výchozí: )Klient DHCP systému Windows je použije jako výchozí servery WINS. Lze zadat dva servery WINS oddělené čárkou, které bude klient DHCP používat jako primární a sekundární servery WINS




Omezení rychlosti
Pomocí pronájmů DHCPv4 je možné nastavit šířku pásma pro konkrétní adresu IPv4. To lze provést nastavením omezení rychlosti na záložce Leases, čímž se přidá dynamické pravidlo v simple queue pro adresu IPv4, která odpovídá pronájmu DHCPv4. Pomocí parametru rate-limit lze pohodlně omezit šířku pásma uživatele.
 ! Varování:
Aby fronty fungovaly správně, nesmí být aktivní FastTrack a ujistěte se, že váš Firewall neprovádí FastTrack pro přenosy, které chcete omezit.
Nejprve vytvořte statický pronájem DHCPv4, jinak nebude možné pro pronájem DHCPv4 nastavit omezení rychlosti:

Kód: Vybrat vše

[admin@MikroTik] > /ip dhcp-server lease print
Flags: X - disabled, R - radius, D - dynamic, B - blocked
 #   ADDRESS               MAC-ADDRESS       HOST-NAME               SERVER               RATE-LIMIT               STATUS
 0 D 192.168.88.254        6C:3B:6B:7C:41:3E MikroTik                DHCPv4_Server                                 bound
 
[admin@MikroTik] > /ip dhcp-server lease make-static 0
 
[admin@MikroTik] > /ip dhcp-server lease print
Flags: X - disabled, R - radius, D - dynamic, B - blocked
 #   ADDRESS               MAC-ADDRESS       HOST-NAME               SERVER               RATE-LIMIT               STATUS
 0   192.168.88.254        6C:3B:6B:7C:41:3E MikroTik                DHCPv4_Server                                 bound
 
Pak můžete nastavit omezení, který vytvoří novou dynamickou položku:

Kód: Vybrat vše

[admin@MikroTik] > /ip dhcp-server lease set 0 rate-limit=10M/10M
 
[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.88.254/32 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
 ! Varování:
Ve výchozím nastavení je povoleno allow-dual-stack-queue, což přidá jednu položku pro DCHPv6 i DHCPv4. Bez povolení této možnosti budou přidány samostatné položky pro IPv6 a IPv4.

Kód: Vybrat vše

[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.88.254/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


Podpora RADIUS
Od verze 6.43 systému RouterOS je možné použít RADIUS k přiřazení limitu rychlosti, k čemuž je třeba předat atribut Mikrotik-Rate-Limit ze serveru RADIUS. Abyste toho dosáhli, musíte nejprve nastavit server DHCPv4 tak, aby používal RADIUS pro přidělování pronájmů. Níže je uveden příklad, jak toto nastavit:

Kód: Vybrat vše

/radius
add address=10.0.0.1 secret=VERYsecret123 service=dhcp
/ip dhcp-server
set dhcp1 use-radius=yes
Poté je třeba serveru RADIUS sdělit, aby předal atribut Mikrotik-Rate-Limit. V případě, že používáte FreeRADIUS s MySQL, je třeba přidat příslušné záznamy do tabulek radcheck a radreply pro adresu MAC, která je používána pro vašeho klienta DHCPv4. Níže je uveden příklad záznamů v tabulce:

Kód: Vybrat vše

INSERT INTO `radcheck` (`username`, `attribute`, `op`, `value`) VALUES
('00:0C:42:00:D4:64', 'Auth-Type', ':=', 'Accept'),

INSERT INTO `radreply` (`username`, `attribute`, `op`, `value`) VALUES
('00:0C:42:00:D4:64', 'Framed-IP-Address', '=', '192.168.88.254'),
('00:0C:42:00:D4:64', 'Mikrotik-Rate-Limit', '=', '10M'),


Upozornění
Chcete-li najít podvodné servery DHCP jakmile se v síti objeví, můžete použít nástroj DHCP Alert. Bude monitorovat ethernetové rozhraní pro všechny odpovědi DHCP a kontrolovat, zda tato odpověď pochází z platného serveru DHCP. Pokud je zjištěna odpověď od neznámého serveru DHCP, spustí se výstraha:

Kód: Vybrat vše

[admin@MikroTik] ip dhcp-server alert>/log print
00:34:23 dhcp,critical,error,warning,info,debug dhcp alert on Public:
    discovered unknown dhcp server, mac 00:02:29:60:36:E7, ip 10.5.8.236
[admin@MikroTik] ip dhcp-server alert>
Když systém upozorní na podvodný server DHCP, může spustit vlastní skript.

Vzhledem k tomu, že odpovědi DHCP mohou být jednosměrné, nemusí "detektor podvodného DHCP" obdržet žádnou odpověď od ostatních klientů DHCP. Aby se s tímto problémem vypořádal, funguje detektor podvodného DHCP také jako klient DHCP - jednou za minutu odešle požadavky na zjištění podvodného DHCP.



Možnosti DHCP
Pomocí seznamu možností DHCP je možné definovat další vlastnosti, které má server DHCP inzerovat. Priorita vlastností je následující:
  • radius
  • lease
  • server
  • network
Jedná se o pořadí, v jakém bude požadavek na volitelné možnosti klienta vyplněn.

Podle protokolu DHCP je parametr vrácen klientovi DHCP pouze v případě, že o tento parametr požádá a uvede příslušný kód v atributu Parameter-List (kód 55) požadavku DHCP. Pokud kód není uveden v atributu Parameter-List, server DHCP jej klientovi DHCP neodešle, ale od verze RouterOS v7.1rc5 je možné vynutit volbu DHCP ze strany serveru, i když klient DHCP takový parametr nepožaduje:

Kód: Vybrat vše

ip/dhcp-server/option/set force=yes
Vlastnosti
VlastnostPopis
code (integer:1..254; Výchozí: )Kód možnosti dhcp. Všechny kódy jsou k dispozici na adrese http://www.iana.org/assignments/bootp-dhcp-parameters


name (string; Výchozí: )Jméno názvu možnosti


value (string; Výchozí: )Hodnota parametru. Dostupné datové typy pro volby jsou:
  • 'test' -> ASCII to Hex 0x74657374
  • '10.10.10.10' -> Unicode IP to Hex 0x0a0a0a0a
  • s'10.10.10.10' -> ASCII to hex 0x31302e31302e31302e3130
  • s'160' -> ASCII to hex 0x313630
  • '10' -> Decimal to Hex 0x0a
  • 0x0a0a -> No conversion
  • $(VARIABLE) -> hardcoded values
RouterOS má předdefinované proměnné, které lze použít:
  • HOSTNAME - název klienta
  • RADIUS_MT_STR1 - z radius MT attr nr. 24
  • RADIUS_MT_STR2 - z radius MT attr nr. 25
  • REMOTE_ID - agent remote-id
  • NETWORK_GATEWAY - první brána z '/ip dhcp-server network', Uvědomte si, že tato možnost nebude fungovat, pokud bude použita z pronájmu.
Nyní je také možné kombinovat datové typy do jednoho, například: "0x01'vards'$(HOSTNAME)". Například pokud je HOSTNAME 'kvm', pak raw hodnota bude 0x0176617264736b766d.


raw-value (HEX string )Pole pouze pro čtení, které zobrazuje raw hodnotu volby DHCP (formát skutečně odeslaný)




Příklady

Classless Route (beztřídní směrování)

Beztřídní směrování přidá zadanou trasu do směrovací tabulky klientů. V našem příkladu přidá
  • dst-address=160.0.0.0/24 gateway=10.1.101.1
  • dst-address=0.0.0.0/0 gateway=10.1.101.1
Podle RFC 3442: První část je maska sítě ("18" = maska sítě /24). Druhá část je významná část cílové sítě ("A00000" = 160.0.0). Třetí část je IP adresa brány ("0A016501" = 10.1.101.1). Dále jsou zde části výchozí trasy, cílová síťová maska (0x00 = 0.0.0.0/0) následovaná výchozí trasou (0x0A016501 = 10.1.101.1).

Kód: Vybrat vše

/ip dhcp-server option
add code=121 name=classless value=0x18A000000A016501000A016501
/ip dhcp-server network
set 0 dhcp-option=classless
Výsledek:

Kód: Vybrat vše

[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf,
m - mme, B - blackhole, U - unreachable, P - prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          10.1.101.1         0
 1 ADS  160.0.0.0/24                       10.1.101.1         0
Mnohem robustnějším způsobem by bylo použití vestavěných proměnných, předchozí příklad lze přepsat takto:

Kód: Vybrat vše

/ip dhcp-server option
add name=classless code=121 value="0x18A00000\$(NETWORK_GATEWAY)0x00\$(NETWORK_GATEWAY)"

Automatická konfigurace proxy serveru

Kód: Vybrat vše

/ip dhcp-server
  add code=252 name=auto-proxy-config value="'https://autoconfig.something.lv/wpad.dat'"


Sady možností DHCP

Kód: Vybrat vše

/ip dhcp-server option sets
Tato nabídka umožňuje kombinovat více možností do sad možností, které lze později použít k přepsání výchozí sady možností serveru DHCP.



Vendor Classes (Třídy výrobců)
Od verze 6.45beta6 RouterOS podporuje identifikátor ID třídy výrobců. Třídu výrobců používají klienti DHCP k volitelné identifikaci výrobce a přiřazení konfigurace.

Příklad
V následujícím příkladu konfigurace zadáme IP adresu z konkrétního seznamu pro mobilní telefon se systémem Android. Použijeme RouterBOARD s výchozí konfigurací

Kód: Vybrat vše

/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
add name=pool-for-VID ranges=172.16.16.10-172.16.16.120
Konfigurace vendor-class-id. Konfigurace serverů DHCP zůstává výchozí

Kód: Vybrat vše

/ip dhcp-server
add address-pool=default-dhcp disabled=no interface=bridge name=defconf
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf gateway=192.168.88.1
/ip dhcp-server vendor-class-id
add address-pool=pool-for-VID name=samsung server=defconf vid=android-dhcp-9
Připojte mobilní telefon k síti a získáte IP adresu ze sítě 172.16.16.0.

Kód: Vybrat vše

[admin@mikrotik] > /ip dhcp-server lease print detail
Flags: X - disabled, R - radius, D - dynamic, B - blocked
 0 D address=172.16.16.120 mac-address=30:07:4D:F5:07:49 client-id="1:30:7:4d:f5:7:49" address-lists="" server=defconf dhcp-option=""
     status=bound expires-after=8m55s last-seen=1m5s active-address=172.16.16.120 active-mac-address=30:07:4D:F5:07:49
     active-client-id="1:30:7:4d:f5:7:49" active-server=defconf host-name="Galaxy-S8"
Pokud neznáte ID třídy dodavatele vašeho zařízení, můžete zapnout protokoly ladění DHCP pomocí příkazu /system logging add topics=dhcp. Pak se v záznamech protokolů zobrazí Class-id

Kód: Vybrat vše

10:30:31 dhcp,debug,packet defconf received request with id 4238230732 from 0.0.0.0
10:30:31 dhcp,debug,packet     secs = 3
10:30:31 dhcp,debug,packet     ciaddr = 0.0.0.0
10:30:31 dhcp,debug,packet     chaddr = 30:07:4D:F5:07:49
10:30:31 dhcp,debug,packet     Msg-Type = request
10:30:31 dhcp,debug,packet     Client-Id = 01-30-07-4D-F5-07-49
10:30:31 dhcp,debug,packet     Address-Request = 172.16.16.120
10:30:31 dhcp,debug,packet     Server-Id = 192.168.88.1
10:30:31 dhcp,debug,packet     Max-DHCP-Message-Size = 1500
10:30:31 dhcp,debug,packet     Class-Id = "android-dhcp-9"
10:30:31 dhcp,debug,packet     Host-Name = "Galaxy-S8"
10:30:31 dhcp,debug,packet     Parameter-List = Subnet-Mask,Router,Domain-Server,Domain-Name,Interface-MTU,Broadcast-Address,Address-Time,Ren
ewal-Time,Rebinding-Time,Vendor-Specific
10:30:31 dhcp,info defconf assigned 172.16.16.120 to 30:07:4D:F5:07:49
10:30:31 dhcp,debug,packet defconf sending ack with id 4238230732 to 172.16.16.120
10:30:31 dhcp,debug,packet     ciaddr = 0.0.0.0
10:30:31 dhcp,debug,packet     yiaddr = 172.16.16.120
10:30:31 dhcp,debug,packet     siaddr = 192.168.88.1
10:30:31 dhcp,debug,packet     chaddr = 30:07:4D:F5:07:49
10:30:31 dhcp,debug,packet     Msg-Type = ack
10:30:31 dhcp,debug,packet     Server-Id = 192.168.88.1
10:30:31 dhcp,debug,packet     Address-Time = 600
10:30:31 dhcp,debug,packet     Domain-Server = 192.168.88.1,10.155.0.1,10.155.0.126