一、为什么需要这个

服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的。
Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序。
为解决这类问题,dell开发了biosdevname方案(systemd v197版本中将dell的方案作了进一步的一般化拓展)。

目前的Centos既支持dell的biosdevname,也支持systemd的方案。

二、Centos7中的命名规则

传统命名:以太网eth[0,1,2,...]

 2.1、可预测功能

    udev支持多种不同的命名方案:

      基于Firmware , 拓扑结构  

 udev支持多种不同的命名方案:UDEV是系统在用户空间探测内核空间,通过sys接口所输出的硬件设备,并配置的硬件设备的一种应用程序,
在centos7上UDEV支持多种不同的命名方案,无非就是支持基于固件的命名(firmware,基于主板上rom芯片)或者是通过总线拓扑(PCI总线)结构来命名。
总线拓扑(PCI总线)结构命名主要是根据对应设备所在的位置来命名,slot设备上的第几个接口方式命名,这样命名的方式就是能够实现自动命名,只要接口不坏,
无论是哪一块网卡插上去其名称一定是固定的。

 

   (1)网卡命名机制

    systemd对网络设备的命名方式:

      (a)如果Fireware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名  例如eno1;

        (b)  如果Fireware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;

        (c)  如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;

      (d)如果用户显示启动,也可以根据MAC地址进行命名,这个方法一般不用

      (e)上述均不可用时,则使用传统命名机制

       上述命名机制中,有的需要biosdevname程序的参与; Scheme的策略顺序是系统默认的。

  (2)名称组成格式 : 设备类型+设备位置+数字    

  en: ethernet (以太网接口)

  wl: wlan(无线网卡)

  ww: wwan(无线广域网拨号)

名称类型:

  o<index>: 集成设备的设备索引号(基于主板上rom芯片);

  s<slot>: PCI-E扩展槽的索引号

  x<MAC>: 基于MAC地址的命名;

  p<bus>s<slot>: enp2s1---PCI-E总线上第二个总线上的第一个插槽设备

2.2、网卡设备的命名过程:

按照如下顺序执行udev的rule
1./usr/lib/udev/rules.d/60-net.rules
2./usr/lib/udev/rules.d/71-biosdevname.rules
3./lib/udev/rules.d/75-net-description.rules
4./usr/lib/udev/rules.d/80-net-name-slot.rules

第一步:

  udev,辅助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules

-net.rules
使用/lib/udev/rename_device这个程序,去查询/etc/sysconfig/network-scripts/下所有以ifcfg-开头的文件
如果在ifcfg-xx中匹配到HWADDR=xx:xx:xx:xx:xx:xx参数的网卡接口
则选取DEVICE=yyyy中设置的名字作为网卡名称。

第二步: 

  biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules

-biosdevname.rules
如果系统中安装了biosdevname,且内核参数未指定biosdevname=,且上一步没有重命名网卡,则按照biosdevname的命名规范,从BIOS中取相关信息来命名网卡。
主要是取SMBIOS中的type (System Slot) 和 type (Onboard Devices Extended Information)
不过要求SMBIOS的版本要高于2.,且系统中要安装biosdevname程序。

第三步:

  通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description.rules

-net-description.rules
udev通过检查网卡信息,填写如下这些udev的属性值
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
ID_NET_NAME_MAC

第四步:再不成功,则保留原来名字,接口不会重命名

-net-name-slot.rules
如果在60-net.rules ,-biosdevname.rules这两条规则中没有重命名网卡,且内核未指定net.ifnames=0参数
则udev依次尝试使用以下属性值来命名网卡,如果这些属性值都没有,则网卡不会被重命名。
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH

上边的71-biosdevname.rules 是实际执行biosdevname的policy
75-net-description.rules和80-net-name-slot.rules实际执行Scheme a,b,c

根据上述的过程,可见网卡命名受 biosdevname和net.ifnames这两个内核参数影响。

这两个参数都可以在grub配置中提供:biosdevname=0是系统默认值(dell服务器默认是1),net.ifnames=1是系统默认值:

修改默认参数:如回归默认命名方式:

2.3、回归传递命名方式:centos7网卡重命名为ethx格式

1)编辑内核参数
      在GRUB_CMDLINE_LINUX中加入net.ifnames=0即可

[root@localhost  ~]$vim /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 rhgb quiet"

net.ifnames=0 禁止修改网络接口名称

2)为grub2生成其配置文件
        编辑完grub配置文件以后不会立即生效,需要生成配置文件。

[root@localhost ~]$grub2-mkconfig -o /etc/grub2.cfg

3) 重启系统

注:内核参数组合使用的时候,其结果如下:

默认内核参数(biosdevname=0,net.ifnames=1):  网卡名 "enp5s2"
biosdevname=1,net.ifnames=0:网卡名 "em1"
biosdevname=0,net.ifnames=0:网卡名 "eth0" (最传统的方式,eth0 eth1 傻傻分不清)

总结:

a)如系统BIOS符合要求,且系统中安装了biosdevname,且biosdevname=1启用,则biosdevname优先;

b)如果BIOS不符合biosdevname要求或biosdevname=0,则仍然是systemd的规则优先。

c)如果用户自己定义了udev rule来修改内核设备名字,则用户规则优先。

三、地址配置工具 :nmcli

3.1、出现如下情况:

[root@localhost ~]# nmcli device show eth0
Error: NetworkManager is not running.

 

启动:systemctl start| stop| restart NetworkManager

      systemctl status NetworkManager

开机自启动:systemctl enable NetworkManager

 nmcli dev help 
  nmcli device status     nmcli device show eth0 :指定接口当前状态信息 修改IP地址等属性:
  nmcli connection modify IFACE [+|-]setting.property value(重点)
