zoukankan      html  css  js  c++  java
  • linux 创建网桥

    由于最近项目需验证个问题,需求是要创建一个虚拟机网桥,在使用ifconfig命令查看时让docker0网桥不在第一个显示,因此,我们创建一个虚拟网桥让它排在第一位置

    项目使用Centos7系统,因此使用 brctl 创建网桥后可以使用 ifconfig 和 ip add两种方法去配置IP地址

    方法一:

    查看网桥命令
    
    #brctl  show
    
    [root@localhost opt]# brctl show
     bridge name bridge id STP enabled interfaces
     docker0 8000.0242cffb9c2b no veth3d93fdb
     vetha55117d
    [root@localhost opt]#

    这里已经有docker0网桥了,这个网桥是在启动Docker Daemon时自动创建的。 添加网桥命令顺序。 #brctl addbr br0 eth0 #eth0是要桥接的网卡的名称。 我的就是eth1,所以我的命令就是 #brctl addbr ad0 eth1

    给网桥添加ip地址 [root@localhost
    ~]# ifconfig ad0 172.10.0.1 [root@localhost ~]# 查看ip信息,可以发现添加了ad0网桥,且信息显示在docker0上面 [root@localhost ~]# ifconfig ad0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.10.0.1 netmask 255.255.0.0 broadcast 172.10.255.255 inet6 fe80::2458:f7ff:fe24:b267 prefixlen 64 scopeid 0x20<link> ether 26:58:f7:24:b2:67 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 3644 (3.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:cfff:fefb:9c2b prefixlen 64 scopeid 0x20<link> ether 02:42:cf:fb:9c:2b txqueuelen 0 (Ethernet) RX packets 11453 bytes 44241445 (42.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 21146 bytes 1888772 (1.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.13.51 netmask 255.255.0.0 broadcast 172.16.255.255 inet6 fe80::79f:188f:ef14:5adb prefixlen 64 scopeid 0x20<link> ether 0c:da:41:1d:b0:ee txqueuelen 1000 (Ethernet) RX packets 31624069 bytes 6572205580 (6.1 GiB) RX errors 0 dropped 97100 overruns 0 frame 0 TX packets 1564839 bytes 164193902 (156.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    方法二:

    除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。
    
    在启动 Docker 服务的时候,使用 -b BRIDGE或--bridge=BRIDGE 来指定使用的网桥。
    
    如果服务已经运行,那需要先停止服务,并删除旧的网桥。
    
    $ sudo service docker stop
    $ sudo ip link set dev docker0 down
    $ sudo brctl delbr docker0
    然后创建一个网桥 bridge0。
    
    $ sudo brctl addbr bridge0
    $ sudo ip addr add 192.168.5.1/24 dev bridge0
    $ sudo ip link set dev bridge0 up
    查看确认网桥创建并启动。
    
    $ ip addr show bridge0
    4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
        link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
        inet 192.168.5.1/24 scope global bridge0
           valid_lft forever preferred_lft forever
    配置 Docker 服务,默认桥接到创建的网桥上。
    
    $ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
    $ sudo service docker start
    启动 Docker 服务。新建一个容器,可以看到它已经桥接到了 bridge0 上。
    
    可以继续用 brctl show 命令查看桥接的信息。另外,在容器中可以使用 ip addr 和 ip route 命令来查看 IP 地址配置和路由信息。
  • 相关阅读:
    js中对new Date() 中转换字符串方法toLocaleString的使用
    安装sass时遇到Failed to build gem native extension
    访问mapper方法提示invalid bound statement (not found)原因总结
    A query was run and no Result Maps were found for the Mapped Statement
    VS常用快捷键
    查看python和NumPy版本和安装路径
    Mybatis报错: There is no getter for property named xxx
    Map集合中get不存在的key值
    MySQL中DATA类型数据和DATATIME类型数据的比较
    shell 数组操作
  • 原文地址:https://www.cnblogs.com/yizhipanghu/p/11880872.html
Copyright © 2011-2022 走看看