Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: jokax3m 18. 05. 2023, 09:14:32
-
Ahojte, hľadám niekoho kto by mi vedel pomôcť nastaviť na serveri v datacentre sieťovanie medzi bond a VM. Situácia je nasledovná:
- fyzický server v datacentre
- hlavný server beží AlmaLinux 9 s KVM
- hlavný server je pripojený na sieť cez bond0 (802.3ad) primárna statická public IP
- hlavný server ma napojený ďalší bond1 (802.3ad) so sekundárnou statická public IP pre VM
Potreboval by som prepojiť bond1 do VM, tak aby bola VM dostupna z internetu na sekundarnej IP.
Všetky pokusy o vytvorenie bridge (bond1->bridge1->virt-adapter-vm) zlyhali, v najlepšom prípade fungovalo iba DNS vo VM. Na sekundarnej adrese sa mim neustále ohlasoval hlavný server. Hlavný server vidí VM lokálne bez problémov. Štandardné NAT na VM ide tiež bez problémov.
Je tu niekto, čo by sa na to podujal? Samozrejme aj s primeranou odmenou 🙂
Ďakujem.
joka
-
> Štandardné NAT na VM ide tiež bez problémov.
no, NAT, to bude ta chyba.. tam by se nic překládat nemělo..
jestli má hlavní server dejme tomu dvě fyzické iface, eno1, eno2 a máš dvě IP: IP1,IP2..:
tak si:
* hoď eno1, eno2 do bond0
* vytvoř bridge br0
* do br0 dej bond0
* do br0 si dej i veth toho VM
* br0 přiděl IP1
* bond0 nepřiděluj nic
* interface uvnitř toho VM přiděl IP2
Jestli moc nevíš, co děláš, tak to bude chtít nějaký OOB KVM přístup, a to tak, že určitě.
-
- hlavný server je pripojený na sieť cez bond0 (802.3ad) primárna statická public IP
- hlavný server ma napojený ďalší bond1 (802.3ad) so sekundárnou statická public IP pre VM
jo, já už to vidím jak to asi myslíš.. To co jsem psal vejš, platí jen pokud jsou obě IP na stejný L2 síti, ty to máš z nějakých důvodů rozhozený.. srry.
Ještě jeden tip, nešlo by propasovat ty interface dovnitř přes pcie passthrough ? Tím by ses některým problémům úplně vyhnul..
-
NAT nepoužívam, to bolo len info, že to prejde von z toho VM....
V texte:
* hoď eno1, eno2 do bond0 - TO JE FUNKCNE
* vytvoř bridge br0 - TO SOM SPRAVIL
* do br0 dej bond0 - TOTO NEMOZEM, LEBO TAM MUSI IST BOND1 A NIE BOND PRE FYZICKY SERVER
* do br0 si dej i veth toho VM - TOTO SOM NEROBIL
* br0 přiděl IP1 - TOTO SOM SPRAVIL
* bond0 nepřiděluj nic - MYSLIS ASI IP (NEPRIRADIL SOM PRE BOND1)
* interface uvnitř toho VM přiděl IP2 - TOTO SOM SPRAVIL
čo sa týka "Ještě jeden tip, nešlo by propasovat ty interface dovnitř přes pcie passthrough ? Tím by ses některým problémům úplně vyhnul.." vôbec netuším o čom píšeš 😀
ked som to mal doma, tak samozrejme to všetko islo cez jednu sietovku a problem s nastavením nebol, ale teraz to je defakto na viacerých sietovkach (4) z ktorých mam 2 bondy na serveri a kazdy bond ma svoju staticku public IP
-
> LEBO TAM MUSI IST BOND1 A NIE BOND PRE FYZICKY SERVER
a na těch dvou bondech jsou různé L3 (IP) sítě, nebo je tam ta samá?
-
"a na těch dvou bondech jsou různé L3 (IP) sítě, nebo je tam ta samá?"
je tam tá ista sieť, akurát bond0 je na konci 27 a bond1 28, ostatné parametre sú identické
-
IP adresa urcena pro VM nesmi byt pouzita nikde jinde (a uz vubec na bond1, pokud tam ma byt bridge).
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking)
-
IP adresa urcena pro VM nesmi byt pouzita nikde jinde (a uz vubec na bond1, pokud tam ma byt bridge).
OK, takže takto podľa návodu:
nmcli connection add type bond con-name bond1 ifname bond1 bond.options "mode=802.3ad"
nmcli connection add type bridge con-name bridge1 ifname bridge1
nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f0 master bond1
nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f1 master bond1
nmcli connection modify bridge1 master bond1
nmcli connection up bridge1
nmcli connection modify bond1 ipv4.method disabled
nmcli connection modify bond1 ipv6.method disabled
nmcli connection up bond1
nmcli connection modify bond1 connection.autoconnect-slaves 1
nmcli connection up bond1
cat /proc/net/bonding/bond1
všetko sa zdá OK:# nmcli device
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond-master
virbr0 bridge connected (externally) virbr0
vnet15 tun connected (externally) vnet15
bond1 bond connected bond1
bridge1 bridge connected bridge1
eno1 ethernet connected bond0 port 1
eno2 ethernet connected bond0 port 2
ens5f0 ethernet connected bond1-port1
ens5f1 ethernet connected bond1-port1
do kvm je pridaný virtualny adaptér s bridge1, buď výberom Bridge network a device bridge1 alebo cez pridanie:
### bridge.xml
<network>
<name>br0</name>
<forward mode="bridge"/>
<bridge name="bridge1" />
</network>
virsh net-define ./bridge.xml
virsh net-start brridge1
virsh net-autostart bridge1
VM má nastavený pridelenú statickú IP + gateway a dns tak ako pridelilo datacentrum.
VM je Debian a /etc/interfaces je nastavený nasledovne:
auto enp1s0
iface enp1s0 inet static
address xx.xx.xx.28/dd
gateway xx.xx.xx.25
nameserver xx.xx.yy.5
nameserver xx.xx.yy.6
nameserver 8.8.4.4
ping www.sme.sk
Dočasná chyba pri riešení názvu
Čo robím zle?
-
a samozrejme, ze nejde ani ping priamej IP
ping 104.22.13.230
ping: connect: Sieť nie je dostupná
a ani zvonka nie je dostupna IP ktorú má VM
-
nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f0 master bond1
nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f1 master bond1
Asi by tam melo byt bond1-port2
nmcli connection modify bridge1 master bond1
A tohle mi prijde, ze pro tvuj setup ma byt naopak - neco jako:
nmcli connection modify bond1 master bridge1
(pripadne bude treba dohledat presny zapis)
No a hlavne: jak je definovan sitovy interface VM?
(virsh dumpxml VMname)
Melo by tam byt neco jako:
<interface type='bridge'>
<mac address='52:54:00:12:34:56'/>
<source bridge='bridge1'/>
<model type='virtio'/>
<rom enabled='no'/>
<address type='pci' ...
</interface>
-
samozrejme som to opravil na port2, len už sa nedal zmeniť príspevok, no nepomohlo to...
nmcli connection modify bridge1 master bond1 hmm... musím skontrolovať, išiel som ce RH návod, ale je to možné....
interface VM:
<interface type='bridge'>
<mac address='52:54:00:28:a0:1c'/>
<source bridge='bridge1'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
-
nmcli connection add type bond con-name bond1 ifname bond1 bond.options "mode=802.3ad"
nmcli connection add type bridge con-name bridge1 ifname bridge1
nmcli device
nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f0 master bond1
nmcli connection add type ethernet slave-type bond con-name bond1-port2 ifname ens5f1 master bond1
nmcli connection modify bond1 master bridge1
nmcli connection up bridge1
nmcli connection modify bond1 ipv4.method disabled
nmcli connection modify bond1 ipv6.method disabled
nmcli connection up bond1
nmcli device
nmcli connection modify bond1 connection.autoconnect-slaves 1
nmcli connection up bond1
skončí to takto:
# nmcli device
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond-master
virbr0 bridge connected (externally) virbr0
vnet22 tun connected (externally) vnet22
bond1 bond connected bond1
eno1 ethernet connected bond0 port 1
eno2 ethernet connected bond0 port 2
ens5f0 ethernet connected bond1-port1
ens5f1 ethernet connected bond1-port2
bridge1 bridge connecting (getting IP configuration) bridge1
-
IP forward máš povolený?
-
nmcli connection modify bond1 master bridge1
Tohle jsem napsal jako "principialni" tvar. Chtelo by to zagooglit, jak presne to ma vypadat.
bridge1 bridge connecting (getting IP configuration) bridge1
Nevim, co znamena "skonci to takto". Tenhle radek je spravne. Vychozi stav je, ze interface chce ziskat ip adresu pomoci DHCP.
Pokud to neni zadouci, je treba interface prislusne nastavit - treba:
nmcli connection add type bridge con-name bridge1 ifname bridge1 ipv4.method disabled ipv6.method disabled
-
Vzdy, kdyz vytvaris interface, davej tam rovnou:
autoconnect yes
a pokud jde o bridge tak taky
stp off
Priklad:
nmcli connection add type bridge con-name bridge1 ifname bridge1 autoconnect yes stp off ipv4.method disabled ipv6.method disabled
-
eno1 ethernet connected bond0 port 1
eno2 ethernet connected bond0 port 2
ens5f0 ethernet connected bond1-port1
ens5f1 ethernet connected bond1-port2
Postni sem pls vystup "ip a s"
-
IP forward máš povolený?
tak to netuším... ale skôr principiálne, ak mám pridelenú public IP a tá sa nikde nenastavu ohľadne bond a bridge, tak potom jedina na VM, tým pádom mi IP forward zmysel nedáva... ale nie som sieťar, takže skôr, len logika mi to nejako hovorí 🙂
-
nmcli connection modify bond1 master bridge1
Tohle jsem napsal jako "principialni" tvar. Chtelo by to zagooglit, jak presne to ma vypadat.
bridge1 bridge connecting (getting IP configuration) bridge1
Nevim, co znamena "skonci to takto". Tenhle radek je spravne. Vychozi stav je, ze interface chce ziskat ip adresu pomoci DHCP.
Pokud to neni zadouci, je treba interface prislusne nastavit - treba:
nmcli connection add type bridge con-name bridge1 ifname bridge1 ipv4.method disabled ipv6.method disabled
1. ja som to zle prepísal z návodu, je to teraz OK, podľa RH
2. ja neviem, kde má byť v procese bridgovania nastavená public IP:
- bond má disabled
- bridge má default (explicitne som nezakazaoval, takze asi ako píšeš DHCP)
- VM má static public IP nastavenú
tak ako som písal v predchádzajúcej odpovedi, netušim, kde má byť tá public IP byť nastavená, ja ju mám až na VM, ale čo som pozeral, tak sú návody, kde má IP nastavený Bridge a potom VM ma virtuálnu sieť s DHCP, tu by som videl ten IP forwarding, ale ako to fakt má byť, to vážne netuším
-
Vzdy, kdyz vytvaris interface, davej tam rovnou:
autoconnect yes
a pokud jde o bridge tak taky
stp off
Priklad:
nmcli connection add type bridge con-name bridge1 ifname bridge1 autoconnect yes stp off ipv4.method disabled ipv6.method disabled
všetko je autoconet a stp je off
-
eno1 ethernet connected bond0 port 1
eno2 ethernet connected bond0 port 2
ens5f0 ethernet connected bond1-port1
ens5f1 ethernet connected bond1-port2
Postni sem pls vystup "ip a s"
filtrované to čo riešime:
7: ens5f0: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
altname enp36s0f0
8: ens5f1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff permaddr 28:80:23:b9:02:fd
altname enp36s0f1
87: bridge1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
89: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master bridge1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
-
neviem prečo sú DOWN, skúšam ich dať hore, riešil som to rôznymi spôsobmi a stále sú DOWN.... netuším prečo....
-
Trosku mimo misu, copak bezi v te VM?
Ja jsem se pred par mesici snazil pod KVM rozbehnout pfSense, do ktereho jsem chtel propasovat bridge mezi hypervisorem a ostatnima VM a skoncil jsem docela vtipne na tom, ze vse fungovalo skvele presne do chvile, nez si pfSense pri startu osahal rozhrani, cimz mi spojeni s bridgem shodil.
Vtipnejsi to bylo o to vic, ze jedinej zpusob, jak to nahodit, bylo pres brctl addif...
Snaha ozivit totez pres NetworkManager mi nezabrala.
-
Trosku mimo misu, copak bezi v te VM?
Ja jsem se pred par mesici snazil pod KVM rozbehnout pfSense, do ktereho jsem chtel propasovat bridge mezi hypervisorem a ostatnima VM a skoncil jsem docela vtipne na tom, ze vse fungovalo skvele presne do chvile, nez si pfSense pri startu osahal rozhrani, cimz mi spojeni s bridgem shodil.
Vtipnejsi to bylo o to vic, ze jedinej zpusob, jak to nahodit, bylo pres brctl addif...
Snaha ozivit totez pres NetworkManager mi nezabrala.
Beží tam Debian 11
-
1. ja som to zle prepísal z návodu, je to teraz OK, podľa RH
Neni to ok. Spravne ma byt:
nmcli connection mod bond0 connection.master br0 connection.slave-type bridge
https://www.reddit.com/r/CentOS/comments/dhh1uq/bond_interface_as_slave_device_under_bridge_on/ (https://www.reddit.com/r/CentOS/comments/dhh1uq/bond_interface_as_slave_device_under_bridge_on/)
2. ja neviem, kde má byť v procese bridgovania nastavená public IP:
- bond má disabled
- bridge má default (explicitne som nezakazaoval, takze asi ako píšeš DHCP)
- VM má static public IP nastavenú
tak ako som písal v predchádzajúcej odpovedi, netušim, kde má byť tá public IP byť nastavená, ja ju mám až na VM, ale čo som pozeral, tak sú návody, kde má IP nastavený Bridge a potom VM ma virtuálnu sieť s DHCP, tu by som videl ten IP forwarding, ale ako to fakt má byť, to vážne netuším
IP ma byt na guestovi.
-
neviem prečo sú DOWN, skúšam ich dať hore, riešil som to rôznymi spôsobmi a stále sú DOWN.... netuším prečo....
Kolik ti je a jakeho ses pohlavi? Jestli ses dvanactileta pubertacka, tak lze odpustit, ze nepostujes, co jsi presne zadal a jaka byla reakce systemu, jinak ne.
-
neviem prečo sú DOWN, skúšam ich dať hore, riešil som to rôznymi spôsobmi a stále sú DOWN.... netuším prečo....
Kolik ti je a jakeho ses pohlavi? Jestli ses dvanactileta pubertacka, tak lze odpustit, ze nepostujes, co jsi presne zadal a jaka byla reakce systemu, jinak ne.
sorry, nejako som odpisoval v rýchlosti po 2h ďalších neúspečných pokusov, to bola poznámka k tomuto:
filtrované to čo riešime:
7: ens5f0: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
altname enp36s0f0
8: ens5f1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff permaddr 28:80:23:b9:02:fd
altname enp36s0f1
87: bridge1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
89: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master bridge1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
Ono na základe https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-a-network-bridge_configuring-and-managing-networking by mali byť všetky UP...
-
1. ja som to zle prepísal z návodu, je to teraz OK, podľa RH
Neni to ok. Spravne ma byt:
nmcli connection mod bond0 connection.master br0 connection.slave-type bridge
https://www.reddit.com/r/CentOS/comments/dhh1uq/bond_interface_as_slave_device_under_bridge_on/ (https://www.reddit.com/r/CentOS/comments/dhh1uq/bond_interface_as_slave_device_under_bridge_on/)
2. ja neviem, kde má byť v procese bridgovania nastavená public IP:
- bond má disabled
- bridge má default (explicitne som nezakazaoval, takze asi ako píšeš DHCP)
- VM má static public IP nastavenú
tak ako som písal v predchádzajúcej odpovedi, netušim, kde má byť tá public IP byť nastavená, ja ju mám až na VM, ale čo som pozeral, tak sú návody, kde má IP nastavený Bridge a potom VM ma virtuálnu sieť s DHCP, tu by som videl ten IP forwarding, ale ako to fakt má byť, to vážne netuším
IP ma byt na guestovi.
ďalší pokus:
[root@hp-proliant-dl380 ~]# nmcli connection add type bond con-name bond1 ifname bond1 bond.options "mode=802.3ad" autoconnect yes ipv4.method disabled ipv6.method disabled
Connection 'bond1' (0f98ce85-c2d0-4d2c-a1c7-c090c86c167f) successfully added.
[root@hp-proliant-dl380 ~]# nmcli connection add type ethernet slave-type bond con-name bond1-port1 ifname ens5f0 master bond1
Connection 'bond1-port1' (cc38eb61-14f0-4e80-bbfa-1b68a85922cb) successfully added.
[root@hp-proliant-dl380 ~]# nmcli connection add type ethernet slave-type bond con-name bond1-port2 ifname ens5f1 master bond1
Connection 'bond1-port2' (9b076096-b917-4ce7-8328-fbd23e2b29e4) successfully added.
[root@hp-proliant-dl380 ~]# nmcli connection add type bridge con-name bridge1 ifname bridge1 autoconnect yes stp off ipv4.method disabled ipv6.method disabled
Connection 'bridge1' (6775e0ff-4e9f-48c1-82fa-0e441e9169fc) successfully added.
[root@hp-proliant-dl380 ~]# nmcli connection mod bond1 connection.master bridge1 connection.slave-type bridge
[root@hp-proliant-dl380 ~]# nmcli connection up bond1
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/249)
[root@hp-proliant-dl380 ~]# nmcli connection up bridge1
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/252)
[root@hp-proliant-dl380 ~]# nmcli connection modify bridge1 connection.autoconnect-slaves 1
[root@hp-proliant-dl380 ~]# nmcli connection up bridge1
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/256)
[root@hp-proliant-dl380 ~]# ip link show master bridge1
109: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master bridge1 state DOWN mode DEFAULT group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
[root@hp-proliant-dl380 ~]# bridge link show
109: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 master bridge1 state disabled priority 32 cost 100
VM výsledok ping 104.22.13.230
Sieť nie je dostupná.
7: ens5f0: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
altname enp36s0f0
8: ens5f1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff permaddr 28:80:23:b9:02:fd
altname enp36s0f1
108: bridge1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
109: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master bridge1 state DOWN group default qlen 1000
link/ether 28:80:23:b9:02:fc brd ff:ff:ff:ff:ff:ff
110: vnet30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master bridge1 state UNKNOWN group default qlen 1000
link/ether fe:54:00:28:a0:1c brd ff:ff:ff:ff:ff:ff
-
No tak super! Zbyva zjistit, proc jsou ens5f0 a ens5f1 down. Tady ti moc nepomuzu, bondovani neni muj salek caje, ale zacal bych zjistovat, zda je na switchi spravne nastavene lacp.
-
No tak super! Zbyva zjistit, proc jsou ens5f0 a ens5f1 down. Tady ti moc nepomuzu, bondovani neni muj salek caje, ale zacal bych zjistovat, zda je na switchi spravne nastavene lacp.
ok, ked mam klasicky bond, identicky s tym nastavenim ako je v postupe, bez bridge, a plus na bonde nastavena dana druha public ip, tak je vsetko ok a master server je dostupny aj cez tuto druhu ip cez ssh, takze mi zostava dat na masine reboot a uvidime 🙂 dam vediet