首先,在每台服务器上创建VXLAN接口:
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
其中,vxlan0是VXLAN接口的名称,42是VNI,eth0是物理网络接口。
然后,为VXLAN接口分配IP地址:
sudo ip addr add 10.0.0.1/24 dev vxlan0
sudo ip link set vxlan0 up
3.2.2 使用Open vSwitch配置VXLAN
首先,安装Open vSwitch:
sudo apt-get update
sudo apt-get install -y openvswitch-switch
然后,创建一个OVS桥并添加VXLAN端口:
sudo ovs-vsctl add-br br0
sudo ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=flow options:key=flow
为OVS桥分配IP地址:
sudo ip addr add 10.0.0.1/24 dev br0
sudo ip link set br0 up
四、VXLAN常用下令
4.1 ip下令
创建VXLAN接口:
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
删除VXLAN接口:
sudo ip link del vxlan0
查看网络接口信息:
ip link show
分配IP地址:
sudo ip addr add 10.0.0.1/24 dev vxlan0
启用网络接口:
sudo ip link set vxlan0 up
4.2 Open vSwitch下令
在数据中心1的VTEP1上配置VXLAN:
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
sudo ip addr add 10.0.0.1/24 dev vxlan0
sudo ip link set vxlan0 up
5.1.2 配置数据中心2
在数据中心2的VTEP2上配置VXLAN:
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
sudo ip addr add 10.0.1.1/24 dev vxlan0
sudo ip link set vxlan0 up
在主机1上安装Docker并配置VXLAN:sudo apt-get update
sudo apt-get install -y docker.io
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
sudo ip addr add 10.0.0.1/24 dev vxlan0
sudo ip link set vxlan0 up创建Docker网络并将其与VXLAN接口绑定:
sudo docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=vxlan0 vxlan-net
在该网络中运行容器:sudo docker run -it --rm --network=vxlan-net busybox
5.2.2 配置主机2
在主机2上安装Docker并配置VXLAN:
sudo apt-get update
sudo apt-get install -y docker.io
sudo ip link add vxlan0 type vxlan id 42 dstport 4789 dev eth0
sudo ip addr add 10.0.1.1/24 dev vxlan0
sudo ip link set vxlan0 up
创建Docker网络并将其与VXLAN接口绑定:
sudo docker network create -d macvlan --subnet=10.0.1.0/24 --gateway=10.0.1.1 -o parent=vxlan0 vxlan-net
在该网络中运行容器:
sudo docker run -it --rm --network=vxlan-net busybox
5.2.3 验证跨主机容器互联
在每台主机上为不同租户创建不同的VXLAN接口:# 租户A
sudo ip link add vxlan10 type vxlan id 10 dstport 4789 dev eth0
sudo ip addr add 10.0.10.1/24 dev vxlan10
sudo ip link set vxlan10 up# 租户B
sudo ip link add vxlan20 type vxlan id 20 dstport 4789 dev eth0
sudo ip addr add 10.0.20.1/24 dev vxlan20
sudo ip link set vxlan20 up
6.1.2 配置租户的Docker网络