diff --git a/Dockerfile b/Dockerfile index eae63e1..4dadd32 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,6 +26,7 @@ RUN \ jq \ libc6 \ libelf-dev \ + net-tools \ openresolv \ perl \ pkg-config \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index b47d5e5..f7363da 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -26,6 +26,7 @@ RUN \ jq \ libc6 \ libelf-dev \ + net-tools \ openresolv \ perl \ pkg-config \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index b8fde66..b4dc7bb 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -26,6 +26,7 @@ RUN \ jq \ libc6 \ libelf-dev \ + net-tools \ openresolv \ perl \ pkg-config \ diff --git a/README.md b/README.md index ada4d36..21ba6f8 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **06.10.20:** - Disable CoreDNS in client mode, or if port 53 is already in use in server mode. * **04.10.20:** - Allow to specify a list of names as PEERS and add ALLOWEDIPS environment variable. Also, add peer name/id to each one of the peer sections in wg0.conf. Important: Existing users need to delete `/config/templates/peer.conf` and restart * **27.09.20:** - Cleaning service binding example to have accurate PreDown script. * **06.08.20:** - Replace resolvconf with openresolv due to dns issues when a client based on this image is connected to a server also based on this image. Add IPv6 info to readme. Display kernel version in logs. diff --git a/readme-vars.yml b/readme-vars.yml index 181cfd3..113d121 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -103,6 +103,7 @@ app_setup_block: | # changelog changelogs: + - { date: "06.10.20:", desc: "Disable CoreDNS in client mode, or if port 53 is already in use in server mode." } - { date: "04.10.20:", desc: "Allow to specify a list of names as PEERS and add ALLOWEDIPS environment variable. Also, add peer name/id to each one of the peer sections in wg0.conf. Important: Existing users need to delete `/config/templates/peer.conf` and restart" } - { date: "27.09.20:", desc: "Cleaning service binding example to have accurate PreDown script." } - { date: "06.08.20:", desc: "Replace resolvconf with openresolv due to dns issues when a client based on this image is connected to a server also based on this image. Add IPv6 info to readme. Display kernel version in logs." } diff --git a/root/etc/cont-init.d/30-config b/root/etc/cont-init.d/30-config index 300147f..724d24b 100644 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/cont-init.d/30-config @@ -231,7 +231,7 @@ if [ -n "$PEERS" ]; then fi PEERS_COUNT=$(echo "${#PEERS_ARRAY[@]}") if [ -z "$SERVERURL" ] || [ "$SERVERURL" = "auto" ]; then - SERVERURL=$(curl icanhazip.com) + SERVERURL=$(curl -s icanhazip.com) echo "**** SERVERURL var is either not set or is set to \"auto\", setting external IP to auto detected value of $SERVERURL ****" else echo "**** External server address is set to $SERVERURL ****" @@ -266,11 +266,13 @@ if [ -n "$PEERS" ]; then fi fi else - echo "**** Client mode selected." + echo "**** Client mode selected. ****" if [ ! -f /config/wg0.conf ]; then echo "**** No client conf found. Provide your own client conf as \"/config/wg0.conf\" and restart the container. ****" sleep infinity fi + echo "**** Disabling CoreDNS ****" + rm -rf /etc/services.d/coredns fi # set up CoreDNS diff --git a/root/etc/services.d/coredns/run b/root/etc/services.d/coredns/run index f073c29..5448654 100644 --- a/root/etc/services.d/coredns/run +++ b/root/etc/services.d/coredns/run @@ -2,5 +2,10 @@ cd /config/coredns -exec \ - /app/coredns -dns.port=53 \ No newline at end of file +if netstat -apn | grep -q ":53 "; then + echo "Another service is using port 53, disabling CoreDNS" + sleep infinity +else + exec \ + /app/coredns -dns.port=53 +fi \ No newline at end of file