eth xxx an Container durchreichen

gueniepr

Member
Nov 23, 2021
39
0
11
74
Hallo, ich habe die Frage ob es möglich ist, meine virtuellen Netzwerkkarten an einen Container weiterzugeben? Damit das Teil für externe Verbindungen IP Adressen bekommen kann. MIT KVM Hosts geht das mit PCIe... Aber für Container habe ich bis jetzt noch nichts gefunden :-(. ich habe mal im container lspci installiert da sehe ich alle intel Virtual Ethernet Cards (28) aber wie bringe ich die in den Container durchgereicht.

Für kleine Aufgaben genügt ja ein Container.

Falls Jemand von Euch mit Rat und Tat Hilfe leisten könnte oder wenigstens Hinweise weitergeben könne, würde ich mich sehr freuen
Danke für eine Anwort
 
ja Dein Host hat eine vmbr0 als virtuelle bridge, die auf einem Netz sitzt, wo auch DHCP Server läuft.

Dein LXC oder VM wird mit dieser Brige verbunden und kann sich dann per DHCP eine IP, DNS usw. holen.

Man kann auch ein privates Netz, z.B. auf vmbr1 aufsetzen, dass nur lokal für die LXC oder VM gedacht ist, eine lokaer DHCPd läuft bei mir in einer VM und ich entscheide, ob der LXC oder VM direkt "raus" darf. Das erfolgt dann über eine NAT-Regel. Oder ich gebe dem LXC oder VM Server noch die IP eines lokalen Proxyserver mit, so dass er sich Updates holen kann.

So wie man will.
 
Ich versuche noch etwas in deinem Kopf aufzuräumen, es wird nicht durchgereicht, sondern auf einem virt. Switch VMBRn ein Kabel zu deiner virt. Netzwerkschnittelle hergestellt.
Je nach virt. Switch VMBRn, interner und externen 'Verkabelung', kann sich diese massiv auf die Funktion auswirken.

Hat z.B. eine vmbr2 keine Zuweisung zu einer realen Netzwerkschnittelle deines Proxmox hosts, so erhält er darüber auch keine Verbindung zu "realen Welt". So kann man auch eine Art Isolation von LXC / VM Diensten erreichen.
 
Ja das wird notwendig sein, denn ich habe überhaupt keinen Durchblick mehr, wie das ganze funktionieren könnte?
In den KVM's funktioniert das ganze ja wunderbar, da gibt es keine Problem mit den Intel Virtual Ethernet?

Ich habe mal im Container lspci installiert und habe das herausgefunden.
lspci |grep Virtual
01:00.4 USB controller: Hewlett-Packard Company Integrated Lights-Out Standard Virtual USB Control
ler (rev 03)
81:10.0 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:10.1 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:10.4 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:10.5 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:11.0 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:11.1 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:11.4 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:11.5 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:12.0 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:12.1 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:12.4 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:12.5 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:13.0 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)
81:13.1 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01)

Ich könnte noch 14 Aktivieren ;-)

aber wie bekommt man diese Network Interfaces in einen Container ?

Ich habe nur das Verwaltungs Interface dem ich eine Interne IP geben kann, damit kann ich updates usw. machen weil "Nat", aber dem Teil eine Aufgabe zuzuweisen mit externer Anbindung IP4 / IP6 bringe ich nicht zustande.

Ich brauche eine externe Anbindung im Container ?

Das ganze dürfte an meinem Unverständnis von Containern liegen ? Ich habe bis jetzt keine Container benutzt immer nur KVM und das funktioniert ja einwandfrei :-(

Aber für kleine Anwendunge würde Container richtig gut paßern ;-)

Danke für jede Antwort,
 
Hallo, zeige bitte als Erstes die /etc/network/interface Datei.

Hier ist ein Auszug aus meinem Proxmox PVE auf ASRock G41MH GE mit einem Intel Core2 Duo E8500,
hier als reiner Fileserver.
Der Server wird über Ethernet und ARP Paket gestartet und nach erledigter Arbeit wieder gestoppt.
Da ist der Stromverbrauch nicht von Bedeutung.

auto enp3s0 iface enp3s0 inet manual #1 GBit/s auto vmbr0 iface vmbr0 inet static address 192.168.0.xxx/24 gateway 192.168.0.1 bridge-ports enp3s0 bridge-stp off bridge-fd 0 #1 GBit/s

