docker+vxlan

146 阅读1分钟

简介

vxlan本质上是一种隧道封装技术.将二层以太网帧封装成四层UDP数据报,然后在三层网络中传输.

准备

假设1号机器192.168.33.11,2号机器192.168.33.12

sudo  apt-get install bridge-utils

br-572648e98679和br-15dacc34009b通过ifconfig查看

1号机器上

sudo docker network create --subnet 172.18.0.0/16 vxlantest
docker run -itd --name ubuntu --net vxlantest --ip 172.18.0.2 ubuntu:14.04
sudo  ip link add vxlan_test type vxlan id 200 remote 192.168.33.12 dstport 4789 dev eth1
sudo ip link set vxlan_test up
sudo brctl addif br-572648e98679 vxlan_test

2号机器上

sudo docker network create --subnet 172.18.0.0/16 vxlantest
docker run -itd --name ubuntu --net vxlantest --ip 172.18.0.3 ubuntu:14.04
sudo  ip link add vxlan_test type vxlan id 200 remote 192.168.33.11 dstport 4789 dev eth1
sudo ip link set vxlan_test up
sudo brctl addif br-15dacc34009b vxlan_test

试验

1号机器上

docker exec -it ubuntu ping 172.18.0.3
PING 172.18.0.3 (172.18.0.3) 56(84) bytes of data.
64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.519 ms

2号机器上

docker exec -it ubuntu ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.622 ms