Weave是一个私有的vxlan网络,默认与外部网络隔离。外部网络如何才能访问到weave中的容器呢?
 
    1、将主机加入到weave网络
    2、把主机当做访问weave网络的网关
 
root@host1:~# weave expose    #    将主机加入weave网络
10.32.0.3
root@host1:~# ip addr show weave    #    查看主机上的weave网络信息
9: weave: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UP group default qlen 1000
    link/ether 9a:ac:0e:f3:1a:18 brd ff:ff:ff:ff:ff:ff
    inet 10.32.0.3/12 brd 10.47.255.255 scope global weave
       valid_lft forever preferred_lft forever
    inet6 fe80::98ac:eff:fef3:1a18/64 scope link
       valid_lft forever preferred_lft forever
root@host1:~# ping -c 2 bbox1    #    在主机上无法使用docker dns服务
ping: unknown host bbox1
root@host1:~# ping -c 2 10.32.0.1    #    可以ping通本host上的容器
PING 10.32.0.1 (10.32.0.1) 56(84) bytes of data.
64 bytes from 10.32.0.1: icmp_seq=1 ttl=64 time=0.257 ms
64 bytes from 10.32.0.1: icmp_seq=2 ttl=64 time=0.030 ms
--- 10.32.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.030/0.143/0.257/0.114 ms
root@host1:~# ping -c 2 10.32.0.2    #    可以ping通本host上的容器
PING 10.32.0.2 (10.32.0.2) 56(84) bytes of data.
64 bytes from 10.32.0.2: icmp_seq=1 ttl=64 time=0.232 ms
64 bytes from 10.32.0.2: icmp_seq=2 ttl=64 time=0.040 ms
--- 10.32.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.040/0.136/0.232/0.096 ms
root@host1:~# ping -c 2 10.44.0    #    可以ping通其他host上的容器
PING 10.44.0 (10.44.0.0) 56(84) bytes of data.
64 bytes from 10.44.0.0: icmp_seq=1 ttl=64 time=1.03 ms
64 bytes from 10.44.0.0: icmp_seq=2 ttl=64 time=0.326 ms
--- 10.44.0 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.326/0.680/1.034/0.354 ms
 
 
 
想让非weave主机访问到bbox1、bbox2、bbox3,只需非weave网络的网关指向host1
 
root@host2:~# docker exec bbox3 ip r    #    查看host2上bbox3 IP地址
default via 10.2.44.1 dev eth0
10.2.44.0/24 dev eth0 scope link  src 10.2.44.2
10.32.0.0/12 dev ethwe scope link  src 10.44.0.0
224.0.0.0/4 dev ethwe scope link
root@host2:~# ping -c 2 10.44.0.0    #    在host2上ping bbox3 不通
PING 10.44.0.0 (10.44.0.0) 56(84) bytes of data.
--- 10.44.0.0 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1000ms
 
root@host2:~# route add -net 10.32.0.0/12 gw 10.12.31.211    #    添加到weave网络的路由,网关指向host1
 
root@host2:~# ping -c 2 10.44.0.0    #    测试可以ping通 host2 上的 bbox3
PING 10.44.0.0 (10.44.0.0) 56(84) bytes of data.
64 bytes from 10.44.0.0: icmp_seq=1 ttl=63 time=1.04 ms
64 bytes from 10.44.0.0: icmp_seq=2 ttl=63 time=0.861 ms
--- 10.44.0.0 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.861/0.951/1.042/0.095 ms
root@host2:~# ping -c 2 10.32.0.1    #    测试可以ping通host1 上的 bbox1
PING 10.32.0.1 (10.32.0.1) 56(84) bytes of data.
64 bytes from 10.32.0.1: icmp_seq=1 ttl=63 time=0.349 ms
64 bytes from 10.32.0.1: icmp_seq=2 ttl=63 time=0.229 ms
--- 10.32.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.229/0.289/0.349/0.060 ms
root@host2:~# ping -c 2 10.32.0.2    #    测试可以ping通host1 上的 bbox2
PING 10.32.0.2 (10.32.0.2) 56(84) bytes of data.
64 bytes from 10.32.0.2: icmp_seq=1 ttl=63 time=0.287 ms
64 bytes from 10.32.0.2: icmp_seq=2 ttl=63 time=0.172 ms
--- 10.32.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.172/0.229/0.287/0.059 ms
 
 
IPAM
 
10.32.0.0/12 是weave网络使用的默认 subnet , 如果此地址空间与现有IP冲突,可以通过 --ipalloc-range 分配特定的subnet
 
不过请确保所有host都使用相同的 subnet
 
weave launch --ipalloc-range 10.2.0.0/16
 
 

