• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解Centos8 配置静态IP的实现

    安装centos 8之后,重启启动网络时,会出现以下报错

    报错信息如下:

    Failed to start network.service: Unit network.service not found.

    意思为无法重启网络服务,原因是无法找到network.service网络服务。

    在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何脚本文件,没有传统的network.service。因此只能通过其它方法进行网络配置,包括NM命令工具集。换言之,在rhel8上,必须开启NM,否则无法使用网络。

    手动配置静态IP

    cat /etc/sysconfig/network-scripts/ifcfg-ens32
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens32
    UUID=066b4926-b40c-4c28-a5b4-2310d2b96613
    DEVICE=ens32
    ONBOOT=yes
    IPADDR=192.168.1.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.254
    DNS1=223.5.5.5
    PREFIX=24

    使用nmcli重新回载网络配置

    nmcli c reload

    查看

    nmcli c
    NAME UUID                 TYPE DEVICE
    ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32  

    补充nmcli命令

    nmcli使用方法

    nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全(详见本文最后的Tips),也可在命令最后通过-h、--help、help查看帮助。

    nmcli --help
    Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
     
    OPTIONS
    -o[verview] overview mode (hide default values)
    -t[erse] terse output
    -p[retty] pretty output
    -m[ode] tabular|multiline output mode
    -c[olors] auto|yes|no whether to use colors in output
    -f[ields] <field1,field2,...>|all|common specify fields to output
    -g[et-values] <field1,field2,...>|all|common shortcut for -m tabular -t -f
    -e[scape] yes|no escape columns separators in values
    -a[sk] ask for missing parameters
    -s[how-secrets] allow displaying passwords
    -w[ait] <seconds> set timeout waiting for finishing operations
    -v[ersion] show program version
    -h[elp] print this help
     
    OBJECT
    g[eneral] NetworkManager's general status and operations
    n[etworking] overall networking control
    r[adio] NetworkManager radio switches
    c[onnection] NetworkManager's connections
    d[evice] devices managed by NetworkManager
    a[gent] NetworkManager secret agent or polkit agent
    m[onitor] monitor NetworkManager changes

    在nmcli中有2个命令最为常用:

    nmcli connection
    译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c

    nmcli device
    译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
    在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。

    connection有2种状态:

    device有4种常见状态:

    nmcli常用命令一览

    # 查看ip(类似于ifconfig、ip addr)
    nmcli
     
    # 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
    nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
     
    # 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
    nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.method auto
    # 修改ip(非交互式)
    nmcli c modify ens32 ipv4.addr '192.168.1.200/24'
    nmcli c up ens32
    # 修改ip(交互式)
    nmcli c edit ens32
    nmcli> goto ipv4.addresses
    nmcli ipv4.addresses> change
    Edit 'addresses' value: 192.168.1.200/24
    Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
    nmcli ipv4> save
    nmcli ipv4> activate
    nmcli ipv4> quit
    # 启用connection(相当于ifup)
    nmcli c up ens32
    # 停止connection(相当于ifdown)
    nmcli c down
    # 删除connection(类似于ifdown并删除ifcfg)
    nmcli c delete ens32
    # 查看connection列表
    nmcli c show
    # 查看connection详细信息
    nmcli c show ens32
    # 重载所有ifcfg或route到connection(不会立即生效)
    nmcli c reload
    # 重载指定ifcfg或route到connection(不会立即生效)
    nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens32
    nmcli c load /etc/sysconfig/network-scripts/route-ens32
    # 立即生效connection,有3种方法
    nmcli c up ens32
    nmcli d reapply ens32
    nmcli d connect ens32 
    # 查看device列表
    nmcli d
    # 查看所有device详细信息
    nmcli d show
    # 查看指定device的详细信息
    nmcli d show ens32
    # 激活网卡
    nmcli d connect ens32
    # 关闭无线网络(NM默认启用无线网络)
    nmcli r all off
    # 查看NM纳管状态
    nmcli n
    # 开启NM纳管
    nmcli n on
    # 关闭NM纳管(谨慎执行)
    nmcli n off
    # 监听事件
    nmcli m
    # 查看NM本身状态
    nmcli
    # 检测NM是否在线可用
    nm-online

    提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ens32及/etc/sysconfig/network-scripts/route-ens32

    nmcli connection重点

    nmcli c show
    NAME UUID TYPE DEVICE
    ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32

    对connection做操作时需要指定标识,标识可以是con-name、UUID、如果存在ifcfg文件则也可以用ifcfg的完整路径,即/etc/sysconfig/network-scripts/ifcfg-ens32

    nmcli c show ens32
    nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
    nmcli c show /etc/sysconfig/network-scripts/ifcfg-ens32

    nmcli c的con-name

    同时对应ifcfg的文件名以及内容中的NAME=,该参数表示连接(connection)的名字,无需和网卡名相同,可以为一个设备(device)创建多个连接,但同一时刻只能有一个连接生效。当有多个连接时候,nmcli c delete删除当前连接,就会自动选择同一个设备的其他连接来顶替生效。可以通过nmcli c up来将指定连接切换生效。
    注意:通过nmcli c modify修改con-name,只会对应修改ifcfg文件中的NAME,而不会更改ifcfg文件名。

    nmcli c的ipv4.method

    对应ifcfg文件内容的BOOTPROTO,ipv4.method默认为auto,对应为BOOTPROTO=dhcp,这种时候如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。设置为manual表示BOOTPROTO=none,即只有静态ip。

    例子:创建一个连接(connection)

    nmcli c add type ethernet con-name ens32-test ifname ens32 ipv4.addresses '192.168.1.100/24,192.168.1.101/32' ipv4.routes '10.0.0.0/8 192.168.1.10,192.168.0.0/16 192.168.1.11' ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual

    对应的ifcfg和dns就是

    # /etc/sysconfig/network-scripts/ifcfg-ens32-test
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=192.168.1.100
    PREFIX=24
    IPADDR1=192.168.1.101
    PREFIX1=32
    GATEWAY=192.168.1.254
    DNS1=8.8.8.8
    DNS2=4.4.4.4
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens32-test
    UUID=9a10ad89-437c-4caa-949c-a394a6d28c8d
    DEVICE=ens32
    ONBOOT=yes
     
    # /etc/resolv.conf
    nameserver 8.8.8.8
    nameserver 4.4.4.4

    此时,通过nmcli c应该可以看到增加了一条连接

    注意:如果这是为ethX创建的第一个连接,则自动生效;如果此时已有连接存在,则该连接不会自动生效,可以执行nmcli c up ethX-test来切换生效

    nmcli device重点

    nmcli d connect ens32
    由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。

    nmcli d disconnect ens32
    让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。

    nmcli d reapply ens32
    专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。

    nmcli d set ens32 autoconnect yes|no managed yes|no
    可以设置是否自动连接和是否自动管理,但经测试只能用于当前开机状态, 如果这2个参数都设置为no,然后重启系统,又会自动恢复成connected和managed yes的状态。所以该命令用途不大。注意事项:如果managed设置为no,那么nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效,同时managed自动变为yes。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:解决zabbix监控因php问题导致图形界面中文乱码方法
    下一篇:VMware12安装centOS8的方法步骤(vm虚拟机安装centos8教程)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解Centos8 配置静态IP的实现 详解,Centos8,配置,静态,的,