[Megoldottam] Proxmox dual-stack mode

Fórumok

Proxmox VE szervert telepítettem, de valamit rettentően sikerült félrekonfigurálnom, vagy alapvetően félreértem az egész működését.

Alapból ipv4 címekkel telepítettem, írta is a telepítő, hogy VAGY ipv4 VAGY ipv6 a kettőt együtt nem tudja. Ez rendben is lenne. 

Ugye van a LAN csatoló ahonnan bejön/kimegy a net, illetve alapból létrehoz egy bridge interface-t, amire teszi a gyökér hostot, ha jól értelmezem. 

~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface enp2s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.5.153/24
        gateway 192.168.5.1
        bridge-ports enp2s0
        bridge-stp off
        bridge-fd 0

Tehát, ha jól látom az enp2s0 csatoló nincs konfigurálva? Én ezeket a paramétereket amikor megadtam a telepítéskor, azt hittem, hogy a fő hálózati csatolót (enp2s0) konfigurálom, nem a bridge-t(vmbr0). Ezért is írtam, hogy nem értem, illetve félreértem a szerver működését. Kérdésem: Ezeket a paramétereket megadhatom a fentebbi állományban a másik interface-nek is?

Másik kérdésem: Hogyan lehetne dual-stack működésre bírni a pve-t? 

~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether d8:9e:f3:96:00:00 brd ff:ff:ff:ff:ff:ff
3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d8:9e:f3:96:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.153/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::da9e:f3ff:fe96:0/64 scope link
       valid_lft forever preferred_lft forever

Minden segítő választ köszönök!

Hozzászólások

Tehát, ha jól látom az enp2s0 csatoló nincs konfigurálva?

Hogyne lenne, benne kell lennie a vmbr0 bridge-ben.

A Proxmoxot annyira nem ismerem, de alapkiépítésben minden vm iface a vmbr0 brigbe kerül, mondjuk úgy mintha egy "switch" lenne ...

Mire kell a dual stack ? A proxmox hostra vagy a VM-ekre ?

Fedora 38, Thinkpad x280

Mire kell a dual stack ? A proxmox hostra vagy a VM-ekre ?

Mindkettőre. Először a hostra szeretném.

alapkiépítésben minden vm iface a vmbr0 brigbe kerül, mondjuk úgy mintha egy "switch" lenne ...

Ezt értem,de én úgy gondoltam,hogy a host kapja a fizikai hálózati csatolót és a VM-ek a bridge-ket. Ezért lepődtem meg ennyire.

Ezt értem,de én úgy gondoltam,hogy a host kapja a fizikai hálózati csatolót és a VM-ek a bridge-ket. Ezért lepődtem meg ennyire.

Ez is egy lehetőség, viszont ekkor a VM-ek külön hálózatba lesznek, amit routeolás vagy NAT beállítása nélkül, proxmoxból tudod elérni, valamint a VM-ek se látnak túl a proxmoxon.

 

Mindkettőre. Először a hostra szeretném.

VM nél nem kéne gondnak lennie, mert fogod és felveszed majd ahogy az IPv4-et is konfigurálod. A proxmoxban nem vagyok járta, viszont valami hasonló kellhet:

iface vmbr0 inet6 static
       address  2001:db8:1::1/112

Bár a dokumentáció gondolom jobb leírja majd.

Fedora 38, Thinkpad x280

Túrtam a dokumentációt, köszönöm. 

Ott azt javasolják, hogy az ipv6-ot NAT nélkül javasolt használni. Létre kell hozni, egy másik bridge interface-t és ott felvenni a NIC hálózati csatolót, és definiálni a subnetet.

If you want to run without NAT (as you may expect it in ipv6) it's much clearer: Define a new bridge (e.g. vmbr2), add your NIC to it as well as virtual NICs in your VMs. Assign in the VMs simply an ip address from your /64 network (no ip6tables needed any more). However, this method works only if your router (provider!?) accepts MAC addresses from your virtual NICs.

