Skip to content

Instantly share code, notes, and snippets.

@influx6
Forked from mrclay/flush-iptables.sh
Created December 31, 2022 08:34
Show Gist options
  • Save influx6/aa5f2e1506ff92adafe201d2e0263fbe to your computer and use it in GitHub Desktop.
Save influx6/aa5f2e1506ff92adafe201d2e0263fbe to your computer and use it in GitHub Desktop.
Flush IP tables and restart docker
#!/bin/bash
# Script is needed because my default firewall rules are messed up and after
# every restart, docker containers can't make connections to the host, notably
# preventing debuggers like xdebug from attaching.
# If networking fails in your containers but works in others, rm and re-create the
# docker network that container is bound to.
set -euo pipefail
# Unless docker is stopped with no containers running, docker will leave zombie
# proxy processes that hold the ports open preventing the start of new containers.
# If this happens I have to kill them manually: https://stackoverflow.com/a/61239636/3779
if [ ! $(docker ps | wc -l) == "1" ]; then
echo "Some docker containers are running."
exit 0
fi
sudo service docker stop
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
sudo service docker start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment