Wie erstelle ich eine Bridge-Schnittstelle auf einem Himbeer-Pi?

714
cat pants

Ich brauche eine Bridge-Schnittstelle, damit das LXC-Netzwerk funktioniert. Normalerweise mache ich einfach so etwas:

auto br0 iface br0 inet dhcp bridge_ports eth0 

Raspbian verwendet dhcpcd.

Wie erstelle ich eine Brücke auf einem RPI?

Vielen Dank!

0
Sie fragen, wie Sie eine neue Brücke ohne IP oder mit einer manuellen IP einrichten können? LawrenceC vor 6 Jahren 0
Welche Version von Raspbian laufen Sie? Alex vor 6 Jahren 0
Auf jeden Fall kann ich mit der dhcp / statischen Seite der Dinge umgehen. Im Allgemeinen bevorzugt statisch, aber gelegentlich dhcp. Ich kann dhcpcd für beide konfigurieren, ich finde keine Dokumente beim Erstellen von br0. cat pants vor 6 Jahren 0
Stretch 2018-06-27 cat pants vor 6 Jahren 0

1 Antwort auf die Frage

0
Alex

Auf Debian Stretch können Sie LXC folgendermaßen einrichten:

(Es wird empfohlen, die Container vom eigenen Netzwerk zu trennen.)

1

apt install --no-install-recommends lxc libvirt-clients debootstrap libpam-cgfs lxcfs uidmap bridge-utils dnsmasq-base 

dnsmasq wird als DHCP für LXC-Container / Jails in 10.0.55.0/24 net verwendet

Prüfen Sie, ob alles fertig ist:

lxc-checkconfig 

Wenn einige Datensätze nicht als "aktiviert" angezeigt werden reboot

2

echo 'veth' >> /etc/modules 

3.

insmod /lib/modules/$(uname -r)/kernel/drivers/net/veth.ko 

4

echo ' ### adjust and apply echo 'USE_LXC_BRIDGE="true" LXC_BRIDGE="lxcbr0" LXC_BRIDGE_MAC="02:01:02:03:04:05" LXC_ADDR="10.0.55.1" LXC_NETMASK="255.255.255.0" LXC_NETWORK="10.0.55.0/24" LXC_DHCP_RANGE="10.0.55.100,10.0.55.199" LXC_DHCP_MAX="100" LXC_DHCP_CONFILE="" LXC_DOMAIN="" ' >> /etc/default/lxc-net 

Mit dieser Konfiguration können Sie statische IPs für Jails von 10.0.55.2-99 verwenden, andere werden IP von DHCP auswählen

5

Weiterleitung zulassen:

echo ' # For LXC net.ipv4.ip_forward=1 ' >> /etc/sysctl.conf sysctl -p systemctl restart lxc-net.service 

6

##### Add to firewall rules and apply -A FORWARD -d 10.0.55.0/24 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 10.0.55.0/24 -j ACCEPT -A INPUT -d 224.0.0.251 -s 10.0.55.1 -j ACCEPT -A INPUT -d 10.0.10.255 -s 10.0.10.1 -j ACCEPT -A INPUT -d 10.0.10.1 -s 10.0.10.0/24 -j ACCEPT 

7.

Host konfigurieren

echo "kernel.unprivileged_userns_clone=1" > /etc/sysctl.d/80-lxc-userns.conf sysctl --system 

8

Konfigurieren Sie Subuids und Subgids für Benutzer, die LXC ausführen

 USER=UserThatRunsLXC # <- change subuids=$(cat /etc/s*id|grep $USER) [ -z "$" ] && { usermod --add-subuids 1258512-1324047 $USER usermod --add-subgids 1258512-1324047 $USER }  echo "$USER veth lxcbr0 10"| tee -i /etc/lxc/lxc-usernet 

Wenn Sie eine Fehlermeldung erhalten haben: "Berechtigung abgelehnt - Konnte auf /home/$USER/.local nicht zugreifen" setfacl -m u:1258512:x . .local .local/share

9

Konfigurieren Sie die Standardvorlage für alle zukünftigen nicht privilegierten LXC-Container. NICHT ändern xx.xx.xx.xx, dies ist eine MAC-Adressvorlage, die automatisch generiert wird

cd /var/lib/lxc mkdir -p .config/lxc  echo \ 'lxc.include = /etc/lxc/default.conf # Subuids and subgids mapping lxc.id_map = u 0 1258512 65536 lxc.id_map = g 0 1258512 65536 # Be careful with next option to avoid security issue or lost of data lxc.mount.auto = proc:mixed sys:ro cgroup:mixed   # Network configuration lxc.network.type = veth lxc.network.link = lxcbr0 lxc.network.flags = up lxc.network.hwaddr = 0A:FF:xx:xx:xx:xx' >.config/lxc/default.conf 

10

Erstellen Sie schließlich ein Gefängnis (passen Sie sich Ihren Bedürfnissen an):

Distributive=alpine lxc-create -n NameOfyourJail -t $ -- -r sid -a amd64 

PS
Wenn Sie eine Host-Shared-Bridge anstelle eines NAT-ed-Netzwerks für Container verwenden möchten, können Sie diese Link- Host-Einrichtung als Bridge verfolgen

Ich weiß das zu schätzen, aber ich möchte kein NAT verwenden ... Ich möchte, dass meine Container ips in mein Netzwerk bekommen, genau wie meine x86-Systeme, auf denen LXC ausgeführt wird. Vielen Dank! cat pants vor 6 Jahren 0
Überprüfen Sie den Link, den ich gerade in post scriptum hinzugefügt habe, wie Sie eine Host-Shared Bridge einrichten Alex vor 6 Jahren 0