brain/03 Bereiche/Heimnetz/Server/MACVLAN für Docker anlegen.md

88 lines
2.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags:
- upnote-import
---
# MACVLAN für Docker anlegen
# Docker-Container ins Host-Netzwerk einbinden
Unter Linux allgemein heißt der Netzwerk-Adapter „eth0“, aber auf dem Synology NAS muss „ovs\_eth0“ verwendet werden:
```
sudo docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.0/20 -o parent=ovs_eth0 -o macvlan_mode=bridge kbnet
```
Netzwerk in Docker-Compose benutzen
```
services:
xxx:
networks:
kbnet:
ipv4_address: 192.168.178.2
networks:
kbnet:
external:
name: kbnet
```
## Quellen
[https://github.com/MightyDetail/youtube/wiki/Docker#macvlan](https://github.com/MightyDetail/youtube/wiki/Docker#macvlan)
[https://www.youtube.com/watch?v=cwewnHnZmzA](https://www.youtube.com/watch?v=cwewnHnZmzA)
# In Kombination mit VLANs
![](..\..\files\019a06b6-de6a-715d-a519-877581a1e4b0.png)<br>
LAN 1 = SERVER = ovs\_eth0
LAN 2 = DOCKER\_NAS = ovs\_eth1
[Chat mit GPT](https://chatgpt.com/c/68f672a6-0748-8329-9e76-003ee9d8b03b)
DHCP-Range im VLAN ist 3 - 128:
![](..\..\files\019a06cf-a296-7430-97ea-4b3a2cc7f817.png)<br>
Range für den Docker-Host 151-250
```
sudo docker network create -d macvlan \
--subnet=10.40.10.0/24 \
--gateway=10.40.10.1 \
--ip-range=10.40.10.151/25 \
-o parent=ovs_eth1 \
docker_macvlan
```
### 🔍 Was passiert hier genau?
#### 1. `--subnet=10.40.10.0/24`
→ Definiert das **gesamte Layer-3-Netz**, also alle möglichen IPs von
`10.40.10.1` bis `10.40.10.254`.
#### 2. `--gateway=10.40.10.1`
→ Gibt an, welche IP als **Standard-Gateway** im Netzwerk verwendet wird (z. B. OPNsense oder Router).
#### 3. `--ip-range=10.40.10.151/25`
→ Das ist **entscheidend**: Docker nutzt **nur Adressen aus diesem Bereich**, um Containern automatisch IPs zuzuweisen.
Aber dein `/25` bedeutet:
- **Start:** 10.40.10.128
- **Ende:** 10.40.10.255
- Wenn du mit `/25` startest **ab 10.40.10.151**, dann schneidest du den Bereich technisch mitten durch.
> ⚠️ Wichtig: Docker interpretiert `--ip-range` nicht als “Start-IP + Prefix”,
> sondern als **Subnetzdefinition**.
Das heißt:
`10.40.10.151/25` wird interpretiert als das Netz `10.40.10.128/25`,
also IPs von `10.40.10.129` bis `10.40.10.254`.