本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

上一篇文章我们详细介绍了 macvlan 这种技术,macvlan 详解,由于它高效易配置的特性,被用在了 Docker 的网络方案设计中,这篇文章就来说说这个。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

01 简介

tcpdump 是一款 Linux 平台的抓包工具。它可以抓取涵盖整个 TCP/IP 协议族的数据包,支持针对网络层、协议、主机、端口的过滤,并提供 and、or、not 等逻辑语句来过滤无用的信息。

tcpdump 是一个非常复杂的工具,掌握它的方方面面实属不易,也不推荐,能够用它来解决日常工作问题才是关系。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

01 macvlan 简介

前面的文章讲过了几种 Linux 虚拟网络设备:tap/tun、veth-pair、bridge,它们本质上是 Linux 系统 提供的网络虚拟化解决方案,今天要讲的 macvlan 也是其中的一种,准确说这是一种网卡虚拟化的解决方案。因为 macvlan 这种技术能将 一块物理网卡虚拟成多块虚拟网卡 ,相当于物理网卡施展了 多重影分身之术 ,由一个变多个。

macvlanmulti

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

01 从物理网络到虚拟网络

著名的「六度分隔定理」说到,世界上任何两个互不相识的人,只需要最多六个人就能够建立起联系。这个定理成立的前提就是依托于庞大的网络结构。

在虚拟化技术没出现之前,构成网络的元素都是实体的物理设备,比如交换机、路由器、网线等等,人们想要构建一个小型的局域网自己玩玩,都要买各种设备,成本高还不灵活。虚拟化技术普及之后,云计算开始大行其道,我们在自己的单机上就可以建各种虚拟机,想怎么玩就怎么玩。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

通过之前的文章tap/tun 详解,我们知道 tun 是一个网络层的设备,也被叫做点对点设备,之所以叫这个名字,是因为 tun 常常被用来做隧道通信(tunnel)。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

之前文章有读者留言:

vrouterqa.png

我的回答基本上是一句废话,因为只要你知道点网络的基础知识,肯定知道这种情况要走三层路由。

但知道归知道,不实践永远不知道自己是不是真的知道(有点绕),我相信那位读者也是希望我能讲讲这其中具体是怎么路由的,今天这篇文章就来说说这个。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

前面几篇文章介绍了 tap/tun、veth-pair,今天这篇来看看 Bridge。

Bridge 是什么

同 tap/tun、veth-pair 一样,Bridge 也是一种虚拟网络设备,所以具备虚拟网络设备的所有特性,比如可以配置 IP、MAC 等。

除此之外,Bridge 还是一个交换机,具有交换机所有的功能。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可免费领取,欢迎大家关注,二维码文末可以扫。

前面这篇文章介绍了 tap/tun 设备之后,大家应该对虚拟网络设备有了一定的了解,本文来看另外一种虚拟网络设备 veth-pair。

01 veth-pair 是什么

顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。如下图所示:

veth

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有大量书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。

这篇文章中,我们已经介绍了 tap/tun 的基本原理,本文将介绍如何使用工具 tunctlip tuntap 来创建并使用 tap/tun 设备。

本文首发于我的公众号 「Linux云计算网络」(id: cloud_dev) ,专注于干货分享,号内有大量书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。

在云计算时代,虚拟机和容器已经成为标配。它们背后的网络管理都离不开一样东西,就是虚拟网络设备,或者叫虚拟网卡,tap/tun 就是在云计算时代非常重要的虚拟网络网卡。

tap/tun 是什么

tap/tun 是 Linux 内核 2.4.x 版本之后实现的虚拟网络设备,不同于物理网卡靠硬件网路板卡实现,tap/tun 虚拟网卡完全由软件来实现,功能和硬件实现完全没有差别,它们都属于网络设备,都可以配置 IP,都归 Linux 网络设备管理模块统一管理。