zoukankan      html  css  js  c++  java
  • centos 7.2 网卡配置文件 及 linux bridge的静态配置

    在 centos 7.2 系统内,

    网卡的配置文件在: /etc/sysconfig/network-scripts/ 下。

         命名规则: ifcfg-xxxx。   xxx为设备名称。

    通过分析 network 服务的执行脚本: /etc/rc.d/init.d/network   整理网卡配置文件的内容:

     1 TYPE=Ethernet                设备类型,缺省为 Ethernet, 支持: xDSL,Bridge,IPSEC。 可以不进行配置
     2 BOOTPROTO=manual               BOOT 启动方式, dhcp(自动获取), static(手动配置)
     3 DEFROUTE=yes
     4 PEERDNS=yes
     5 PEERROUTES=yes
     6 IPV4_FAILURE_FATAL=no
     7 IPV6INIT=yes
     8 IPV6_AUTOCONF=yes
     9 IPV6_DEFROUTE=yes
    10 IPV6_PEERDNS=yes
    11 IPV6_PEERROUTES=yes
    12 IPV6_FAILURE_FATAL=no
    13 NAME=eno16777736
    14 UUID=d0d3289e-9c2c-45f7-a569-c55aca9f0e8a
    15 DEVICE=eno16777736
    16 ONBOOT=yes

     以上是系统自动创建的。

    network 服务,扫描 /etc/sysconfig/network-scripts/ 目录下以 ifcfg-  开始的文件名,作为网卡配置文件,读取配置项,通过 ifup device boot 启动网卡

     

    通过brctl 添加的网桥及接口,重启系统后,会被删除掉。下面通过添加网桥配置文件方式,建立网桥。

    静态添加网桥:

     1、建立网桥 br0

    touch /etc/sysconfig/network-scripts/ifcfg-br0

    建立网桥配置文件ifcfg-br0

    vi /etc/sysconfig/network-scripts/ifcfg-br0

     1 TYPE=Bridge
     2 BOOTPROTO=dhcp
     3 DEFROUTE=yes
     4 PEERDNS=yes
     5 PEERROUTES=yes
     6 IPV4_FAILURE_FATAL=no
     7 #IPV6INIT=yes
     8 #IPV6_AUTOCONF=yes
     9 #IPV6_DEFROUTE=yes
    10 #IPV6_PEERDNS=yes
    11 #IPV6_PEERROUTES=yes
    12 #IPV6_FAILURE_FATAL=no
    13 #NAME=eno16777736
    14 #UUID=d0d3289e-9c2c-45f7-a569-c55aca9f0e8a
    15 DEVICE=br0
    16 ONBOOT=yes

     注意: TYPE 为 Bridge,不是Ethernet

               BOOTPROTO 为 static,需要添加 IPADD=XXXX  配置IP地址及网关

               DEVICE  为设备名称

               以上三项为必有项。

              ONBOOT 系统启动时,是否启动。yes 启动,no 不启动。 no时需要手动启动 ifup br0

    创建好网桥配置文件后,重启网络或br0

             # service network restart

       #ifup br0

    最好使用后者,前者会重启所有网络,由于其他网卡配置文件不正确,导致重启失败。

    通过 命令查看 网桥是否存在:

       #ip a

    或  # ifconfig

    2、添加网卡到网桥

      把ens37和eth1两网卡添加到网桥中。
      修改ens37网卡配置文件
      vi /etc/sysconfig/network-scripts/ifcfg-ens37      

     1 TYPE=Ethernet
     2 BOOTPROTO=dhcp
     3 DEFROUTE=yes
     4 PEERDNS=yes
     5 PEERROUTES=yes
     6 IPV4_FAILURE_FATAL=no
     7 IPV6INIT=yes
     8 IPV6_AUTOCONF=yes
     9 IPV6_DEFROUTE=yes
    10 IPV6_PEERDNS=yes
    11 IPV6_PEERROUTES=yes
    12 IPV6_FAILURE_FATAL=no
    13 NAME=eno16777736
    14 UUID=d0d3289e-9c2c-45f7-a569-c55aca9f0e8a
    15 DEVICE=ens37
    16 ONBOOT=yes
    17 BRIDGE=br0

        在原有网卡配置文件内容的基础上,在最后增加一个 BRIDGE=br0,  br0即网桥的名称

        重启网络或重启ens37网卡,是配置生效。

          #service network restart

              #ifdown ens37

              #ifup ens37  

        建议使用后者。

        通过 brctl show 查看网卡是否挂载到 网桥上。

    1 [root@centos7 network-scripts]# brctl show
    2 bridge name    bridge id        STP enabled    interfaces
    3 br0          8000.000c299f0234    no          ens37
    4 br1          8000.000000000000    no        
    5 virbr0        8000.52540088fbd8    yes        virbr0-nic

    2、网桥上配置ip

        可以通过 ifconfig 进行配置ip。 通过此种方式配置的ip,重启网络后,ip会消失。

    ifconfig br0 10.17.55.200

        修改配置文件方式,设置ip。

         配文件中  BOOTPROTO=dhcp 为自动获取ip。 BOOTPROTO=static 为手动设置ip地址, 设置IPADDR=X.X.X.X  及 GATEWAY=X.X.X.X 。 网关有时候可以不进行设置。

         修改完毕配置文件后,需要重启网络服务。仅仅重启网桥,无设置的ip无效。    

     1 TYPE=Bridge
     2 BOOTPROTO=static
     3 IPADDR=10.17.55.200
     4 DEFROUTE=yes
     5 PEERDNS=yes
     6 PEERROUTES=yes
     7 IPV4_FAILURE_FATAL=no
     8 #IPV6INIT=yes
     9 #IPV6_AUTOCONF=yes
    10 #IPV6_DEFROUTE=yes
    11 #IPV6_PEERDNS=yes
    12 #IPV6_PEERROUTES=yes
    13 #IPV6_FAILURE_FATAL=no
    14 #NAME=eno16777736
    15 #UUID=d0d3289e-9c2c-45f7-a569-c55aca9f0e8a
    16 DEVICE=br0
    17 ONBOOT=yes

      注意: 没有挂载网卡的网桥,无法设置ip地址。通过ifconfig设置后ip地址后,导致整个网络不同。通过配置文件设置static ip地址,可以看到,到无法使用。

        

    3、 挂载到网桥上的网卡,无法在设置IP地址。即使配置文件设置了ip地址,也无效。 

    4、一个网桥挂载多个网卡的情况,及 网桥的使用场景后续分析。

  • 相关阅读:
    python学习之ajax和可视化管理工具
    操作系统-保护模式中的特权级下
    redis 分布式锁的 5个坑,真是又大又深
    数据库之数据表控制语句
    【NoSQL】Consul中服务注册的两种方式
    netstat命令使用方法以及详解
    Dockerfile与Dockerfile实战
    Spring boot+redis实现消息发布与订阅
    怎么寻回位置不可用移动硬盘的数据
    python字符前面u,r,f等含义
  • 原文地址:https://www.cnblogs.com/doscho/p/6225807.html
Copyright © 2011-2022 走看看