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.www58058.com/23017

(2)
Daniel-WDaniel-W
上一篇 2016-07-07
下一篇 2016-07-09

相關推薦

  • 隨筆

    GREP正則表達式: 復習: glob文件通配符:     *:任意長度字符:     ?:任意單個字符:     []:括號內的任意單個字符:     [^]:括號內字符除外:  &nbs…

    Linux干貨 2016-07-16
  • 馬哥教育21期網絡班—第四周課程+練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]#cp -rf /etc/skel /home/tuser1[root@localhost ~]#chmod -R g…

    Linux干貨 2016-07-16
  • 馬哥教育網絡20期+第四周練習博客

    1、  復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cd /home/ [root@localhost home]# mkdir tuser1 [root@localhost home]# cp -a /etc/skel&…

    Linux干貨 2016-08-02
  • Linux進程管理常用命令(一)

    Linux系統上的進程查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat,kill,job,bg,fg, nohup, nice, renice, killall,…     Centos 5: Sys…

    Linux干貨 2017-01-05
  • linux echo命令用法實例

           對于初學者來說,掌握一些基本命令的常用用法是必須的。本文列舉了echo命令的幾個常用用法并加以實例說明,以作回顧、參考。       echo命令常用作打印輸出字符串,根據echo幫助文件可以獲得以下信息:        語法 echo…

    2017-05-20
  • keepalived+lvs 實現站點高可用

    lvs實現負載均衡
    keepalived 解決 director單點和realserver監控檢測

    2017-12-13
欧美性久久久久