Ubuntu - ufw firewall not working at all

I install this image: Ubuntu Docker 17.12.0~ce on 16.04, in ssh i run sudo ufw status verbose and get:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), allow (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         LIMIT IN    Anywhere                  
2375/tcp                   ALLOW IN    Anywhere                  
2376/tcp                   ALLOW IN    Anywhere                  
22 (v6)                    LIMIT IN    Anywhere (v6)             
2375/tcp (v6)              ALLOW IN    Anywhere (v6)             
2376/tcp (v6)              ALLOW IN    Anywhere (v6)       

Ok to test that this firewall works i run some docker image on port 80 (nginx proxy):

sudo docker run -d -p 80:80 -e ENABLE_IPV6=true -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy:alpine

Theoretically I should be not able to connect to por 80 but when I go to browser and type droplet IP i see nginx screen - this means that firewall ufw NOT WORKS at all (!!!).

When I install pure Ubuntu image (without docker) and manually instal ufw and docker I get similar error.

So what I should do to make UFW firewall works ?

I try this:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

But doesn’t work :(

Above error is very easy to reproduce - may be the ubuntu images are broken?

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Here some good guy give answer:

The root of problem is fact that UFW and DOCKER have CONFLICT in iptables (link1, link2).

Two separate solutions:

  1. Configure Docker to not use iptables

to /etc/default/docker and restart your host (or restart the Docker daemon and UFW).

  1. Drop UFW and instead use Network Firewall available in digital ocean control panel (on website).