Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置

Linux网络属性配置(三)&& CentOS 7网络配置

Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置


Linux网络属性配置(三)修改配置文件

IP、MASK、GW、DNS相关配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关配置文件:

/etc/sysconfig/network-scripts/route-IFACE

/etc/sysconfig/network-scripts/ifcfg-IFACE

DEVICE:此配置文件应用到的设备
HWADDR:对应的设备的MAC地址
BOOTPROTO:激活此设备时用到的地址配置协议,常用的dhcp,static,none,bootp
MM_CONTROLLED:MM是NetworkManager的简写,此网卡是否接受MM控制;CentOS 6建议为“no”
ONBOOT:在系统因到时候是否激活此设备
TYPE:接口类型;常见的有Ethernet,Bridge
UUID:设备的唯一标识

IPADDR:指明IP地址
NETMASK:子网掩码
GATEWAY:默认网关
DSN1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向

USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为"dhsp",是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

[root@Daniel ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.98.140
PREFIX=24
GATEWAY=192.168.98.2
#DNS1=8.8.8.8
#DOMAIN=8.8.4.4
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

/etc/sysconfig/network-scripts/route-IFACE

两种风格

  • TARGET via GW

  • 每三行定义一条路由

        ADDRESS#=TARGET
        NETMASK#=mask
        GATEWAY#=GW

给网卡配置多个地址

ifconfig:

ifcofnig IFACE_ALIAS

ip:

ip addr add

配置文件:

ifcfg-IFACE_ALIAS
    DEVICE=IFACE_ALIAS

注意:网关别名不能使用dhcp协议引导。

Linux网络属性配置的tui(text user interface)

  1. system-config-network-tui

blob.png

blob.png

blob.png

  1. 也可以使用setup找到

    [root@Daniel ~]# setup

blob.png

blob.png

注意:修改之后重启网络服务才能生效

网络接口识别并命令相关的配置文件:
/etc/udev/rules.c/70-persistent-net.rules

[root@Daniel ~]# cat /etc/udev/rules.d/70-persistent-net.rules 
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:2c:81:4d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@Daniel ~]#

卸载网卡驱动

    modeprobe -r e1000

装载网卡驱动

    modeprobe e1000

CentOS 7网络属性配置

CentOS 7 的网卡命名机制较之CentOS 6来说有较大不同,接下来我们来详细说说CentOS 7网卡的命名规则

  1. 网卡命名机制

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

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

    上述命名机制中,有的需要biosdevname程序的参与。

  2. 名称组成格式

    en: ethernet
    wl: wlan
    ww: wwan
    
    名称类型:
        o<index>: 集成设备的设备索引号;
        s<slot>: 扩展槽的索引号;
        x<MAC>: 基于MAC地址的命名;
        p<bus>s<slot>: enp2s1

网卡设备的命名过程:

  • 第一步:
    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
    IDNETNAMEONBOARD, IDNETNAMESLOT, IDNETNAME_PATH

回归传统的命名方式:

[root@Daniel ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.98.141  netmask 255.255.255.0  broadcast 192.168.98.255
        inet6 fe80::20c:29ff:fe82:7610  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:76:10  txqueuelen 1000  (Ethernet)
        RX packets 8936  bytes 786741 (768.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7550  bytes 515886 (503.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 

[root@Daniel ~]#
  • (1) 编辑/etc/default/grub配置文件

    GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"
    
    [root@Daniel ~]# cat /etc/default/grub 
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0"
    GRUB_DISABLE_RECOVERY="true"
    [root@Daniel ~]#
  • (2) 为grub2生成其配置文件

    grub2-mkconfig -o /etc/grub2.cfg
    
    [root@Daniel ~]# grub2-mkconfig -o /etc/grub2.cfg 
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-1935525f9d944f499859e4e93218a41e
    Found initrd image: /boot/initramfs-0-rescue-1935525f9d944f499859e4e93218a41e.img
    done
    [root@Daniel ~]#
  • (3) 重启系统

    [root@Daniel ~]# ifconfig 
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.98.141  netmask 255.255.255.0  broadcast 192.168.98.255
        inet6 fe80::20c:29ff:fe82:7610  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:76:10  txqueuelen 1000  (Ethernet)
        RX packets 38  bytes 5214 (5.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92  bytes 15232 (14.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:e0:eb:12  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@Daniel ~]# cat /etc/centos-release
    CentOS Linux release 7.2.1511 (Core) 
    [root@Daniel ~]#

可以看到这个时候CentOS 7的网卡名字已经改回eth0.

地址配置工具:nmcli

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

    device - show and manage network interfaces

    [root@Daniel ~]# nmcli device 
    设备        类型      状态    CONNECTION 
    virbr0      bridge    连接的  virbr0     
    eth0        ethernet  连接的  系统 eth0  
    virbr0-nic  tap       连接的  virbr0-nic 
    lo          loopback  未管理  --         
    [root@Daniel ~]# 

    connection - start, stop, and manage network connections

    [root@Daniel ~]# nmcli connection 
    名称        UUID                                  类型            设备       
    virbr0-nic  0f7f1ec2-683b-4e4a-89a0-67c3c7096a68  generic         virbr0-nic 
    virbr0      497ce206-0f80-4833-9d9f-1aa4078aae04  bridge          virbr0     
    系统 eth0   5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0       
    [root@Daniel ~]# 

如何修改IP地址等属性:
    #nmcli connection modify IFACE [+|-]setting.property value
     setting.property:
        ipv4.addresses
        ipv4.gateway
        ipv4.dns1
        ipv4.method
            manual

网络接口配置tui工具:nmtui

[root@Daniel ~]# nmtui

blob.pngblob.png

主机名称配置工具:hostnamectl

status

[root@Daniel ~]# hostnamectl status 
   Static hostname: Daniel
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1935525f9d944f499859e4e93218a41e
           Boot ID: 3655c6af122747d287c98daa9a3be63a
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64

set-hosrname

[root@Daniel ~]# hostnamectl set-hostname DanielW 
[root@Daniel ~]# hostname 
danielw
[root@Daniel ~]#

原创文章,作者:Daniel-W,如若转载,请注明出处:http://www.178linux.com/23017

(2)
上一篇 2016-07-07 19:07
下一篇 2016-07-09 12:51

相关推荐

  • sed 相关概念总结

    文件查看命令:cat, tac,rev cat [OPTION]… [FILE]… -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有控制符 -b:非空行编号 -s:压缩连续的空行成一行 [root@CentOS7 ~]# cat yyy [root@CentOS7 ~]# cat -A yyy $ tac: 把…

    Linux干货 2016-08-12
  • 2016-08-10作业

    1、编写脚本/root/bin/systeminfo.sh, 显示当前主机系统信息,包括主机名,IPv4 地址,操作系统版本,内核版本,CPU 型号,内存大小,硬盘大小。 #!/bin/bash echo "hostname is `hostname`" echo "IPv4 is `ifconfig | sed -n &#03…

    Linux干货 2016-08-15
  • RHEL6.9换源记

    RHEL是提供给企业使用的,虽然我们在网络上也能下载到它的镜像,但是我们无法使用它的服务。最近由于系统比较卡,重装了一次系统,装完之后,我用VMware Workstation Pro 12 加载了之前的RHEL 6.9-000002.vmdk文件之后居然发现不能挂载CD/DVD,这就不能愉快的玩了。在VMware的设置里折腾好久也没能搞定,光盘安装RPM包…

    2017-07-20
  • Linux基础之创建私有CA过程详解

    创建私有CA过程详解 颁发CA自签证书 创建序列号文件,序列号从01开始 echo 01 > /etc/pki/CA/serial 基于rsa算法生成非对称加密的密钥对 umask 077; openssl genrsa -out/etc/pki/CA/private/cakey.pem 2048 颁自签证书 openssl req -new -x50…

    2017-09-16
  • Linux基础知识——SHELL之循环

    1、写一个脚本,判断当前系统用户shell是否都为可登陆shell(即非/sbin/nologin),分别计算两类用户的个数(通过比较字符串实现) #!/bin/bash #       check the user could login&nbsp…

    Linux干货 2016-12-13
  • 对软连接进行cp,rm

    软连接的原理 图1 由 1 号inode 读取到连结档的内容仅有档名,根据档名链接到正确的目录去取得目标文件的inode , 最终就能够读取到正确的数据了。 软连接的使用 创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。 在复制cp的时候对软连接的处理 对指向文件的的软连接:使用cp …

    Linux干货 2017-02-25