És itt értettem meg az egész rendszer működését. Legalábbis azt hittem. Ez a parancs mire vonatkozik? És mit is csinál pontosan?

sysctl -w net.ipv6.conf.all.forwarding=1

 

Köszönöm mindenkinek!

Az ipv6 csomagokat engedi átmenni a szerveren. Röviden:

A "router" módot  kapcsolja be.

Kicsit hosszabban, konyhanyelven:

Legyen a proxmox IP-je 2001:db8::1, legyen rajta egy VPS ami teljesen másik hálózat (belso lan stb) aminek IP-je 2001:db9::2 

A proxmox előtti routernek meg van mondva, hogy a 2001:db9::1 et a proxmox "mögött" 2001:db8::1 találja, így a proxmoxra küldi a csomagokat. A proxmod meg majd forwardolja tovább a VPS-nek ha a fenti kapcsoló 1.

Ha 0 akkor nem foglalkozik vele.

Fedora 38, Thinkpad x280

Úgy gondolom, az is megy , ahogy te akartad:

Illetve a bride-be nem feltétlenül kell fizikai kártya, akkor  csak egymást látják a vm-ek a bridgben.

 

  

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
        address 192.168.1.111/24
        gateway 192.168.1.1

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.122/24
        gateway 192.168.1.1
        bridge-ports en01
        bridge-stp off
        bridge-fd 0

Köszönöm mindenkinek a válaszokat!

Igazából amin fennakadtam: hogyan lehet, hogy működik egy virtuális interface (bridge) anélkül, hogy konfiguráltam volna a fizikai interface-t? Ez nekem olyan: értem én, hogy gőzgép, de mi hajtja???

Egy kis olvasgatás és pici "hákolás" után megvan a megoldás.

A "hákolás" a hosts fájl szerkesztése volt. Ez alapján csináltam.

Egyébként egyszerűen hozzáadtam a public Digi ipv6 címemet és kész lett. (persze ezt most nem teszem közzé...) :)

auto lo
iface lo inet loopback

iface enp2s0 inet manual

auto vmbr0
iface vmbr0 inet static
	address 192.168.5.153/24
	gateway 192.168.5.1
	bridge-ports enp2s0
	bridge-stp off
	bridge-fd 0

iface vmbr0 inet6 static
	address 2a01:36d:1400:782:xxxx:1234:xxxx:1234/64
	gateway 2a01:36d:1400:782::
ping6 hup.hu
PING hup.hu(2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de)) 56 data bytes
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=1 ttl=58 time=13.0 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=2 ttl=58 time=12.9 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=3 ttl=58 time=12.8 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=4 ttl=58 time=13.0 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=5 ttl=58 time=12.7 ms
^C
--- hup.hu ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 12.670/12.885/13.046/0.135 ms

és a guglit is megpingettem:

~# ping6 ipv6.google.com
PING ipv6.google.com(bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e)) 56 data bytes
64 bytes from bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e): icmp_seq=1 ttl=116 time=14.1 ms
64 bytes from bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e): icmp_seq=2 ttl=116 time=14.0 ms
64 bytes from bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e): icmp_seq=3 ttl=116 time=13.3 ms
64 bytes from bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e): icmp_seq=4 ttl=116 time=14.0 ms
64 bytes from bud02s35-in-x0e.1e100.net (2a00:1450:400d:80a::200e): icmp_seq=5 ttl=116 time=13.8 ms
^C
--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 13.347/13.854/14.121/0.279 ms

Következő feladat: megtalálni, a vonatkozó tűzfal szabályt, hogy át tudjam engedni a mikrotik routeremen port forwarddal a belső ipv4 címet címet. Természetesen alig kommenteltem a szabályokhoz amikor 2 éve összeraktam a routert, úgyhogy most vakarom a fejem, hogy ezt a hülye értelmetlen szabályt meg ki írta és mit akart vele?