|
@@ -0,0 +1,75 @@
|
|
|
+```
|
|
|
+# Create bridge directly connected to an interface
|
|
|
+# https://docs.docker.com/network/macvlan/#bridge-mode
|
|
|
+# # Docker requires to run its own DHCP,
|
|
|
+# apparently it is not possible to use an existing DHCP server
|
|
|
+# To find a proper subnet: http://www.davidc.net/sites/default/subnets/subnets.html
|
|
|
+# E.g.
|
|
|
+# - The existing DHCP server serves 192.168.178.0/24
|
|
|
+# for the range starting 192.167.167.50 41-46
|
|
|
+
|
|
|
+docker network create -d macvlan -o parent=br0 \
|
|
|
+ --subnet 192.168.178.0/24 \
|
|
|
+ --gateway 192.168.178.1 \
|
|
|
+ --ip-range 192.168.178.40/29 \
|
|
|
+ macvlan
|
|
|
+docker network ls
|
|
|
+
|
|
|
+# IPERF 3
|
|
|
+docker run --rm -d \
|
|
|
+ --network macvlan \
|
|
|
+ --name iperf3-server \
|
|
|
+ --ip 192.168.178.40 \
|
|
|
+ alpine \
|
|
|
+ sh -c \
|
|
|
+ "
|
|
|
+ apk add iperf3 \
|
|
|
+ && ip addr show dev eth0 \
|
|
|
+ && iperf3 -s \
|
|
|
+ "
|
|
|
+
|
|
|
+# IPERF 2
|
|
|
+docker run --rm -d \
|
|
|
+ --network macvlan \
|
|
|
+ --name iperf2-server \
|
|
|
+ --ip 192.168.178.42 \
|
|
|
+ alpine \
|
|
|
+ sh -c \
|
|
|
+ "
|
|
|
+ apk add iperf \
|
|
|
+ && ip addr show dev eth0 \
|
|
|
+ && iperf -s \
|
|
|
+ "
|
|
|
+
|
|
|
+# CLIENT IPERF3
|
|
|
+docker run --rm \
|
|
|
+ --network macvlan \
|
|
|
+ --name iperf3-client \
|
|
|
+ --ip 192.168.178.41 \
|
|
|
+ alpine \
|
|
|
+ sh -c \
|
|
|
+ "
|
|
|
+ apk add iperf3 \
|
|
|
+ && ip addr show dev eth0 \
|
|
|
+ && iperf3 -c 192.168.178.40
|
|
|
+ "
|
|
|
+
|
|
|
+# CLIENT IPERF2
|
|
|
+docker run --rm \
|
|
|
+ --network macvlan \
|
|
|
+ --name iperf3-client \
|
|
|
+ --ip 192.168.178.41 \
|
|
|
+ alpine \
|
|
|
+ sh -c \
|
|
|
+ "
|
|
|
+ apk add iperf \
|
|
|
+ && ip addr show dev eth0 \
|
|
|
+ && iperf -c 192.168.178.42
|
|
|
+ "
|
|
|
+
|
|
|
+
|
|
|
+# Cleanup
|
|
|
+docker kill iperf2-server
|
|
|
+docker kill iperf3-server
|
|
|
+docker network rm macvlan
|
|
|
+```
|