Hier ist die Config einer VM auf /etc/pve/qemu-server/<id>.conf zu finden.
Bitte auch Posten.

Z.B. eine Clonezilla Config.
boot: order=ide2 cores: 2 ide2: images:iso/clonezilla-live-3.1.0-22-amd64.iso,media=cdrom,size=395M memory: 1024 meta: creation-qemu=7.1.0,ctime=<cut> name: clonezilla net0: virtio=4A:95:C6:37:4A:FE,bridge=vmbr0,firewall=1 numa: 0 ostype: l26 scsihw: virtio-scsi-single smbios1: uuid=2d566cdd-891c-4b59-86f1-30cff081d2e6 sockets: 1 tablet: 0 vga: qxl vmgenid: c1a7c350-f935-4011-bf25-7ce323630896
 
Last edited:
Hallo, etwas verspätet aber ich kann nicht immer online sein ;-)
also auf dem Server schaut die Datei so aus

root@bbs:/etc/network# cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

auto ens6f0
iface ens6f0 inet manual

auto ens6f1
iface ens6f1 inet manual

iface ens6f2 inet manual

iface ens6f3 inet manual

auto vmbr0
iface vmbr0 inet static
address 192.168.100.200/24
gateway 192.168.100.1
bridge-ports eno1
bridge-stp off
bridge-fd 0

eigentlich genügend Netzwerk Schnittstellen aber wie kommen die in einen Container?

Ich habe da etwas von Intel gefunden aber das geht über meinen Horizont

also eine Funktionierende KVM Installation schaut so aus
cat /etc/pve/qemu-server/204.conf
bios: ovmf
boot: order=scsi0;ide2;net0
cores: 4
cpu: host
efidisk0: local-lvm:vm-204-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:81:10.0,pcie=1
hostpci1: 0000:81:10.1,pcie=1
ide2: none,media=cdrom
machine: q35
memory: 8192
meta: creation-qemu=7.2.0,ctime=1683463784
name: ipa
net0: e1000=4A:44:A6:68:BC:6B,bridge=vmbr0,firewall=1
numa: 1
onboot: 1
ostype: l26
scsi0: vmhost:vm-204-disk-0,cache=writeback,iothread=1,size=60G
scsihw: virtio-scsi-single
smbios1: uuid=b18268ec-ada3-41b9-9531-38a814323d30
sockets: 1
tpmstate0: local-lvm:vm-204-disk-1,size=4M,version=v2.0
vmgenid: 188a3df8-f7a8-4f17-a66c-26b354c6aeff

und die LXC config
cat /etc/pve/lxc/202.conf
arch: amd64
cores: 4
features: nesting=1
hostname: ns1
memory: 8192
nameserver: 192.168.100.221 194.48.168.32 217.11.58.196
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.100.1,hwaddr=7A:A5:44:DA:09:1D,ip=192.168.100.20
2/24,type=veth
ostype: centos
rootfs: vmhost:subvol-202-disk-0,size=50G
searchdomain: xgjn.xxx.xxx
swap: 512
unprivileged: 1

da müsste man dann die Netzwerkschnittstellen einbauen, aber was kann LXC da alles?
 
eigentlich genügend Netzwerk Schnittstellen aber wie kommen die in einen Container?
Das ist doch gar nicht bei der Virtualisierung gewollt.

löse Dich bitte alles erstes von der realen Hardwareebene.

Da ist ein reales Interface eno1 und eine virtueller Switch vmbr0 damit arbeitest Du jetzt.
Die anderen physischen Netzwerk-Interface sind im Augenblick für Dich nicht interessant!

Bei der Virtualisierung nutzt Du fortan nur das vmbr0 als Zuweisung und spielst damit rum!

Dann legst Du bitte zum spass ein vmbr1 an, ohne es an ein physischen Netzwerk-Interface zu binden und erforscht die Funktion!
Ohne DHCPd müssen nur ALLE Netzwerkeinstellungen per hand gesetzt werden und ein Netzwerk Gate und DNS Server gibt es auch nicht!
Jetzt nimmt man den Host noch dazu und gibt ihm eine IP Netz des virtuellen Switch vmbr1.
Dann könnte man weiter machen mit Packetweiterleitung usw.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!