setting.property: ipv4.addresser、ipv4.gateway 、ipv4.dns1、ipv4.method
[+|-]: 添加或者减去      

  nmcli connection --help

     nmcli  con modify eth0  ipv4.addresses  172.16.100.12/16     修改接口ip地址

     localectl set-locale LANG=en_US.utf8

     nmcli con down eth0; nmcli con up eth0 接口禁用再启用  

3.2、网络接口配置tui工具:nmtui 命令

 3.3、主机名称配置工具 :

  图形界面修改主机名 :nmtui ---->Set system hostname

  

  命令行修改:hostnamectl  --help

     hostnamectl  set-hostname hostname  然后重启即可


网络客户端工具命令: ftp,lftp,wget,lftpget

  ftp命令 ,lftp命令 命令行客户端的交互式工具

  wget命令,lftpget命令 ftp命令行客户端的非交互式工具

[CentOS6]

name=CentOS 6.1

failovermethod=priority

baseurl=file:///media/cdrom

gpgcheck=

enabled=

lftp命令

lftp [ -u user[,password] ] [ -p port 默认21] site

轻量的文件传输工具

1、支持命令行补全

2、支持glob通配符

3、lftpget命令是调用lftp命令完成下载

lftp内置命令:

1、帮助:help

2、下载:get,mget

3、切换目录:cd

4、以ls -l格式显示内容: ls

5、本地切换: lcd

6、!cmd

十八、centos7网络属性配置的更多相关文章

  1. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...

  2. 【linux相识相知】网络属性配置

    当我们拥有一个崭新的计算机的时候,第一步恐怕都是迫不及待的下载各种软件,看视频,听音乐等,这里的关键的一点是要有网络.现在的个人计算机大部分都是windows操作系统的,接入网络网络很简单,插上网线也 ...

  3. FreeSql (十八)导航属性

    导航属性是 FreeSql 的特色功能之一,可通过约定配置.或自定义配置对象间的关系. 导航属性有 OneToMany, ManyToOne, ManyToMany, OneToOne, Parent ...

  4. Linux网络属性配置命令和管理详解

    一.Linux网络属性配置 1.Linux主机接入到网络方式 IP/NETMASK:实现本地网络通信 路由(网关):可以进行跨网络通信 DNS服务器地址:基于主机名的通信,Linux可以有三个DNS地 ...

  5. Linux网络属性配置

    目录 IP地址分类 如何将Linux主机接入到网络中 网络接口的命名方式 ifcfg系列命令 如何配置主机名 如何配置DNS服务器指向 iproute2系列命令 Linux管理网络服务 永久生效配置路 ...

  6. centos和ubuntu的网络属性配置

        一. centos的网络配置    1.  修改 /etc/sysconfig/network-scripts/ifcfg-IFACE:             DEVICE:此配置文件应用到 ...

  7. WPF,Silverlight与XAML读书笔记第四十八 - Silverlight网络与通讯

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 这一部分我们重点讨论下Silverlight ...

  8. javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

    一:软件密码学 1:对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效 ...

  9. linux杂谈(十八):DNSserver的配置(一)

    1.DNSserver简单介绍 域名系统(英文:Domain Name System,縮寫:DNS)是因特网的一项服务. 它作为将域名和IP地址相互映射的一个分布式数据库,可以使人更方便的訪问互联网. ...

随机推荐

  1. android 自动化测试案例之 MonkeyRunner

    #-*- coding: UTF-8 -*- #上面第一行是设置文件编码,windows下第一行必须是这个#文件名 MonkeyRunner.py#功能: 使用monkey runner测试app,此 ...

  2. 数据仓库之抽取数据:openrowset函数带bulk操作符的用法

    原文:数据仓库之抽取数据:openrowset函数带bulk操作符的用法 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区 ...

  3. VBA决策(十)

    决策允许程序员控制脚本或其中一个部分的执行流程.执行由一个或多个条件语句控制.以下是在大多数编程语言中找到的典型决策结构的一般形式. VBA提供了以下类型的决策声明. 点击以下链接来查看它们的详细信息 ...

  4. JS基础 sessionStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  5. CSS伸缩布局

    1. 伸缩布局应用: 伸缩布局应用 主轴: Flex容器的主轴用来配置Flex项目,默认是水平方向 侧轴: 与主轴垂直的轴称为侧轴,默认还是垂直方向 方向: 默认是主轴从左向右, 侧轴默认是从上到下 ...

  6. ulimit用法

    ulimit -a:显示当前所有的资源限制 -c:core文件大小 -f:设置创建文件的最大值 -n:设置内核可以同时打开的文件描述符的最大值 -p:设置管道缓冲区的最大值 -s:设置堆栈的最大值 - ...

  7. jmeter连接mysql数据库批量插入数据

    前提工作: 1.在jmeter官网下载jmeter包(官网地址:https://jmeter.apache.org/).此外还需下载mysql驱动包,如:mysql-connector-java-5. ...

  8. selenium小结

    1.selenium基本使用 https://www.cnblogs.com/andy9468/p/8976930.html 2.url发生跳转的处理 https://www.cnblogs.com/ ...

  9. Java入门学习总结_02

    一:注释 注释主要就是用来解释某句或者某段代码使得其他人调试更加方便.特点是在编译代码的时候不会编译注释, 不管发不发生错误.注释主要分为单行注释//(快捷键ctrl+/).多行注释/* */(快捷键 ...

  10. Image Processing and Analysis_15_Image Registration:A survey of medical image registration——1998

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...