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. mysql 导入sql 2006 - mysql server has gone away 导入

    解决办法:找到你的mysql目录下的my.ini配置文件,加入以下代码 max_allowed_packet=500M wait_timeout=288000 interactive_timeout ...

  2. 爬虫_糗事百科(scrapy)

    糗事百科scrapy爬虫笔记 1.response是一个'scrapy.http.response.html.HtmlResponse'对象,可以执行xpath,css语法来提取数据 2.提取出来的数 ...

  3. 【BZOJ4911】[SDOI2017]切树游戏(动态dp,FWT)

    [BZOJ4911][SDOI2017]切树游戏(动态dp,FWT) 题面 BZOJ 洛谷 LOJ 题解 首先考虑如何暴力\(dp\),设\(f[i][S]\)表示当前以\(i\)节点为根节点,联通子 ...

  4. 【linux】/dev/null作用和/dev/random

    一.  /dev/null /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容. 我们用file命 ...

  5. hdu 2609 How many(最小表示法)

    Problem Description Give you n ( n < 10000) necklaces ,the length of necklace will not large than ...

  6. 牛客小白月赛12 I (tarjan求割边)

    题目链接:https://ac.nowcoder.com/acm/contest/392/I 题目大意:一个含有n个顶点m条边的图,求经过所有顶点必须要经过的边数. 例: 输入: 5 51 22 33 ...

  7. 【CF1119E】Pavel and Triangles

    题目大意:有 N 种长度的边,第 i 种长度为 \(2^i\),给定一些数量的这些边,问最多可以组合出多少种三角形. 题解:应该是用贪心求解,不过选择什么样的贪心策略很关键. 首先分析可知,两个较大边 ...

  8. pepperoni-app-kit

    ![](https://img2018.cnblogs.com/blog/1037363/201904/1037363-20190408143513171-1129511728.jpg) 哭唧唧,在g ...

  9. Nginx快捷启动配置

    Linux下Nginx开关服务,正常方式是这样({nginx}-为Nginx安装路径): {nginx}/sbin/nginx #启动 {nginx}/sbin/nginx -s stop #停止 这 ...

  10. C regex.h

    C也是存在正则表达式的 Linux下regex.h知识点和使用样例 上文中有一个样例代码,进行了测试 总结一下有些注意点: 1.上述代码的匹配子串很奇怪,为什么会出现 cnt= a very cnt= ...