首页 > 系统相关 >docker如何利用iptables限制外网访问

docker如何利用iptables限制外网访问

时间:2023-07-26 17:14:03浏览次数:46  
标签:iptables 容器 0.0 访问 USER 172.16 docker DOCKER

先看官网: 点击跳转

如果有问题,也别来问我,我也不懂,下面自己感悟一下,或者有iptables的大佬,欢迎指教

还有什么问题,想咨询的,加群:582337768。 这个群不是我的,但是我在里面,但是还是那句话,我也不懂。

然后开始了, 首先使用DOCKER-USER的chain来进行操作。

DOCKER-USER该chain在ubuntu下面,除非重启服务器,不然就不会被重置。但是在firewalld下面(RHEL项目),由于firewalld会操作到该链,所以需要自己去验证。

容器的限制,主要是限制容器内的端口,而不是限制转发后的端口,可以通过 iptables -L FORWARD -nv 查看,还可以查看 DOCKER 的chain。

# 下面的操作限制的是80端口,而不是8001,其中8001是NAT网络转发出来的,限制不了。
# 启动一个容器,通过网桥映射端口对外
docker run -itd -p 8001:80 nginx
# 自己查看一下容器的网桥的地址断,下面的其实是比较暴力的方式,直接限制了172.16到172.31的网段了
# 拒绝所有请求的访问
iptables -I DOCKER-USER -p all -d 172.16.0.0/12 -j DROP
# 可以加上虚拟网络接口,这样就可以不需要同意 docker0对应的网段了,不然下面还是需要同意一下的
#iptables -I DOCKER-USER ! -i docker0 -d 172.16.0.0/16 -j DROP
# 这个命令就是tcp的连接状态,主要是容器请求外网使用
iptables -I DOCKER-USER -p all -d 172.16.0.0/12 -m state --state RELATED,ESTABLISHED -j ACCEPT
# 允许访问,集群内互通
# 允许docker访问,这里配置12网段,理想情况是  根据现场环境进行配置,默认一般是172.16.0.0/16
iptables -I DOCKER-USER -p all -s 172.16.0.0/12 -j ACCEPT
# 允许IP地址的访问
iptables -I DOCKER-USER -p all -s 192.168.1.12 -j ACCEPT

需要注意一下,如果用compose启动的程序,容器的IP地址和使用的虚拟网桥、网卡设备又变化了,所以可能需要对应的操作修改。

反正要么-d参数指向, 要么用 ! -i br-xxxsdas 的方式。 自己研究一下吧

标签:iptables,容器,0.0,访问,USER,172.16,docker,DOCKER
From: https://www.cnblogs.com/can-H/p/17582929.html

相关文章

  • centos7使用docker安装sentry
    来源:https://www.likecs.com/show-307736478.html 环境:centos7、docker19基础环境需求*Docker17.05.0+*Compose1.23.0+流程:docker安装-->docker-compose安装-->clone项目-->安装sentry-->启动sentry-->访问验证(可以直接查看安装文档 moreonpremise/README.md )1、s......
  • nginx配置IP访问限制策略
    早晨例行巡检的时候,登录zabbix查看网络带宽、服务器负载等信息时,主页弹出了"发生了11次失败的登陆尝试。最后一次失败的登陆尝试发生在2023/06/29日07:19客户端IP地址是45.14.226.17。"这样一条弹窗,查了这个ip地址的归属地,发现这个ip来自于欧洲。这是帝国主义亡我之心......
  • 【docker】Portainer安装配置
    1、官网Welcome-PortainerDocumentation   参考链接:portainer安装,配置,使用-Net码畜-博客园......
  • Ubuntu18.04离线安装cuda,docker和nvidia-docker
    近来接手一个项目,服务器没有外网,还缺少一堆基础工具,离线安装相关依赖十分头疼。在此两篇博客记录一下此次经历。各部件的依赖如下:Nvida-docker需要CUDA驱动,安装CUDA需要GCC编译库,安装GCC需要用到make工具(make非必须)有关GCC依赖与make工具安装,请看另一篇博客。目录1.离线安装......
  • openGauss笔记 - 实现docker安装openGauss,使用Data Studio连接
    openGauss笔记Docker安装openGauss拉取openGauss镜像openGauss5.0.0有企业版和轻量版。轻量版定位是在软硬件资源受限场景下仍可使用openGauss,但是保留了企业版大部分的特性,轻量版通过参数默认关闭的特性:Ustore、Asp、增量检查点、双写、列存、段页式存储等,还有些不支持的特......
  • centeros7 docker安装记录
    centeros7Docker安装记录安装Docker安装必要的系统工具yuminstall-yyum-utilsyuminstall-ydevice-mapper-persistent-datayuminstall-ylvm2添加软件源信息官网提供的软件源速度比较慢,这里使用阿里云的软件源。sudoyum-config-manager--add-repohttp://mirro......
  • 【容器架构】你知道有 Docker 为什么还要 K8s 吗?
    ......
  • iptables
    一、iptables简介iptables是linux自带的一款防火墙工具,它能帮助我们基于规则完成数据包过滤、数据包重定向和网络地址转换功能。   严格的说,iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的”安全框架......
  • centos7 用docker 部署 nacos集群--以mysql持久化--以nginx代理
     创建一个文件夹,把四个配置文件放进去,然后运行:dockercompose-f-dnacos.ymlupmysql-schema.sqlnacos.confnacos.envnacos.yml  mysql-schema.sql内容:/**Copyright1999-2018AlibabaGroupHoldingLtd.**LicensedundertheApacheLicense,Version2.......
  • Docker部署之使用docker-compose部署(全新的干净的服务器,从0开始搭建)
    部署环境准备安装yum#安装yum工具yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2--skip-broken安装dcoker#设置docker镜像源yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed-i's/download.d......