美文网首页
CentOS 7网络属性配置(名字,nmcli,网络组,网桥,客

CentOS 7网络属性配置(名字,nmcli,网络组,网桥,客

作者: 尛尛大尹 | 来源:发表于2017-08-21 19:22 被阅读0次

    (1)CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化
    (2)CentOS 7使用基于硬件,设备拓扑和设置类型命名

    1.网卡命名机

    (1)systemd对网络设备的命名方式

    (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
    (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
    (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
    (d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
    (e) 上述均不可用时,则使用传统命名机制
    

    (2)网卡名称

    基于BIOS支持启用biosdevname软件
    内置网卡:em1,em2
    pci卡:pYpX Y:slot ,X:port
    

    (3) 名称组成格式

    en: Ethernet 有线局域网
    wl: wlan 无线局域网
    ww: wwan无线广域网
    

    (4)名称类型:

    o<index>: 集成设备的设备索引号
    s<slot>: 扩展槽的索引号
    x<MAC>: 基于MAC地址的命名
    p<bus>s<slot>: enp2s1
    

    (5)网卡设备的命名过程:

    • 第一步:
    udev, 辅助工具程序/lib/udev/rename_device
    /usr/lib/udev/rules.d/60-net.rules
    
    • 第二步:
    biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules
    
    • 第三步:
    通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
    ID_NET_NAME_ONBOARD
    ID_NET_NAME_SLOT
    

    (6)采用传统命名方式

    • (1) 编辑/etc/default/grub配置文件
    GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
    或:修改/boot/grub2/grub.cfg
    
    • (2) 为grub2生成其配置文件
    # grub2-mkconfig -o /etc/grub2.cfg
    
    • (3) 重启系统

    2.配置名称

    (1)CentOS7主机名

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

    (2)显示主机名信息

    # hostname
    # hostnamectl status
    

    (3)设置主机名

    # hostnamectl set-hostname centos7.magedu.com
    

    (4)删除文件/etc/hostname,恢复主机名localhost.localdomain

    (5)图形工具:nm-connection-editor
    (6)字符配置tui工具:nmtui
    (7)命令行工具:nmcli

    3.地址配置工具:nmcli

    (1)nmcli [ OPTIONS ] OBJECT { COMMAND | help }

    # device - show and manage network interfaces
    # nmcli device help
    # connection - start, stop, and manage network connections
    # nmcli connection help
    

    (2)修改IP地址等属性:

    # nmcli connection modify IFACE [+|-]setting.property value
    setting.property:
    ipv4.addresses ipv4.gateway
    ipv4.dns1 ipv4.method manual | auto
    

    (3)修改配置文件执行生效:systemctl restart network
    nmcli con reload
    (4)nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
    (5)NeworkManager是管理和监控网络设置的守护进程
    (6)设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效
    (7)显示所有包括不活动连接

    # nmcli con show
    

    (8)显示所有活动连接

    # nmcli con show --active
    

    (9)显示网络连接配置

    # nmcli con show "System eth0“
    

    (10)显示设备状态

    # nmcli dev status
    

    (11)显示网络接口属性

    # nmcli dev show eth0
    

    (12)创建新连接default,IP自动通过dhcp获取

    # nmcli con add con-name default type Ethernet ifname eth0
    

    (13)删除连接

    # nmcli con del default
    

    (14)创建新连接static ,指定静态IP,不自动连接

    # nmcti con add con-name static ifname eth0
    autoconnect no type Ethernet ip4 172.25.X.10/24 gw4
    172.25.X.254
    

    (15)启用static连接配置

    # nmcli con up static
    

    (16)启用default连接配置

    # nmcli con up default
    

    (17)查看帮助

    # nmcli con add help
    

    (18)修改连接设置

    # nmcli con mod“static” connection.autoconnect no
    # nmcli con mod “static” ipv4.dns 172.25.X.254
    # nmcli con mod “static” +ipv4.dns 8.8.8.8
    # nmcli con mod “static” -ipv4.dns 8.8.8.8
    # nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
    # nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
    

    (19)DNS设置,存放在/etc/resolv.conf文件中
    PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置
    ,不自动获取。等价于下面命令:

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

    (20)设备配置被保存在文本文件中
    • /etc/sysconfig/network-scripts/ifcfg-<name>
    • 帮助文档列出完整选项列表:/usr/share/doc/initcripts-
    */sysconfig.txt

    Paste_Image.png

    (21)修改连接配置后,需要重新加载配置

    # nmcli con reload
    # nmcli con down “system eth0” 可被自动激活
    # nmcli con up “system eth0”
    # nmcli dev dis eth0 禁用网卡,访止被自动激活
    

    (22)图形工具

    (23)字符工具

    # nmtui
    # nmtui-connect
    # nmtui-edit
    # nmtui-hostname
    

    4.nmcli实现bonding

    (1)添加bonding接口

    # nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
    

    (2)添加从属接口

    # nmcli con add type bond-slave ifname ens7 master mybond0
    # nmcli con add type bond-slave ifname ens3 master mybond0
    注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
    

    (3)要启动绑定,则必须首先启动从属接口

    # nmcli con up bond-slave-eth0
    # nmcli con up bond-slave-eth1
    

    (4)启动绑定

    # nmcli con up mybond0
    

    5.网络组 Network Teaming

    (1)作用:

    1.网络组:是将多个网卡聚合在一起方法,从而实现冗错和提
    高吞吐量
    2.网络组不同于旧版中bonding技术,提供更好的性能和扩展性
    3.网络组由内核驱动和teamd守护进程实现.
    4.多种方式runner
    broadcast
    roundrobin
    activebackup
    loadbalance
    lacp (implements the 802.3ad Link Aggregation Control Protocol)
    

    (2)基础:

    1.启动网络组接口不会自动启动网络组中的port接口
    2.启动网络组接口中的port接口总会自动启动网络组接口
    3.禁用网络组接口会自动禁用网络组中的port接口
    4.没有port接口的网络组接口可以启动静态IP连接
    5.启用DHCP连接时,没有port接口的网络组会等待port接口的加入
    

    (3)nmcli con add type team con-name CNAME ifname INAME [config JSON]

    CNAME 连接名,INAME 接口名
    JSON 指定runner方式
    格式:'{"runner": {"name": "METHOD"}}'
    METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
    

    (4)创建网络组接口
    nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

    CNAME 连接名
    INAME 网络接口名
    TEAM 网络组接口名
     连接名若不指定,默认为team-slave-IFACE
     nmcli dev dis INAME
     nmcli con up CNAME
    INAME 设备名 CNAME 网络组接口名或port接口
    

    (5)创建port接口
    nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
    eg:

    # nmcli con mod team0 ipv4.addresses 192.168.1.100/24
    # nmcli con mod team0 ipv4.method manual
    # nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
    # nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
    # nmcli con up team0
    # nmcli con up team0-eth1
    # nmcli con up team0-eth2
    # teamdctl team0 state; nmcli dev dis eth1
    

    网络组示例

    # ip link
    # nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
    # nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
    # nmcli con mod team0 ipv4.method manual
    # nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
    # nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
    # teamdctl team0 state
    

    6.实验:创建网络组(1)

    # ping -I team0 192.168.0.254
    # nmcli dev dis eno1
    # teamdctl team0 state
    # nmcli con up team0-port1
    # nmcli dev dis eno2
    # teamdctl team0 state
    # nmcli con up team0-port2
    # teamdctl team0 state
    

    7.管理网络组配置文件

    (1)/etc/sysconfig/network-scripts/ifcfg-team0

    DEVICE=team0
    DEVICETYPE=Team
    TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
    BOOTPROTO=none
    IPADDR0=172.25.5.100
    PREFIX0=24
    NAME=team0
    ONBOOT=yes
    

    (2)/etc/sysconfig/network-scripts/ifcfg-team0-eth1

    DEVICE=eth1
    DEVICETYPE=TeamPort
    TEAM_MASTER=team0
    NAME=team0-eth1
    ONBOOT=yes
    

    8.删除网络组

    # nmcli connection down team0
    # teamdctl team0 state
    # nmcli connection show
    # nmcli connectioni delete team0-eth0
    # nmcli connectioni delete team0-eth1
    # nmcli connection show
    

    9.网桥

    (1)桥接:把一台机器上的若干个网络接口“连接”起来。其结
    果是,其中一个网口收到的报文会被复制给其他网口并发送
    出去。以使得网口之间的报文能够互相转发。网桥就是这样
    一个设备,它有若干个网口,并且这些网口是桥接起来的。
    与网桥相连的主机就能通过交换机的报文转发而互相通信。
    (2)主机A发送的报文被送到交换机S1的eth0口,由于eth0与
    eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并
    且发送出去,然后被主机B和交换机S2接收到。而S2又会将
    报文转发给主机C、D。

    Paste_Image.png

    (3)创建软件网桥

    # nmcli con add type bridge con-name br0 ifname br0
    # nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall
    # nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
    

    (4)查看网桥

    # cat /etc/sysconfig/network-scripts/ifcfg-br0
    # cat /etc/sysconfig/network-scripts/ifcfg-br0-port0 brctl show
    

    (5)删除

     删除网桥 brctl delbr br0
     删除网桥中网卡 brctl delif eth0
     注意:NetworkManager只支持以太网接口接口连接到网桥,不支
    持聚合接口
    

    10网络客户端工具

    (1)ftp,lftp
    • 子命令:get、 mget、ls、help
    • lftp [-p port] [-u user[,password]] SERVER
     lftpget URL
     wget [option]... [URL]...

    -q: 静默模式
    -c: 断点续传
    -O: 保存位置
    --limit-rate=: 指定传输速率,单位K,M等
    

    (2)links URL

    --dump
    --source 
    

    相关文章

      网友评论

          本文标题:CentOS 7网络属性配置(名字,nmcli,网络组,网桥,客

          本文链接:https://www.haomeiwen.com/subject/nhyhdxtx.html