From e984d79df8c5e8fd7a80bfbd1aa0425042afc74a Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 10 May 2023 03:26:21 +0200 Subject: [PATCH 1/5] Healthcheck --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 357ea4a..a9751e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,6 @@ VOLUME /storage EXPOSE 22 EXPOSE 80 EXPOSE 139 -EXPOSE 443 EXPOSE 445 EXPOSE 5000 @@ -66,6 +65,6 @@ LABEL org.opencontainers.image.version=${VERSION_ARG} LABEL org.opencontainers.image.source=https://github.com/kroese/virtual-dsm/ LABEL org.opencontainers.image.url=https://hub.docker.com/r/kroese/virtual-dsm/ -HEALTHCHECK --interval=30s --retries=2 CMD /run/check.sh +HEALTHCHECK --interval=60s --retries=2 CMD /run/check.sh ENTRYPOINT ["/run/run.sh"] From fa69ff9166dc3955a0967c9507a8cedfd39e3ebe Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 10 May 2023 04:44:13 +0200 Subject: [PATCH 2/5] IP routing --- run/network.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/run/network.sh b/run/network.sh index dd798a5..473ff66 100644 --- a/run/network.sh +++ b/run/network.sh @@ -23,7 +23,6 @@ set -Eeuo pipefail configureDHCP() { VM_NET_VLAN="${VM_NET_TAP}_vlan" - GATEWAY=$(ip r | grep default | awk '{print $3}') NETWORK=$(ip -o route | grep "${VM_NET_DEV}" | grep -v default | awk '{print $1}') IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/) @@ -38,11 +37,9 @@ configureDHCP() { ip address add "${IP}" dev "${VM_NET_VLAN}" ip link set dev "${VM_NET_VLAN}" up - ip route flush dev "${VM_NET_DEV}" ip route flush dev "${VM_NET_VLAN}" - + ip route del "${NETWORK}" dev "${VM_NET_DEV}" ip route add "${NETWORK}" dev "${VM_NET_VLAN}" metric 0 - ip route add default via "${GATEWAY}" { ip link add link "${VM_NET_DEV}" name "${VM_NET_TAP}" address "${VM_NET_MAC}" type macvtap mode bridge ; rc=$?; } || : From 3a41f2dda0c91b95af25215b231e1f7a1092bd57 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 10 May 2023 05:48:46 +0200 Subject: [PATCH 3/5] IP routing --- run/network.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/run/network.sh b/run/network.sh index 473ff66..12e7d02 100644 --- a/run/network.sh +++ b/run/network.sh @@ -27,6 +27,8 @@ configureDHCP() { IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/) [[ "${DEBUG}" == [Yy1]* ]] && set -x + + # Create a macvlan network to allow for communication between the host and the VM guest { ip link add link "${VM_NET_DEV}" "${VM_NET_VLAN}" type macvlan mode bridge ; rc=$?; } || : if (( rc != 0 )); then @@ -41,6 +43,7 @@ configureDHCP() { ip route del "${NETWORK}" dev "${VM_NET_DEV}" ip route add "${NETWORK}" dev "${VM_NET_VLAN}" metric 0 + # Create a macvtap network for the VM guest { ip link add link "${VM_NET_DEV}" name "${VM_NET_TAP}" address "${VM_NET_MAC}" type macvtap mode bridge ; rc=$?; } || : if (( rc != 0 )); then @@ -50,9 +53,6 @@ configureDHCP() { ip link set "${VM_NET_TAP}" up - ip address flush "${VM_NET_DEV}" - ip address flush "${VM_NET_TAP}" - { set +x; } 2>/dev/null TAP_NR=$(/dev/null [[ "${DEBUG}" == [Yy1]* ]] && echo - #Check port forwarding flag + # Check port forwarding flag if [[ $(< /proc/sys/net/ipv4/ip_forward) -eq 0 ]]; then { sysctl -w net.ipv4.ip_forward=1 ; rc=$?; } || : if (( rc != 0 )); then From 600aa38aa8089af6a6409822b8760ce3def87fc6 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 10 May 2023 12:41:27 +0200 Subject: [PATCH 4/5] IP routing --- run/network.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/run/network.sh b/run/network.sh index 12e7d02..f8e17ae 100644 --- a/run/network.sh +++ b/run/network.sh @@ -39,10 +39,12 @@ configureDHCP() { ip address add "${IP}" dev "${VM_NET_VLAN}" ip link set dev "${VM_NET_VLAN}" up + ip route flush dev "${VM_NET_DEV}" ip route flush dev "${VM_NET_VLAN}" - ip route del "${NETWORK}" dev "${VM_NET_DEV}" - ip route add "${NETWORK}" dev "${VM_NET_VLAN}" metric 0 + ip route add "${NETWORK}" dev "${VM_NET_VLAN}" metric 0 + ip route add default via "${GATEWAY}" + # Create a macvtap network for the VM guest { ip link add link "${VM_NET_DEV}" name "${VM_NET_TAP}" address "${VM_NET_MAC}" type macvtap mode bridge ; rc=$?; } || : From 80f7dc5b713301ce23fdb407856275fbce023b96 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 10 May 2023 12:42:54 +0200 Subject: [PATCH 5/5] IP routing --- run/network.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run/network.sh b/run/network.sh index f8e17ae..4a54c48 100644 --- a/run/network.sh +++ b/run/network.sh @@ -23,6 +23,7 @@ set -Eeuo pipefail configureDHCP() { VM_NET_VLAN="${VM_NET_TAP}_vlan" + GATEWAY=$(ip r | grep default | awk '{print $3}') NETWORK=$(ip -o route | grep "${VM_NET_DEV}" | grep -v default | awk '{print $1}') IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/)