OVS桥接器或Open vSwitch桥接器被用作Linux中本机桥接器的替代。它支持物理交换机中的大多数功能,同时还支持单个网桥上的多个vLAN。它也被广泛用于Docker网络中,因为与本地网桥相比,它被证明对多主机网络很有用,并且提供了更安全的通信。
在本文中,我们将讨论如何使用Open vSwitch网桥(OVS)执行docker网络。我们将讨论各种命令,这些命令将帮助您安装OVS和Docker的OVS实用程序。然后,我们将尝试创建一个OVS桥,然后将两个docker容器连接到该桥。最后,我们将尝试使用ping命令测试连接。
要在Linux系统中安装Open vSwitch网桥,可以使用以下apt-get命令。
sudo apt−get −y install openvswitch−switch
要安装OVS docker实用程序,可以使用以下命令-
移至当前用户的bin目录。
sudo cd /usr/bin
使用以下wget命令下载openvswitch存储库-
sudo cd /usr/bin
使用以下命令更改访问权限。rwx权限可确保所有者,组和用户具有rwx集,从而赋予他们读取,写入和执行权限。
sudo chmod a+rwx ovs−docker
现在让我们创建,添加和配置新的OVS桥,以使不同网络上的Docker容器相互连接。
sudo ovs−vsctl add−br ovs−br1
ovs-vsctl命令用于查询和配置OVS交换机。它创建并添加了一个ovs桥。
您可以使用以下命令显示ovs桥。
sudo ovs−vsctl show
我们可以使用两种不同的模式将容器与网桥连接-NAT和网桥。
在NAT模式下,网桥实际上是一个虚拟接口。docker容器将具有内部ip地址和网络地址转换规则,这些规则适用于与外部世界通信。另一方面,如果它们以桥接模式连接,则桥接将是真正的网络适配器。
我们将尝试使用桥接模式连接它们。
首先,我们必须将内部IP地址配置到OVS桥接器上,然后,可以使用以下命令-
sudo ifconfig ovs−br1 173.16.1.1 netmask 255.255.255.0 up
现在,我们将创建两个与ubuntu映像关联的不同docker容器。
sudo docker run −it −−name myContainer1 ubuntu bash sudo docker run −it −−name myContainer2 ubuntu bash
现在,我们将尝试使用以下命令将容器与OVS桥连接。
sudo ovs−docker add−port ovs−br1 eth1 myContainer1 −−ipaddress=173.16.1.2/24 sudo ovs−docker add−port ovs−br1 eth1 myContainer2 −−ipaddress=173.16.1.3/24
上面的命令将容器连接到网桥,并将IP地址关联到它们。
现在,您可以使用ping命令轻松测试连接。
总而言之,在本文中,我们已经看到了如何创建,添加和使用OVS桥将两个容器连接到桥。