如何使docker不要将子网用作桥接网络或添加路由异常

weixin_38107858 2019-09-12 01:13:04
我有一个docker主机(CentOs7),我正在运行多个dockerized应用程序,将来会有更多.我有一个外部服务的问题,我需要从主机访问,使用172.18.100.101地址. Docker自动为其创建的桥接网络分配子网,172.18.x,172.19.x等: Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.x.x.x 0.0.0.0 UG 0 0 0 eth0 172.17.1.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0a7f3df38b5c 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-636432c82f83 我看到的选项:1.告诉Docker不要将172.18.0.0子网用于网桥.我不认为这在码头工作中是可能的.2.对于每个docker容器,我可以开始指定一个子网 – 但这会变得非常有问题,因为你需要确保它们不会发生冲突,而且docker-compose.yml文件是在主机之间共享的,所以这是一个管理噩梦.3.尝试以不同方式在主机上路由所需的ip(172.18.100.101) – 而172.18.0.0子网仍在那里.我不确定这是否可行.我已尝试添加路由,但没有帮助,可能是因为它在172.18.0.0规则之后而不是之前添加. $sudo route add -host 172.18.100.101 dev eth0 Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.x.x.x 0.0.0.0 UG 0 0 0 eth0 172.17.1.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0a7f3dfsudo ip route show to match 172.18.198.12038b5c 172.18.100.101 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-636432c82f83 有任何想法吗?我想问题是如何为选择ip(或子网)添加“异常”路由,并确保它在主规则之前应用. 编辑(2018-06-21):问题不在于尝试连接Docker容器中的服务.我的问题是在我的网络上有一个服务(在不同的服务器上,不是由我拥有/控制)与ip 172.18.100.101,但我无法从该主机连接到此服务,因为在此主机上Docker自动分配172.18 .0.0范围到它创建的桥接网络,因此任何连接尝试172.18.100.101都会被发送到桥接器创建的Docker而不是该外部主机.
...全文
75 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38112450 2019-09-12
  • 打赏
  • 举报
回复
Docker桥接网络只是配置网络的众多选项之一. Docker network documentation列出了许多可用于与容器通信的网络插件. 如果您只需要连接到Docker容器中的服务,那么弄乱网络有点过分,因为您可以在连接到Docker端口的主机上打开服务端口. Docker调用此“发布端口”,并在docker run命令中使用标志–publish或-p.不需要直接连接到Docker容器. 但是,如果你想直接连接到容器,Docker肯定会让你配置它. 编辑:我误解了最初的问题是关于主机路由. 关于主机路由,Docker确实允许您更改它使用的网络范围.如果您使用docker创建网络,you can configure the docker0 interface到您想要的任何范围,请确保选择当前未在网络上使用的网络. 如果使用docker-compose创建网络,则需要在该项目的docker-compose.yml文件中配置网络范围.
MikroTik RouterOS是一种路由操作系统,并通过该软件将标准的PC电脑变成专业路由器,在软件RouterOS 软路由图的开发和应用上不断的更新和发展,软件经历了多次更新和改进,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,其极高的性价比,受到许多网络人士的青睐。 桥接功能   RouterOS能将多张网卡组建为一个桥模式,使路由器变成一个透明的桥设备,同样也实行三层交换的作用,MAC层的以太网桥、EoIP 、Prism、Atheros和RadioLAN 等都是支持的。所有802.11b和802.11a 客户端的无线网卡(如station模式的无线)受802.11 的限制无法支持桥模式,但可以通过EoIP协议的桥接方式实现。   为防止环路出现在网络中,可以使用生成树协议(STP) ,这个协议同样使冗余线路成为可能。   包括特征如下:   l 生成树协议(STP)   l 多桥接接口功能   l 该协议能选择转发或者丢弃   l 能实时监控MAC地址   l 桥防火墙   l 多线路支持   RouterOS基于策略的路由网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。   在负载均衡下也可以根据带宽的比例调整两条线路的流量。RouterOS提供了多种方式的路由功能,使其路由功能更强大,更灵活。RouterOS的路由功能主要为:   l 基于源地址的路由   l 基于目标地址的路由   l 基于端口的路由   l 基于定义用户类的路由   l 基于负载均衡的路由   l 基于端口的负载均衡   l 隧道协议   RouterOS支持多种隧道协议如PPP、PPPoE、PPTP、EoIP、IPIP以及IPsec,这些隧道协议可以为远程资源访问和企业间的连接提供很好的解决方案,如:   l 通过PPTP或IPIP实现通网络资源互用   l EoIP或PPTP的远程局域网解决方案   l 支持PPPoE服务器   l Hotspot热点认证服务   热点服务认证系统是一种web的认证方式,在此种认证方式中,用户可以通过自设IP地址或DHCP获得一个地址,打开浏览器,无论输入一个什么地址,都会被强制到一个认证界面,要求用户进行认证,认证通过后,就可以访问其他站点了。主要特征:   l 用户通过时间与流量认证计费   l Cookie (存储用户的账号和密码) 带宽控制功能   l 定额控制(连接超时时间, 下载/上传传输限制)   l 实时用户状态信息显示   l 自定义认证HTML页(可以由你自己设计认证页)   l DHCP服务器分配IP地址   l 简单的RAIUS客户端配置   l RouterOS 能与PPTP隧道、IPsec以及其它的一些功能配合使用。   l 可以通过Access Point与以太网接入用户。   l 定时广播指定的URL链接   l 脚本控制   RouterOS提供了可以编写的脚本功能,脚本的加入使RouterOS在处理很多网络方案、自动检查故障和动态生成策略等,都可以通过脚本很好的解决。使得在处理很多网络问题上更加的灵活和智能化。   具体功能:   TCP/IP协议组:   l Firewall和NAT–包状态过滤;P2P协议过滤;源和目标NAT;对源MAC、IP地址、端口、IP协议、协议(ICMP、TCP、MSS等)、接口、对内部的数据包和连接作标记、ToS 字节、内容过滤、顺序优先与数据频繁和时间控制、包长度控制...   l 路由 – 静态路由;多线路平衡路由;基于策略的路由(在防火墙中分类); RIP v1 / v2, OSPF v2, BGP v4   l 数据流控制 – 能对每个IP、协议、子网、端口、防火墙标记做流量控制;支持PCQ, RED, SFQ, FIFO对列; Peer-to-Peer协议限制   l HotSpot – HotSpot认证网关支持RADIUS验证和记录;用户可用即插即用访问网络;流量控制功能;具备防火墙功能;实时信息状态显示;自定义HTML登录页;支持iPass;支持SSL安全验证;支持广告功能。   l 点对点隧道协议 – 支持PPTP, PPPoE和L2TP访问控制和客户端; 支持PAP, CHAP, MSCHAPv1和MSCHAPv2 验证协议; 支持RADIUS验证和记录;MPPE加密;PPPoE压缩;数据流控制;具备防火墙功能;支持PPPoE按需拨号。   l 简单隧道 – IPIP隧道、EoIP隧道 (Ethernet over IP)   l IPsec – 支持IP安全加密AH和ESP协议;  

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