88 lines
2.3 KiB
Markdown
88 lines
2.3 KiB
Markdown
---
|
||
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
|
||
|
||
<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:
|
||
|
||
<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`.
|