Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402048
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 872
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-29 14:38
个人简介

默默的一块石头

文章分类

全部博文(124)

文章存档

2022年(26)

2021年(10)

2020年(28)

2019年(60)

我的朋友

分类: LINUX

2022-07-01 14:26:51

路由器(Route)


路由器主要是实现不同网段的互联互通。
结合下图的意义就是:让192.168.1.1与192.168.2.1网段实现互联互通。

IPVLAN L3


ipvlan 有点像路由器的功能,它在各个虚拟网络和主机网络之间进行不同网络报文的路由转发工作。只要父接口相同,即使虚拟机/容器不在同一个网络,也可以互相ping通对方因为ipvlan会在中间做报文的转发工作。


接下来根据上面的图来进行,先删除原有的网络空间,执行如下命令:

  1. ip netns delete net1
  2. ip netns delete net2


接下来的步骤与二相似

  1. # 创建网络空间
  2. ip netns add net1
  3. ip netns add net2
  4. # 创建子接口
  5. ip link add ipvlan1 link ens32 type ipvlan mode l3
  6. ip link add ipvlan2 link ens32 type ipvlan mode l3
  7. # 关联ipvlan l3与vm上的网络空间
  8. ip link set ipvlan1 netns net1
  9. ip link set ipvlan2 netns net2
  10. # 设置不同网段
  11. ip netns exec net1 ifconfig ipvlan1 192.168.10.135/24 up
  12. ip netns exec net2 ifconfig ipvlan2 192.168.20.136/24 up
  13. # 测试一下二则是否ping得通
  14. ip netns exec net1 ping 192.168.20.136


我们发现它并ping不通,因为网段不一样,而且我们来看看net1的路由信息。
我们会很轻容易的发现,它只有到192.168.10.0的路由,并没有到192.168.20.0的路由


从这里我们就发现一个ipvlan l3的缺陷:
路由器它是具有自己学习路由的能力的,比如自己找到哪些网段可以连接上。
而ipvlan l3 需要自己手动添加路由。

  1. # net1添加192.168.20.0目的地,路由从ipvlan1子接口出去
  2. ip netns exec net1 route add -net 192.168.20.0/24 dev ipvlan1
  3. # net2添加192.168.10.0目的地,路由从ipvlan2子接口出去
  4. ip netns exec net2 route add -net 192.168.10.0/24 dev ipvlan2


最后我们再来测试一下是否ping得通。


from:https://www.tnblog.net/hb/article/details/6279
阅读(654) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~