066、Weave如何与外网通信?(2019-04-09 周二)的更多相关文章

  1. 第 8 章 容器网络 - 066 - Weave 如何与外网通信?

    Weave 与外网通信 weave 是一个私有的 VxLAN 网络,默认与外部网络隔离. 外部网络如果要访问到 weave 中的容器:1.首先将主机加入到 weave 网络.2.然后把主机当作访问 w ...

  2. Weave 如何与外网通信?- 每天5分钟玩转 Docker 容器技术(66)

    上一节我们学习了 Weave 网络内部如何通信,今天讨论 Weave 如何与外界通信. weave 是一个私有的 VxLAN 网络,默认与外部网络隔离.外部网络如何才能访问到 weave 中的容器呢? ...

  3. 64-Weave 如何与外网通信?

    上一节我们学习了 Weave 网络内部如何通信,今天讨论 Weave 如何与外界通信. weave 是一个私有的 VxLAN 网络,默认与外部网络隔离.外部网络如何才能访问到 weave 中的容器呢? ...

  4. 梦想MxWeb3D,三维CAD协同设计平台 2019.04.09更新

    SDK开发包下载地址: http://www.mxdraw.com/ndetail_10140.html 在线演示网址: http://www.mxdraw.com:3000/ 1.  增加上传dwg ...

  5. 2019.04.09 电商24 订单模快 ORM

    前面三个模块已近结束,现在看是订单模块的.想一下淘宝上的订单,在购物车中选中,提交,跳转到订单界面. 获取传过来的信息,那也要建立一个订单表,当我支付的时候,也要获取一些数据,将这些数据放到这个表中 ...

  6. 2019.04.09 电商19 分析carmanage.py

    post(self,request)这个request是干嘛的 有是递归,他调用了那个getcarmanager函数返回的是另一个函数. 这另一个函数负责创建插入数据 def __init__(sel ...

  7. 解决外网与内网或内网之间的通信,NAT穿透

    在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在于NAT.首先介绍下NAT. NAT的作用NAT(Network Address Translato ...

  8. 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法

    前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...

  9. VirtualBox中安装的CentOS开启SSH并设置访问外网

    1.全局设置NAT网络 打开VirtualBox->管理->全局设定 网络->添加按钮->添加一个NAT网络(使用默认的就行,不用改动) 2.设置用来本机于VirtualBox ...

随机推荐

  1. BZOJ 2069: [POI2004]ZAW(Dijkstra + 二进制拆分)

    题意 给定一个有 \(N\) 个点 \(M\) 条边的无向图, 每条无向边 最多只能经过一次 . 对于边 \((u, v)\) , 从 \(u\) 到 \(v\) 的代价为 \(a\) , 从 \(v ...

  2. luogu4602 混合果汁 (主席树)

    按照美味值从大到小排序,对于每个询问,我想二分找到一个前缀来满足条件 那么以单价为下标建主席树,维护区间的最大体积和 以及满足这个最大体积需要的价钱 然后二分答案,再在主席树上二分,找到恰好满足的那个 ...

  3. [JSOI2008]魔兽地图(树形dp)

    DotR (Defense of the Robots) Allstars是一个风靡全球的魔兽地图,他的规则简单与同样流行的地图DotA (Defense of the Ancients) Allst ...

  4. Navicat Premium 12 破解(MySQL、MariaDB、MongoDB、SQL Server、SQLite)

    打开注入到安装目录中的exe中 破解提示(还没好,继续看下去) 如果你安装的是中文版,选一下中文版(英文默认即可),获取一下key(名字和组织可以自定义) 打开Navicat,选择注册(第一次打开选注 ...

  5. Building Microservices with Spring Boot and Apache Thrift. Part 1 with servlet

    https://dzone.com/articles/building-microservices-spring In the modern world of microservices it's i ...

  6. 洛谷P1731 生日蛋糕

    李煜东太神了啊啊啊啊啊! 生日蛋糕,著名搜索神题(还有虫食算). 当年的我30分.... 这哥们的程序0ms... 还有他的树网的核也巨TM神. 疯狂剪枝! DFS(int d, int s, int ...

  7. CF集萃1

    因为cf上一堆水题,每个单独开一篇博客感觉不太好,就直接放一起好了. CF1096D Easy Problem 给定字符串,每个位置删除要代价.求最小代价使之不含子序列"hard" ...

  8. 【洛谷P2042】维护数列

    题目大意:维护一个序列,支持区间插入,区间删除,区间翻转,查询区间元素和,查询区间最大子段和操作. 题解:毒瘤题...QAQ打完这道题发现自己以前学了一个假的 Splay.. 对于区间操作,用 spl ...

  9. FluentScheduler定时器计划任务

    http://www.cnblogs.com/lgxlsm/p/6734011.html 用了FluentScheduler后,再也比想用timer计时器了. FluentScheduler 是 .N ...

  10. 第五节,TensorFlow编程基础案例-session使用(上)

    在第一节中我们已经介绍了一些TensorFlow的编程技巧;第一节,TensorFlow基本用法,但是内容过于偏少,对于TensorFlow的讲解并不多,这一节对之前的内容进行补充,并更加深入了解讲解 ...