Правила UFW не работают с докером

8

У меня есть сервер 12.04.4, и я включил UFW, и попытался заблокировать порт 8080. Тем не менее, он все еще открыт.

$ sudo ufw deny 8080
Rule added
Rule added (v6)

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 8080                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    Anywhere (v6)
[ 5] 80                         ALLOW IN    Anywhere (v6)
[ 6] 8080                       DENY IN     Anywhere (v6)

Мысли? Я все еще могу получить доступ к веб-сайту на 8080. Я перезагружал систему несколько раз. IP-адрес обрабатывается статическим назначением, но я не могу найти ничего, что указывало бы на то, что это проблема.

Служба, которую я пытаюсь заблокировать, находится на экземпляре докера, однако этот вопрос не помог.

JRG
источник
Вы хотите оба протокола или это имеет значение? А у вас установлен gufw?
Сет
Я также предполагаю, что вы не работали с iptables.
Сет
@ Система работает только на ipv4, поэтому меня не волнует v6. И нет, нет.
Jrg
Я имел ввиду tcp / udp.
Сет
Мне нужно, чтобы TCP заблокирован, на этом порту нет ничего.
Jrg

Ответы:

4

Шаблон докера, который я использую, предназначен для Discourse. Я решил это, отредактировав containers/app.ymlфайл и включив его в раздел «expose»:

 - "127.0.0.1:20080:80"

Это означает, что он направляет порт 20080 на 127.0.0.1 к порту 80 на экземпляре докера, что полностью устраняет необходимость в правиле ufw.

JRG
источник
1

Я проверял это.

Когда я ввел команду:, sudo ufw deny 80я мог подключиться к себе, но другой хост не смог.

Я предлагаю вам попробовать подключиться с любого другого, кроме вас.

xiaodongjie
источник
Ага, я задавался вопросом, могло ли это быть так.
Сет
Я подключен к серверу на другой стороне страны и успешно получаю доступ к системе из локального веб-браузера.
Jrg