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