Firewall pro docker machine na Digital Ocean

Povolí komunikaci pouze z vyjmenovaných IP adres. Zvlášť se konfiguruje připojení na hostitelský stroj a zvlášť na docker kontejnery.


#!/bin/bash

# pripojeni na host
iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 77.240.105.185/32 -j ACCEPT
iptables -A INPUT -s 79.98.73.222/32 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP

# pripojeni na dockery
iptables -F DOCKER-USER
iptables -A DOCKER-USER -i eth0 -s 77.240.105.185/32 -j ACCEPT
iptables -A DOCKER-USER -i eth0 -s 79.98.73.222/32 -j ACCEPT
iptables -A DOCKER-USER -i eth0 -j DROP



Defaultní /etc/iptables/rules.v4 :

# Generated by iptables-save v1.8.9 (nf_tables) on Sat Oct 11 12:53:31 2025
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-BRIDGE - [0:0]
:DOCKER-CT - [0:0]
:DOCKER-FORWARD - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-FORWARD
-A DOCKER ! -i docker0 -o docker0 -j DROP
-A DOCKER-BRIDGE -o docker0 -j DOCKER
-A DOCKER-CT -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A DOCKER-FORWARD -j DOCKER-CT
-A DOCKER-FORWARD -j DOCKER-ISOLATION-STAGE-1
-A DOCKER-FORWARD -j DOCKER-BRIDGE
-A DOCKER-FORWARD -i docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
COMMIT
# Completed on Sat Oct 11 12:53:31 2025
# Generated by iptables-save v1.8.9 (nf_tables) on Sat Oct 11 12:53:31 2025
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Sat Oct 11 12:53:31 2025