目录
一、基本概念
在物理网络中,以太网交换机用来连接多台不同的物理机,从而实现它们之间的相互通信。在网络虚拟化环境中,需要同样的设备,存在多个虚拟端口,连接不同的虚拟网卡,通过其转发功能实现虚拟网卡之间的通信,在Linux下实现该功能的技术就是Bridge。
二、虚拟网络创建
为测试Bridge的连通性,首先需要创建不同的虚拟网络。
1.在Linux环境下创建虚拟网络net1。
ip netns add net1
2.创建veth1和veth1_p作为net1与外界通信的接口,其中veth1端放在创建的虚拟网络net1中。
ip link add veth1 type veth peer name veth1_p
ip link set veth1 netns net1
3.为veth1设置ip地址并启动。
ip netns exec net1 ip addr add 192.168.0.101/24 dev veth1
ip netns exec net1 ip link set veth1 up
4.查看是否配置成功。
ip netns exec net1 ip link list
ip netns exec net1 ifconfig
5.同样的步骤配置net2,veth2,veth2_p以及将veth2的ip设置为192.168.0.102。
三、Bridge连通网络
1.安装bridge-utils库。
apt install bridge-utils
2.创建Bridge设备并命名为br0。
brctl addbr br0
3.将两个虚拟网络的通信接口veth1_p和veth2_p接入到br0上的虚拟端口。
ip link set dev veth1_p master br0
ip link set dev veth2_p master br0
4.为网桥设备br0配置ip。
ip addr add 192.168.0.100/24 dev br0
5.启动veth1_p、veth2_p以及br0,并通过brctl show查看网桥设备br0的当前状态。
ip link set veth1_p up
ip link set veth2_p up
ip link set br0 up
brctl show
6.进入虚拟网络net1,ping虚拟网络net2的ip地址,成功通过Bridge连通net1网络和net2网络。
ip netns exec net1 ping 192.168.0.102 -I veth1
四、总结
在Linux下创建不同的虚拟网络,并通过Bridge成功连通不同的虚拟网络,对Bridge的工作原理有了更深的理解,对其基本操作更加熟悉。