Už lze dělat statické DHCP příděly dle MAC, nebo stále jen dle GUID? A obecně: ono jim to už funguje? Před nějakým časem jsem tu dával k dobru zjištění, že je to u MK zatím k ničemu ... nešlo dát /64, muselo se víc. A ještě k tomu jsem nepřišel na to, jak mu říct, na jaké rozhraní to přiřadit. GUID vyžadoval v přesném formátu (na rozdíl od RFC, kde je to vcelku libovolné). Neuměl nakonfigurovat defaultu klientovi (nevzal routu přes RA) a leccos dalšího, kdybych si tak vzpomněl ...
DHCPv6 neumí přidělovat v principu dle holé MAC adresy, protože se často provozuje tam, kde MAC vůbec nejsou. Je zobecněné. Takže i ROS server DHCPv6-PD přiděluje na základě DUID+IAID.
DHCPv6-PD klient v ROS si DUID generuje dle MAC adresy na první síťovce v systému (první dle BIOS pohledu) a IAID dává jako index interface na kterém je pak DHCPv6-PD klient puštěn. Dneska už jde aspoň se podívat, jaký DUID si vybral:
/ipv6 dhcp-client print detail
Flags: D - dynamic, X - disabled, I - invalid
0 interface=pppoe-out1 pool-name="pd6" pool-prefix-length=64 status=bound
prefix=fd49:2990:4616:4370::/64 expires-after=2d23h20m11s
duid="00030001000c42345d2a" add-default-route=yes use-peer-dns=yes
A jak vidíš, tak klient už má parametr, že má i nastavit defualt bránu (bude ukazovat na DHCPv6-PD server).
Na serveru pro přidělení segmentu napevno bude:
/ipv6 dhcp-server binding
add address=fd49:2990:4616:4370::/64 disabled=no duid=000c42345d2a iaid=12 life-time=3d
Také si můžeš všimnout, že jde přidělit takto jen jeden /64 blok. Nejde jednomu klientovi naráz přidělit (a ani definovat) víc IPv6 bloků.
Jaký interface v klientu pak ten blok dostane, je dáno tím, kterému iface přidělíš ten pool pd6. DHCPv6-PD klient vytvoří dynamický pool zadaného jména a interfejsům pak říkáš, že z toho poolu si mají vzít blok. Pokud v poolu nebude dost místa, tak se na některé ifaces nedostane.
/ipv6 address
add address=::1 from-pool=pd6 interface=bridge-lan
Výsledek na klientovi:
[admin@MikroTik] > /ipv6 pool print
Flags: D - dynamic
# NAME PREFIX PREFIX-LENGTH
0 D pd6 fd49:2990:4616:4370::/64 64
[admin@MikroTik] > /ipv6 pool used print
POOL PREFIX OWNER INFO
pd6 fd49:2990:4616:4370::/64 Address bridge-lan
[admin@MikroTik] > /ipv6 address print where interface=bridge-lan
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local
# ADDRESS FROM-POOL INTERFACE ADVERTISE
11 G fd49:2990:4616:4370::1/64 pd6 bridge-lan yes
13 DL fe80::ff:fe00:1/64 bridge-lan no
[admin@MikroTik] > /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
0 ADS ::/0 pppoe-out1 1
1 DS ::/0 fe80::1f0%pppoe-out1 1
2 ADC fd49:2990:4616:4370::/64 bridge-lan 0
3 DSU fd49:2990:4616:4370::/64 1
[admin@MikroTik] >
Ty dvě default routy jsou následek, že jednu udělá PPPoE klient a druhou DHCPv6-PD.
Jinak ROS6 se nechá dneska i ukecat, že se má zkusit nakonfigurovat dle ohlášení jiného routeru i v případě, že má roli routeru (což dle kostelního pořádku pro IPv6 dělat nemá). Ale funguje to dost vachrlatě a chvílema to selhává:
/ipv6 settings set forward=yes
/ipv6 settings set accept-router-advertisements=yes