Preferovana IPv6 adresa v network-scripts

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Září 3 10:31:59 CEST 2019


On Fri, 30 Aug 2019, Jan Kasprzak wrote:

> A chtel bych, aby toto bylo "nejak ciste" zadefinovano ve staticke 
> konfiguraci site (/etc/sysconfig/network-scripts, CentOS/RHEL/Fedora). 
> Jak se tohle dela?

A ty soubory interpretuje kdo? Skripty jako ifup* tamtéž (tradiční 
přístup) nebo NetworkManager (novější přístup)?

> 	Driv fungovalo toto v network-scripts/ifcfg-ethX:
>
> IPV6ADDR=mujprefix::ab/64
> IPV6ADDR_SECONDARIES="mujprefix::cd/64 mujprefix::ef/64"

Přinejmenším skripty v network-scripts asi dělají pořád totéž. Možná se 
změnilo něco v jádře...?

> Nasel jsem tento clanek:
> http://www.davidc.net/networking/ipv6-source-address-selection-linux
> - podle neho jsem udelal
>
> ip addr change mujprefix::cd/64 dev eth0 preferred_lft 0
> ip addr change mujprefix::ef/64 dev eth0 preferred_lft 0
>
> coz pomohlo i na lokalni provoz.

Výběr zdrojové adresy v IPv6 je dost divoký. Viz RFC 3484. A toto je asi 
nejčistší způsob, jak u nějaké adresy říct, aby jí to nepoužívalo.

> Ale teda - jak to udelat "ciste", deklarativne, v network-scripts?

Ty skripty to asi neumějí. Buď je do nich potřeba sáhnout (což moc čisté 
není... i když na druhou stranu ony už jsou zprasené dost), nebo to zkusit 
nějak ošulit např. pomocí /sbin/ifup-local, kde se to opraví (to je trochu 
menší čuňárna).

NM si ifcfg-X nějak uměle inteligentně přeloží do své konfigurace a zdá 
se mi, že také nějak moc neumí rozlišit, zda je nějaká adresa preferovaná.

Pokud by měl ten stroj weak multihoming, tak by mohlo fungovat, že by se 
vedlejším adresám nastavil prefix /128 a případně byly nakonfigurovány na 
nějakém jiném rozhraní (ale bez záruky).

> Pro IPv4 funguje standardni reseni s ifcfg-eth0:1 a ifcfg-eth0:2.

IPv4 ty adresy rozlišuje nastavením flagu IFA_F_SECONDARY, ale v IPv6 nic 
takového vůbec není (a ten flag je recyklovaný pro dočasně platné 
adresy), nejlepší analogie jsou ty preference popsané výše.

-- 
Pavel Kankovsky aka Peak                      "Que sçay-je?"


Další informace o konferenci Linux