KVM - nastavení sítě IPV4/IPV6

Ja jsem ale blbec, ze jsem se nad tim nezamyslel poradne, NDP/neigh proxy tady je k nicemu, to by simulovalo bridge-like chovani v situaci, kdy potrebujes pouzit bridge, ale nemuzes, protoze se ocekava, ze mas ty konkretni adresy primo na rozhrani, kde je pripojeni do netu (~priblizne receno);

To by asi vpsAdmin musel umet napridavat vic adres z jednoho subnetu na rozhrani a ty bys pak asi musel ty adresy odebirat po startu (nebo delat dalsi kejkle s konfiguraci rozhrani, ktere jinak manazuje vpsAdmin stack, obvykle pro jednoduchost, ne tak ale v tomhle pripade, no) - a prave pres neigh/arp proxy to preposilat na dalsi iface (bridge s QEMUs)…

Routed setup tady je nativni zpusob, jak delame veci, protoze nam staci resit celou sit jen na L3 urovni, mame uplne minimalni L2 domeny, co to jen jde (2 mac adresy v kazde).

Routovat site pres adresu z nejake dalsi site je nativni zpusob, jak propojujeme vsechno, akorat pro v4 to vypada trochu aliensky, kdyz se predava /32 adresa dal tak, aby ji mohl pouzit novy network namespace pro link do sveta - uplne analogicky by se poslala o dalsi uroven dal do QEMU, taky s nejakou vymyslenou /32 protiadresou pouzitou na default gw v tom QEMU, s odpovidajici /32 routou via interface primo. Ta vymyslena default gw adresa nemusi byt propagovana na zadne vyssi ani nizsi urovne (akorat se musi menit tak, aby se nepotkavala jedna ze dvou smeru v jednom net namespace). My ji btw v tom nadrazenem net ns prirazujeme na dummy iface osrtr0.

Ze link-local adresy jsou neroutovatelny, jj, ale to nevylucuje routovani neceho dalsiho pres link-local adresy mezi tema koncema, co na sebe skrz ty ll adresy vidi :slight_smile:

IMHO nejlepsi setup je rict si o /24(/25, /26) internich v4 a ty pak preroutovat na bridge s KVMkama (a nechat tam radit dnsmasq pres libvirt). Analogicky routed setup s v6 a autoconfig na strane bridge s KVMkama.

Na ty interni v4 jde pak presmerovat traffic z konkretnich portu z te verejky, jinak pujdou do netu pres nas spolecny NAT.

Co takhle?

Vůbec nejsem expert a né uplně vše jsem pochopil co píšeš (nic ve zlém jen já jsem tatar a stále se učím :smiley:)
Já úplně nepotřebuju /24 interních v4. stačí mi dummy 172.18.1.1/24(možná i menší) jen čistě komunikace VPS(172.18.1.1)-KVM(172.18.1.2)
Kde veškerý provoz z KVM jde ven zkrze NAT a příchozí provoz je kromě 2 portů přesměrován na dummy IP KVM(172.18.1.2)
na playground jsem vyzkoušel toto:
U v6 na interface eth0(výstupní síť) je ip 2a03:3b40:fe:7ac::1/64 na tap0(interface do KVM) jsem přiřadil 2a03:3b40:fe:7ac::2/64
na KVM jsem přidal adresy 2a03:3b40:29::1/48 a 2a03:3b40:fe:7ac::3/64
a routy na KVM
“ip r add 2a03:3b40:fe:7ac::1 via 2a03:3b40:fe:7ac::2 dev eth0”
“ip r add default via 2a03:3b40:fe:7ac::1 nexthop via 2a03:3b40:fe:7ac::2 dev eth0”
a routy na VPS
“ip r add 2a03:3b40:fe:7ac::3 dev tap0”
a default byla neměněná
a takhle to fungovalo podmínka byla to že routa musela být “2a03:3b40:29::/48 via 2a03:3b40:fe:7ac::1”
právě když jsem si hrál s link-local adresama bez bridge tak jsem zjistil, že na VPS interface eth0(fe80::2c1f:ceff:feb0:3741/64) a tap0(fe80::2c1f:ceff:feb0:3742/64) na sebe nikdy neuvídí a to jsem zkoušel variantu, že by routa byla veth_routed čili by měla použít gw toho eth0(měnící se link-local adresa)
ale protože přes link-local adresy vidí na sebe jen tap0 a KVM tak jsem to víceméně vzdal, že tudy to asi bez bridge nepůjde.
Ono reálně to je asi jedno jestli je routa “2a03:3b40:29::/48 via 2a03:3b40:fe:7ac::1” nebo veth_routed(výstup na eth0) jen si mi to takhle nelíbí - myslím “2a03:3b40:29::/48 via 2a03:3b40:fe:7ac::1” (ano asi jsem divnej :smiley:)
když mám variantu kde eth0 a tap0 jsou v bridgi br0 tak pro v6 jako gw použiji nastavenou link-local adresu(statická) toho eth0 a v případě NAT pro v4 mi stačilo přidat jedno pravidlo do iptables a chodí to.
Stačí mi staticky nastavená síť.
Prostě mi to chodí a jsem spokojenej :smiley:.
jinak VPS slouží jen jako host pro KVM nic jiného na VPS nikdy běžet nebude(teda kromě ssh a vnc do KVM).
P.S. doufám, že nepíšu ptákoviny a je to alespoň trochu srozumitelné.
P.S. nic jako libvirt a virt-manager nepoužívám