欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker端口不受ufw防火墻限制問題及解決過程

 更新時間:2025年09月16日 09:51:29   作者:子受  
Docker與UFW因iptables兼容性導(dǎo)致端口未被正確過濾,通過修改UFW的after.rules文件,添加針對容器IP和端口的規(guī)則,并重啟UFW或服務(wù)器,可使UFW規(guī)則生效,僅允許特定容器端口被外部訪問

官方說明

(ufw) 是 Debian 和 Ubuntu 附帶的前端,它允許您管理防火墻規(guī)則。 Docker 和 ufw 使用 iptables 的方式使它們彼此不兼容。

當您使用 Docker 發(fā)布容器的端口時,進出該容器的流量在通過 ufw 防火墻設(shè)置之前會被轉(zhuǎn)移。

Docker 在表中路由容器流量nat,這意味著數(shù)據(jù)包在到達ufw 使用的鏈INPUT之前會被轉(zhuǎn)移。

OUTPUT數(shù)據(jù)包在應(yīng)用防火墻規(guī)則之前進行路由,從而有效地忽略您的防火墻配置。

現(xiàn)在的問題是需要ufw防火墻生效,盡可能少的修改docker網(wǎng)絡(luò)。

下面是解決方法

修改UFW配置文件

修改 UFW 的配置文件 /etc/ufw/after.rules,在最后添加上如下規(guī)則:

# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward

-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.16.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16

-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN

-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.16.0.0/12
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.16.0.0/12

-A DOCKER-USER -j RETURN

-A ufw-docker-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW DOCKER BLOCK] "
-A ufw-docker-logging-deny -j DROP

COMMIT
# END UFW AND DOCKER

然后重啟UFW,不生效則重啟服務(wù)器

sudo systemctl restart ufw

現(xiàn)在外部就已經(jīng)無法訪問 Docker 發(fā)布出來的任何端口了

假設(shè)現(xiàn)在我有如下容器

  • 容器1 端口映射:8081:8080 docker內(nèi)部IP地址:172.17.0.1
  • 容器2 端口映射:8082:8080 docker內(nèi)部IP地址:172.17.0.2
  • 容器3 端口映射:8083:8085 docker內(nèi)部IP地址:172.17.0.3

允許訪問端口

ufw route allow 8080

這兒8080是容器內(nèi)部的端口,而不是映射出的docker端口,執(zhí)行這個規(guī)則后,容器1和容器2都能被外部訪問。

ufw route allow 8085

執(zhí)行這個規(guī)則后,只有容器3都能被外部訪問。

想要只有容器1被外部訪問

ufw route allow from any to 172.17.0.1 port 8080

容器具體的IP地址可以通過下面的命令獲得

docker network inspect bridge

可以在輸出中找到容器的ip地址,如果使用了自定義網(wǎng)絡(luò),而不是默認的bridge網(wǎng)絡(luò),將bridge更換為自定義網(wǎng)絡(luò)名。

參考文檔

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker垃圾清理方式

    docker垃圾清理方式

    文章主要介紹了如何刪除Docker鏡像和容器、清理Docker磁盤空間以及配置Docker日志大小,通過這些方法可以有效地管理Docker資源,避免磁盤空間不足的問題
    2025-03-03
  • Docker如何同時啟動多個服務(wù)

    Docker如何同時啟動多個服務(wù)

    這篇文章主要為大家詳細介紹了Docker如何同時啟動多個服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • docker images本地遷移的實現(xiàn)

    docker images本地遷移的實現(xiàn)

    這篇文章主要介紹了docker images本地遷移的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker 特性與原理詳細介紹與解析

    Docker 特性與原理詳細介紹與解析

    這篇文章主要介紹了Docker 特性與原理的相關(guān)資料,大家在了解基本命令和基本知識后,來看下原理性的通信,需要的朋友可以參考下
    2016-10-10
  • 滾動 docker 中的 nginx 日志思路詳解

    滾動 docker 中的 nginx 日志思路詳解

    Nginx 自己沒有處理日志的滾動問題,本文筆者介紹如何滾動運行在 docker 中的 nginx 日志文件,感興趣的朋友一起看看吧
    2018-08-08
  • Docker安全開放遠程訪問連接權(quán)限方式

    Docker安全開放遠程訪問連接權(quán)限方式

    文章介紹了如何配置Docker以實現(xiàn)遠程訪問、開啟認證和通信加密,包括生成證書和私鑰、配置Docker守護進程以及在IDEA和Maven中連接Docker服務(wù)的方法
    2024-11-11
  • Vue.js中的watch屬性詳解

    Vue.js中的watch屬性詳解

    在Vue.js中,watch屬性是一種非常重要的屬性,它可以監(jiān)聽Vue實例中指定的數(shù)據(jù)變化,并在數(shù)據(jù)發(fā)生變化時執(zhí)行相應(yīng)的操作,本文將對 Vue.js中的watch屬性進行詳細的介紹,并附上相關(guān)的代碼示例,需要的朋友可以參考下
    2023-06-06
  • Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    本文主要介紹了Docker拉取鏡像過慢或卡死的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker 部署Scrapy的詳解

    Docker 部署Scrapy的詳解

    這篇文章主要介紹了Docker 部署Scrapy的詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Docker配置容器開機自啟或服務(wù)重啟后自啟兩種常見方法

    Docker配置容器開機自啟或服務(wù)重啟后自啟兩種常見方法

    Docker容器自啟動是指在系統(tǒng)啟動時自動啟動并運行指定的Docker容器,這通常用于確保關(guān)鍵服務(wù)始終可用,無需手動干預(yù),這篇文章主要介紹了Docker配置容器開機自啟或服務(wù)重啟后自啟的?兩種常見方法,需要的朋友可以參考下
    2025-08-08

最新評論