docker容器橋接到ovs並劃分vlan

##1. ovs安裝linux

參見 https://my.oschina.net/u/1791060/blog/689939docker

##2.docker及pipework安裝centos

參見 http://www.javashuo.com/article/p-oawbgsxs-ea.htmlbash

##3.使用ovs替代linux bridge網絡

####網絡信息以下測試

網絡: 192.168.75.1/24   網關: 192.168.75.1

docker1 centos7  192.168.75.200

docker2 centos7  192.168.75.201

####配置ovs bridge 並刪除原來的linux bridgecentos7

# ovs-vsctl add-br ovsbr0.net

# cd /etc/sysconfig/network-scripts/rest

# vi ifcfg-enp0s3code

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=a6d8d29d-8df1-43f2-b1ff-cb7e670af704
DEVICE=enp0s3
ONBOOT=yes
BRIDGE=ovsbr0    #添加以下行

####重啓網絡並將ip配置到ovs網橋

# (service network restart;ifcfg ovsbr0 add 192.168.75.200/24;ovs-vsctl add-port ovsbr0 enp0s3)

##4.pipework將容器網絡橋接到ovs上並劃分vlan

####docker1上啓動2個docker

# pipework ovsbr0 `docker run -itd --name=d1v100 --net=none centos /bin/bash` 192.168.75.203/24@192.168.75.1 @100

# pipework ovsbr0 `docker run -itd --name=d1v101 --net=none centos /bin/bash` 192.168.75.204/24@192.168.75.1 @101

####docker2上啓動2個docker

# pipework ovsbr0 `docker run -itd --name=d2v100 --net=none centos /bin/bash` 192.168.75.205/24@192.168.75.1 @100

# pipework ovsbr0 `docker run -itd --name=d2v101 --net=none centos /bin/bash` 192.168.75.206/24@192.168.75.1 @101

##測試

####從d1v101上ping d2v100及d2v101

[root@f5629f83731c /]# ping 192.168.75.206
PING 192.168.75.206 (192.168.75.206) 56(84) bytes of data.
64 bytes from 192.168.75.206: icmp_seq=1 ttl=64 time=0.409 ms
64 bytes from 192.168.75.206: icmp_seq=2 ttl=64 time=0.451 ms
^C
--- 192.168.75.206 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.409/0.430/0.451/0.021 ms
[root@f5629f83731c /]# ping 192.168.75.1  
PING 192.168.75.1 (192.168.75.1) 56(84) bytes of data.
From 192.168.75.204 icmp_seq=1 Destination Host Unreachable
From 192.168.75.204 icmp_seq=2 Destination Host Unreachable
From 192.168.75.204 icmp_seq=3 Destination Host Unreachable
From 192.168.75.204 icmp_seq=4 Destination Host Unreachable
^C
--- 192.168.75.1 ping statistics ---
6 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5001ms
pipe 4

docker1的ovs狀態

# ovs-vsctl show

dd5f8481-1559-4bab-96e5-8914afc0faab
    Bridge "ovsbr0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "veth1pl11086"
            tag: 101
            Interface "veth1pl11086"
        Port "enp0s3"
            Interface "enp0s3"
        Port "veth1pl10975"
            tag: 100
            Interface "veth1pl10975"
    ovs_version: "2.5.0"

docker2的ovs狀態

# ovs-vsctl show

04788e7c-ae5f-4ca9-b16c-3e7221f299a8
    Bridge "ovsbr0"
        Port "veth1pl26931"
            tag: 101
            Interface "veth1pl26931"
        Port "enp0s3"
            Interface "enp0s3"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "veth1pl26815"
            tag: 100
            Interface "veth1pl26815"
    ovs_version: "2.5.0"
相關文章
相關標籤/搜索