Created
August 18, 2020 19:32
-
-
Save pedrolamas/db809a2b9112166da4a2dbf8e3a72ae9 to your computer and use it in GitHub Desktop.
Script to fix Docker iptables on Synology NAS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
currentAttempt=0 | |
totalAttempts=10 | |
delay=15 | |
while [ $currentAttempt -lt $totalAttempts ] | |
do | |
currentAttempt=$(( $currentAttempt + 1 )) | |
echo "Attempt $currentAttempt of $totalAttempts..." | |
result=$(iptables-save) | |
if [[ $result =~ "-A DOCKER -i docker0 -j RETURN" ]]; then | |
echo "Docker rules found! Modifying..." | |
iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER | |
iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER | |
echo "Done!" | |
break | |
fi | |
echo "Docker rules not found! Sleeping for $delay seconds..." | |
sleep $delay | |
done |
Could you pass the complete script? I can't get any of the options listed here to work.
#!/bin/bash
currentAttempt=0
totalAttempts=10
delay=15
sleep 60
while [ $currentAttempt -lt $totalAttempts ]
do
currentAttempt=$(( $currentAttempt + 1 ))
echo "Attempt $currentAttempt of $totalAttempts..."
result=$(iptables-save)
if [[ $result =~ "DOCKER-USER" ]]; then
echo "Docker rules found! Modifying..."
iptables -t nat -A PREROUTING ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
#iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER # seems unnecessary
iptables -t nat -A OUTPUT -m addrtype --dst-type LOCAL -j DOCKER
echo "Done!"
break
fi
echo "Docker rules not found! Sleeping for $delay seconds..."
sleep $delay
done
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Could you pass the complete script? I can't get any of the options listed here to work.