docker 多网卡指定网卡出网

前言

宿主机中有多个网卡
ens160 192.168.4.23/20 内网通信用
ens192 10.31.116.128/24 出公网访问-1
ens193 10.31.116.128/24 出公网访问-2

现在需要不同容器中不同出网访问,举例
容器1 192.168.0.1/20 网段走宿主机 ens160网卡,否则全部走ens192 网卡
容器2 192.168.0.1/20 网段走宿主机 ens160网卡,否则全部走ens193 网卡

思路

主要能想到2个办法

  • 硬件: 让ens192、ens193 连接的路由器也连接到192.168.0.1/20 这个网段中,然后设置路由策略,192.168.0.1/20 的请求路由转发,这种方式更高效,但是不知道为啥我ros 一直不成功
  • 软件:centos 自带的iptables 做nat 转换,大哥的帖子给的思路

这里介绍的是软件方法

简单说就是创建一个新的docker net,把不同的容器设置不同的ip,利用iptables 的规则将不同ip走不同的网卡,
比如说
容器1 设置的ip 是 10.10.11.2 ,iptables 如下设置

iptables -t nat -I POSTROUTING -p all -s 10.10.11.2 -j SNAT --to-source 10.31.116.128(指定网卡的地址)

容器1 设置的ip 是 10.10.11.3 ,iptables 如下设置

iptables -t nat -I POSTROUTING -p all -s 10.10.11.3 -j SNAT --to-source 10.32.116.128(指定网卡的地址)

这就解决了出公网,内网差不多

iptables -t nat -I POSTROUTING -p all -d 192.168.0.1/20 -j SNAT --to-source 192.168.4.23(内网网卡地址)

实现

实验环境无三张网卡,我就使用虚拟网卡

ifconfig ens192:1000 10.32.116.128/24

在这里插入图片描述
可以看到两个网卡出网ip 不同的
在这里插入图片描述

docker 新建net

docker network create --subnet 10.10.11.0/24 --gateway 10.10.11.1 hostw

net 映射

iptables -t nat -I POSTROUTING -p all -s 10.10.11.2 -j SNAT --to-source 10.31.116.128
iptables -t nat -I POSTROUTING -p all -s 10.10.11.3 -j SNAT --to-source 10.32.116.128
# 内网访问
iptables -t nat -I POSTROUTING -p all -d 192.168.0.1/20 -j SNAT --to-source 192.168.4.23

启动容器

docker run -d -it --network=hostw --ip=10.10.11.2 --name ce1   centos /bin/bash -c "tail -f /dev/null"
docker run -d -it --network=hostw --ip=10.10.11.3 --name ce2   centos /bin/bash -c "tail -f /dev/null"

最终验证实现效果
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

太速科技-FMC144 -八路 250MSPS 14bit AD FMC子卡

FMC144 -八路 250MSPS 14bit AD FMC子卡 一、板卡概述   FMC144是一款具有8通道模数转换器(ADC)的FMC卡,具有14bit分辨率,最大采样速率达250Msps。时钟配置芯片为AD9516-1,可由板载10MHz时钟提供参考,也可…

STM32人体心电采集系统

资料下载地址:STM32人体心电采集系统 1、项目功能介绍 此项目主要实现了以STM32为核心的人体心电采集系统软硬件的设计。软件设计过程是在STM32上移植的uCGUI做图形界面,并如实显示采集到的心电波形信号,有SD卡存储和USB数据传输功能。 2、实…

Ubuntu20.04安装Prometheus监控系统

环境准备: 服务器名称内网IP公网IPPrometheus服务器192.168.0.23047.119.21.167Grafana服务器192.168.0.23147.119.22.8被监控服务器192.168.0.23247.119.22.82 更改主机名方便辨认 hostnamectl set-hostname prometheus hostnamectl set-hostname grafana hostn…

SAS:quote函数合dhms函数

quote函数 dhms函数 中间停药时的给药日期确定

stm32 No traget connected/debug识别不到串口的问题

关于stm32串口识别不到,第一步先确定是否线接错(stlink与stm32接口对应),如果确认接线没有问题的话,可以使用以下方法,成功率较高。 首先将stlink的boot0置1,就是把跳线帽换到高电平这一侧&…

投标书制作

一、投标书的基本要求l . 帮助与你的标书读者沟通。从这个角度上来讲,标书是一篇针对用户需求的论文,逻辑结构和语言一定要清晰、可读。考虑到评标专家一般都具有较好的学术经验,其中很多还是教授、博导,投标的语言要针对读者的阅…

国产固态光耦在工业照明领域的应用

工业照明作为工厂和生产设施中不可或缺的一部分,其效率和安全性直接影响到生产运行的顺畅性和员工的工作环境。国产固态光耦作为现代工业照明技术的重要组成部分,在提升照明系统效率和安全性方面发挥着关键作用。本文将深入探讨国产固态光耦在工业照明领…

