【华为云技术分享】《跟唐老师学习云网络》 - TUN/TAP网线

本文解析了TUN/TAP设备在Linux系统中的概念及其与Veth-pair的主要区别,强调其在连接VM与主机网络中的关键作用。通过实例说明了如何利用ip命令添加TUN/TAP设备,并提及了LinuxBridge在网络管理和容器通信中的应用。

介绍TUN/TAP设备的概念和常见作用(即打通VM和Host间的网络),以及和Veth-pair网线的区别。这一节内部比较简单,因为主要内容已经在Veth网线里面讲了。

什么是TUN/TAP

TUN/TAP是Linux中一种虚拟出来的网络设备,简单说,它也是一种“网线”,只是这种网线和Veth牌网线有点不同。Veth网线的2头是一样的,都是水晶头。TUN/TAP网线的2头长得不一样,一头是水晶头,另一头是USB的。

image.png

稍正式一点的描述,它是一种用户空间和内核空间传输报文用的网线。一头是普通的网卡,跟eth0一样,Host主机可以用;另一头则是一个文件描述符,给用户空间的程序用的。

image.png

大家都知道一个VM本质上是一个qemu进程,所以其实TUN/TAP网线大多都是给VM用的。即上图的右边其实就是VM啦,它里面看到的eth0就是虚拟出来的。

于是你跟Veth网线一样的去理解就行了,那么Host主机网络模型也类似:

image.png

 如果要添加TUNTAP网卡,还是使用咱们的ip命令。

image.png

ip tuntap add tap0 mode tap

这样就可以用的app程序,去open文件句柄“/dev/net/tun”了,发送&接收报文了。

那当你需要将你创建的这些VM连接起来组成局域网,或者与外界(主机外部)通信时,就需要用上Linux Bridge了。

image.png

Docker容器也是这样,如果希望将很多容器按组管理,或者容器连通外网,也会需要使用Linux Bridge(上图的 br0)。这个咱们下节课讲.

作者:tsjsdbd

在华为私有云(如华为云Stack,HCS)环境中,vRouter 是一个关键的网络组件,主要负责虚拟私有云(VPC)内的三层网络转发功能。它与传统物理路由器类似,但完全基于软件实现,能够在虚拟化环境中提供灵活的网络路由能力。vRouter 通常部署在计算节点上,用于实现子网间的路由、NAT(网络地址转换)、安全策略以及与外部网络的连接。 ### vRouter 的功能特性 - **三层转发**:vRouter 负责不同子网之间的 IP 数据包转发,支持跨子网通信。每个 VPC 对应一个 vRouter,多个子网可以绑定到同一个 vRouter 上以实现互通。 - **NAT 服务**:vRouter 支持 SNAT(源地址转换)和 DNAT(目的地址转换),允许虚拟机通过共享公网 IP 访问外部网络或被外部网络访问。 - **安全策略**:vRouter 可以集成安全组和访问控制列表(ACL),用于限制进出子网的流量,增强网络安全。 - **VPC 互联**:vRouter 还支持与对等 VPC 的连接,实现跨 VPC 的通信。 ### vRouter 的配置指南 #### 1. 创建 vRouter 在华为私有云中,通常通过管理控制台或 API 创建 vRouter,并将其与特定的 VPC 关联。 ```bash # 示例命令(OpenStack CLI)创建 vRouter openstack router create <router-name> ``` #### 2. 绑定子网到 vRouter 创建完成后,需要将子网(subnet)绑定到 vRouter 上,以便实现子网间的路由。 ```bash # 示例命令将子网绑定到 vRouter openstack router add subnet <router-name> <subnet-name> ``` #### 3. 设置网关 为 vRouter 设置外部网关,使其能够访问外部网络或提供公网访问能力。 ```bash # 示例命令设置外部网关 openstack router set --external-gateway <external-network-name> <router-name> ``` #### 4. 配置 NAT 规则 如果需要虚拟机访问公网或被公网访问,需配置 SNAT 或 DNAT 规则。 ```bash # 示例命令启用 SNAT openstack router set --enable-snat <router-name> ``` #### 5. 查看 vRouter 状态 可以通过命令行或控制台查看 vRouter 的运行状态及绑定信息。 ```bash # 查看 vRouter 详细信息 openstack router show <router-name> ``` ### vRouter 的网络拓扑 在华为私有云的网络架构中,vRouter 通常与 `br-router` 接口绑定,作为子网的默认网关。它通过 `br-int` 和 `br-tun` 与虚拟交换机交互,实现 VLAN 和 VXLAN 的封装解封装操作,从而完成跨主机的虚拟网络通信。 ### vRouter 与其他组件的交互 - **br-int**:负责 VLAN 的封装与解封装。 - **br-tun**:处理 VXLAN 隧道的封装与解封装,实现跨主机通信。 - **qbr/qry/phy-br**:用于虚拟机与物理网络之间的桥接与安全策略执行。 ### 示例配置 以下是一个典型的网络节点上与 vRouter 相关的交换机接口配置: ```bash int Eth-Trunk 1 des vRouter mode lacp-static trunkport g0/0/15 trunkport g0/0/16 port link-type trunk port trunk allow-pass vlan 32 33 ``` 此配置将两个物理接口加入一个 LACP 捆绑组,用于连接 vRouter 并承载多个 VLAN 流量[^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值