102Firewall - amagerard/Docker GitHub Wiki
Docker/Home
RedHat/Docker.
| 1- Docker | 2- Firewall | 3- Portainer | 4- Drupal | 5- Joomla | 
|---|---|---|---|---|
| 6-Wordpress | 7-Xwiki | 8- Mediawiki | ||
| Casaos | Zimaos | 
2. Firewall.
2.1 Docker firewall.
Docker firewall rules are  before the rules of the ufw firewall.
My solution is not to activate the rules of the Docker firewal.
Docker should not modify iptables.
touch /etc/docker/daemon.json
vi /etc/docker/daemon.json
{  
"iptables": false  
}  
2.2 Remove iptables rules.
Remove iptables rules and open firewall.
iptables -F  
iptables -X  
iptables -Z  
iptables -t nat -F  
iptables -t nat -X  
iptables -t mangle -F  
iptables -t mangle -X  
iptables -t raw -F  
iptables -t raw -X  
iptables -P INPUT ACCEPT  
iptables -P FORWARD ACCEPT  
iptables -P OUTPUT ACCEPT  
2.3 UFW.
Change ufw's default rule for the Forward.
Change DROP by ACCEPT.
vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"  
Restart the docker and ufw services.
systemctl restart docker
ufw enable
Check if net.ipv4.ip_forward = 1.
sysctl net.ipv4.ip_forward
Add these rules to the firewall.
ufw allow in from 172.16.0.0/12 to 172.16.0.12/12  
ufw allow out from 172.16.0.0/12 to 172.16.0.12/12  
2.4 Nat rules.
I need to activate a single iptable rules by network  for postrousting.
I don't want to use ufw's before.rules.
I can write the rule and apply it, but this rule disappears at each reboot of the server.
My solution is to create a file that will start each reboot of the server.
mkdir /opt/docker
touch /opt/docker/postrouting_sh
chmod 700 /opt/docker/postrouting_sh
Edit /etc/crontab  and add in the end.
vi /etc/crontab
#  POSTROUTING  net_xx subnet MASQUERADE  
@reboot root /opt/docker/postrouting_sh  
I would add postrouting rules later.