• Linux 之nmcli网络配置命令


    nmcli命令

    地址配置工具

    nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

    OBJECT := { general | networking | radio | connection | device | agent  }

           

    OPTIONS := {

           -t[erse]

           -p[retty]

           -m[mode] tabular | multiline

           -f[ields] | all | common

           -e[scape] yes | no

           -n[ocheck]

           -a[sk]

           -w[ait]

           -v[ersion]

           -h[elp]

           }

    nmcli device 命令

    Usage: nmcli device { COMMAND | help }

    COMMAND := { status | show | connect | disconnect | delete | wifi }

    1. nmcli device show eth1    #查看eth1网卡的信息
    2. nmcli device status        #查看所有网卡信息
    3. nmcli device connect eth1    #使网卡eth1连接
    4. nmcli device disconnect eth1   #使网卡eth1断开
    5. nmcli device delete bond0     #删除虚拟网卡,不可以删除物理网卡

    nmcli connection 命令

    查看命令帮助 : nmcli connetcion help

    1. Usage: nmcli connection { COMMAND | help }
    2. COMMAND := { show | up | down | add | modify | edit | delete | reload | load }

    比如修改IP地址等属性:

    #nmcli connection modify IFACE [+|-]setting.property value 

      setting.property: 

        ipv4.addresses ; ipv4.gateway ; ipv4.dns1; ipv4.method [manual | dhcp] 

    修改配置文件执行生效:

    systemctl restart network   或  nmcli connetcion reload

    nmcli命令生效:

    nmcli con down eth0 ;nmcli con up eth0 (connection 可简写为con)

    网络接口配置tui工具 : nmtui

    使用nmcli 配置网络

    NetworkManager 是管理和监控网络设置的守护进程

    设备即网络接口,连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效

    1. 显示所有连接(包括不活动的连接)
    2.   nmcli connection show
    3. 显示网络连接配置
    4.   nmcli connection show "System bond0"
    5. 显示设备状态
    6.   nmcli device status 
    7. 显示网络接口属性
    8.   nmcli dev show eth1
    9. 创建新连接 conn1 ,IP通过自动dhcp获取
    10.   nmcli connection add con-name conn1 type Ethernet ifname eth1
    11. 删除连接
    12.   nmcli connection delete conn1
    13. 创建新连接 conn2 指定静态IP,不自动连接
    14.  nmcli connection add con-name conn2 ifname eth1 autoconnect no type Ethernet ip4 10.1.1.1/16 gw4 10.1.1.254
    15. 启用 conn2连接配置
    16.   nmcli connetcion up conn2
    17. 查看帮助
    18.   nmcli connection add help

    修改连接设置:

    1. nmcli connection modify "eno16777736" connection.autoconnect no
    2. nmcli connection modify "eno16777736" ipv4.addresses 10.1.1.100/16
    3. nmcli connection modify "eno16777736" ipv4.dns 10.1.0.1
    4. nmcli connection modify "eno16777736" +ipv4.dns 10.1.0.1
    5. nmcli connection modify "eno16777736" -ipv4.dns 10.1.0.1
    CommandUse
     nmcli dev statusList all devices
    nmcli con show

    List all connetcions

    nmcli con del ""Delete a connetcion
    nmcli con up ""Activate a connetcion
    nmcli con down ""Deactivate a connetction.The connetcion will restart if autoconnect is   yes
    nmcli dev dis Bring down an interface and temporarily disable autoconnect
    nmcli net offDisable all managed interfaces
    nmcli con add …Add a new connetcion
    nmcli con mod ""…Modify a connection
    nmcli con del ""Delete a connetcion

    nmcli   con mod
    ifcfg-* 文件
     ipv4.method   manualBOOTPROTO=none
    ipv4.method   autoBOOTPROTO=dhcp
    ipv4.addresses "192.0.2.1/24 192.0.2.254"

    IPADDR0=192.0.2.1  

    PREFIX0=24 

    GATEWAY0=192.0.2.254

    ipv4.dns   8.8.8.8DNS0=8.8.8.8
    ipv4.dns-search   example.comDOMAIN=example.com
    ipv4.ignore-auto-dns   truePEERDNS=no
    connection.autoconnect   yesONBOOT=yes
    connection.id   eth0NAME=eth0
    connection.interface-name   eth0DEVICE=eth0
    802-3-ethernet.mac-address   . . .HWADDR= . . .

    设备文件保存到文本文件中: /etc/sysconfig/network-scripts/ifcfg-

    帮助文档列出完整选项列表: /usr/share/doc/initscripts-*/sysconfig.txt

    动态配置

    静态配置

    DEVICE=ethX 

    HWADDR=0:02:8A:A6:30:45 

    BOOTPROTO=dhcp 

    ONBOOT=yes 

    Type=Ethernet

    DEVICE=ethX 

    HWADDR=0:02:8A:A6:30:45 

    IPADDR=192.168.0.123 

    NETMASK=255.255.255.0 

    GATEWAY=192.168.0.254 

    ONBOOT=yes 

    Type=Ethernet

    通过nmcli命令修改连接配置后,需要重新加载配置

    nmcli con reload

    图形工具

    nm-connection-editor

    网络组 Network Teaming

    网络组:是将多块网卡聚合在一起的方法,从而实现容错和提高吞吐量

    网络组不同于旧版中bonding技术,它能提供更好的性能和扩展性

    网络组由内核驱动和teamd守护进程实现

    有多种方式:

        runner

        broadcast

        roundrobin

        activebackup

        loadbalance

        lacp

    启动网络组接口不会自动启动网络组中的port接口

    启动网络组接口中的port接口不会自动启动网络组接口

    禁用网络组接口会自动禁用网络组中的port接口

    没有port接口的网络组接口可以启动静态IP连接

    启用DHCP连接时,没有port接口的网络组会等待port接口的加入

    创建网络组接口格式如下:

    1. nmcli con add type team con-name CNAME ifname INAME [config JSON]
    2.   CNAME :连接名
    3.   INAME :接口名
    4.   JSON :指定runner的方式,格式: '{"runner":{"name":"METHOD"}}'
    5.     METHOD :可以是 broadcast ;roundrobin ;activebackup ;loadbalance ;lacp

    创建port接口格式如下:

    1. nmcli con add type team-slave con-name CNAME ifname INAME master TEAM 
    2.   CNAME :连接名
    3.   INAME :网络接口名
    4.   TEAM :网络组接口名

    若连接名不指定,则默认为team-slave-IFACE

    nmcli con up CNAME(网络组接口名或port接口)

    nmcli dev dis INAME(设备名)

    网络组示例:

    1. # nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name""loadbalance"}}' 
    2. # nmcli con mod team0 ipv4.addresses 192.168.1.100/24 
    3. # nmcli con mod team0 ipv4.method manual 
    4. # nmcli con add con-name team0-eth1 type teamslave ifname eth1 master team0 
    5. # nmcli con add con-name team0-eth2 type teamslave ifname eth2 master team0 
    6. # nmcli con up team0 
    7. # nmcli con up team0-eth1 
    8. # nmcli con up team0-eth2 
    9. # teamdctl team0 state; 
    10. # nmcli dev dis eth1

    实验:创建一个网络组主备自动切换的网络组

    1. nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
    2. nmcli connection modify team0 ipv4.method auto
    3. nmcli connection add con-name team-eth0 type team-slave ifname eno16777736 master team0 
    4. nmcli connection add con-name team-eth1 type team-slave ifname eno33554960 master team0 
    5. nmcli connection add con-name team-eth2 type team-slave ifname eno50332184 master team0 
    6. nmcli connection add con-name team-eth3 type team-slave ifname eno67109408 master team0 
    7. nmcli connection up team0
    8. nmcli connection up team-eth1
    9. nmcli connection up team-eth2
    10. nmcli connection up team-eth3
    11. nmcli connection up team-eth0
    12. watch -n1 'teamdctl team0 state'
     
    

    管理网络组配置文件:

    1. # /etc/sysconfig/network-scripts/ifcfg-team0 
    2. DEVICE=team0 
    3. DEVICETYPE=Team 
    4. TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}" 
    5. BOOTPROTO=none 
    6. IPADDR0=172.25.5.100 
    7. PREFIX0=24 
    8. NAME=team0 
    9. ONBOOT=yes
    10. # /etc/sysconfig/network-scripts/ifcfg-team0-eth1 
    11. DEVICE=eth1 
    12. DEVICETYPE=TeamPort 
    13. TEAM_MASTER=team0 
    14. NAME=team0-eth1 
    15. ONBOOT=yes

    使用nmcli配置主机名

    rhel6之前主机名配置文件:/etc/sysconfig/network

    rhel7.0主机名配置文件:/etc/hostname,默认没有这个文件,通过DNS反向解析获取主机名,主机名默认为: localhost.localdomain

    显示主机名信息

    1. hostname
    2. hostnamectl status

    创建并修改文件并生效

    hostnamectl set-hostname desktopX.example.com

    删除文件,恢复主机名localhost.localdomain

    DNS设置,存放在/etc/resolv.conf文件中

        PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:

    nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

    在命令行下测试网络的连通性

    显示主机名

    hostname

    测试网络连通性

    1. ping
    2. mtr

    显示正确的路由表

    ip route 

    确定名称服务器使用:

    1. nslookup
    2. host
    3. dig

    跟踪路由

    1. traceroute
    2. Tracepath

    lftp, ftp, lftpget, wget

    lftp [-p port] [-u user[,password]] SERVER

    子命令:

    get、 mget、ls、help

    # lftpget URL

    # ftp

    # wget

    wget [option]... [URL]...

    -q: 静默模式

    -c: 断点续传

    -O: 保存位置

    --limit-rates=: 指定传输速率

  • 相关阅读:
    Java IO流(上)
    8月算法训练------第十四天(数学)解题报告
    基于JAVA在线辅导答疑系统计算机毕业设计源码+系统+数据库+lw文档+部署
    node 第十九天 使用node插件node-jsonwebtoken实现身份令牌jwt认证
    漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找
    2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料和申报方式
    Mongodb分片环境搭建和验证(redis期末大作业)
    【Ambari】Python调用Rest API 获取集群状态信息并发送钉钉告警
    C++学习笔记之四(标准库、标准模板库、vector类)
    如何把docker里的内容拷贝出来
  • 原文地址:https://blog.csdn.net/ly1358152944/article/details/126311801