中科驭数第三代DPU芯片K2-Pro,专为数据中心打造的“六边形战士”

近日,中科驭数重磅发布第三代DPU芯片K2-Pro,是国内首颗面向量产的全功能芯片! K2-Pro采用自主研发的Kernel Processing Unit架构,集网络、存储、安全及计算等多业务卸载功能于一体,包处理速率翻倍至80Mpps&#xff0c…

第4章,在 PyCharm 中创建、打开、关闭项目的操作

在 PyCharm 中创建、打开、关闭项目的操作 在PyCharm中创建、打开和关闭项目的操作步骤。以下是每个操作的步骤说明,以及在PyCharm界面中可能对应的区域: 1、创建新项目 1)启动PyCharm: 打开PyCharm IDE。 2)创建新…

餐饮点餐的简单MySQL集合

ER图 模型图(没有进行排序,混乱) DDL和DML /* Navicat MySQL Data TransferSource Server : Mylink Source Server Version : 50726 Source Host : localhost:3306 Source Database : schooldbTarget Server Type …

es学习初步总结

看api看麻了不知道意义在哪里,所以就简单总结点我觉得有用的东西 基本数据结构解析 分为了文档,索引和映射 索引可以理解为一张表,映射描述了索引的数据结构,而文档就是一个个具体的行 所以一般我们需要在申明索引的时候同时申…

游戏录屏怎么录?学会这3个方法,轻松搞定

在数字时代,游戏录屏已成为游戏爱好者们热衷的一项活动。无论是为了记录自己的精彩操作,还是为了分享给朋友或粉丝,游戏录屏都为我们提供了一个全新的视角去欣赏和回味游戏带来的乐趣。 想要录制出精彩的游戏视频,一款好用的游戏…

error: RPC failed: HTTP 413 curl 22 The reguested URL returned error: 413

当你用sourcetree 提交代码 报错 RPC failed: HTTP 413 curl 22 The reguested URL returned error: 413 4731719459468_.pic.jpg 1、修改缓存区大小 git config --global http.postBuffer 524288000 2、如果是自己公司搭建的git ,让人看看服务端有没有限制 3、尝试…

Doris:倒排索引

目录 一、倒排索引介绍 二、倒排索引语法 2.1建表时创建倒排索引 2.2 已有表增加倒排索引 2.3 删除索引 三、使用倒排索引 3.1 创建带有倒排索引的表 3.2 插入数据 3.3利用倒排索引查询 3.4 自定义分词 一、倒排索引介绍 倒排索引,是信息检索领域常用的索…

Node.js实验指南:完善接口服务器

上一章接口服务器,我们实现了一个异常简单的接口服务器。可能很多人会感觉有点不真实的感觉,接口这么简单吗?没错,就这么简单。 我们在真实项目的前后端对接中,调用接口,拿到数据,就是如此而已…

文心一言 VS 讯飞星火 VS chatgpt (291)-- 算法导论21.3 4题

四、假设想要增加一个 PRINT-SET(x) 操作,它是对于给定的结点 x 打印出 x 所在集合的所有成员,顺序可以任意。如何对一棵不相交集合森林的每个结点仅增加一个属性,使得 PRINT-SET(x) 所花费的时间同 x 所在集合元素的个数呈线性关系&#xff…

金顺心贸易有限公司简介

金顺心贸易有限公司成立于2015年,注册地位于风景如画的广西壮族自治区防城港市东兴市。 金顺心贸易如他们的名字一样,有着实实在在的业绩和口碑的。他们专注于国际贸易,主营越南进口食品:果汁饮料、春卷皮、调味品、汤底、米粉、…

定制聚四氟乙烯架子离心管架子消解管样品架

南京瑞尼克定制离心管架子、消解管架子、微波罐架子等,各种实验室所需器皿样品架。 我司聚四氟乙烯架子优势: 1.耐强腐蚀(耐各种强酸强碱和有机溶剂) 2.耐高低温:-200至250℃ 3.工艺精制,尺寸&#xff0…

算法设计与分析--考试真题

分布式算法试题汇总选择题简答题算法题 2013级试题2019级试题2021年秋考卷 根据考试范围找相应题目做。 分布式算法试题汇总 选择题 下述说法错误的是___ A 异步系统中的消息延迟是不确定的 B 分布式算法的消息复杂性是指在所有合法的执行上发送消息总数的最大值 C 在一个异步…

如何实现高精度PCB切割?— 在线式激光切割机解决方案

在线式PCB精密激光切割机是一种专门用于电子行业中印刷电路板(PCB)切割的高精度设备。以下是关于在线式PCB精密激光切割机的详细信息和特点: 1. 工作原理: 在线式PCB精密激光切割机主要通过激光束的高能量密度对PCB板进行瞬时加热…