linux網(wǎng)絡篇第二章CentOS7網(wǎng)絡屬性配置

網(wǎng)卡命名機制

  • 早期的系統(tǒng)網(wǎng)卡命名都是非常容易變化的
  • 在CentOS6之前,網(wǎng)絡接口使用連續(xù)號碼命令如:eth0,eth1.....等,當增加或刪除網(wǎng)卡時,名稱可能會發(fā)生變化

Centos7使用基于硬件, 設備拓撲和設備類型命令:

  • CentOS7 和Centos6的不同就是通過硬件來生成你的網(wǎng)卡名稱
  • 他生成的時候有一系列的命名過程:
    • 首先他會基于你的固件如BOISS里面的信息或其他的硬件的信息來進行識別,比如他有可能會識別為eno1,eno就是內置網(wǎng)卡的意思
    • 如果你不是內置網(wǎng)卡時外置的,比方說是PCI-E的插槽外置網(wǎng)卡,他可能會設備ens1
    • 當然也有可能會識別別的名稱如:ens0等等
    • 總之會根據(jù)你的物理位置,和主板的信息來識別和生成網(wǎng)卡名稱
    • 所以這就可以保證我們的網(wǎng)卡不會那么容易變化,導致服務器斷網(wǎng)等等一些危險的情況
    • 甚至有可能會用到我們物理網(wǎng)卡的MAC地址來命令
    • 當然有利也有弊,不容易管理,如果你實在是不喜歡,一樣也可以采用傳統(tǒng)的命名機制

網(wǎng)卡名稱

  • 在老期版本的里面我們的網(wǎng)卡名不是叫eth0,eh1嗎
  • 有的廠家為了避免網(wǎng)卡名的變化就開發(fā)了一些軟件,讓你的網(wǎng)卡名稱不像那么老變,其中有個軟件可以實現(xiàn)這功能

biosdevname

  • 這是老早期的軟件,裝上這個軟件以后你的網(wǎng)卡可能會生成這種名字,:如內置網(wǎng)卡會生成em1,em2,外置網(wǎng)卡會生成:pypX :y(slot)插槽的意思 : X(port)意思是第幾個端口
  • 那我們來看看這個軟件
[root@localhost ~]# rpm -qi biosdevname     
Name        : biosdevname                  Relocations: (not relocatable)
Version     : 0.7.2                             Vendor: CentOS
Release     : 1.el6                         Build Date: Wed 22 Mar 2017 12:30:37 PM CST
Install Date: Wed 28 Jun 2017 11:52:56 AM CST      Build Host: c1bm.rdu2.centos.org
Group       : System Environment/Base       Source RPM: biosdevname-0.7.2-1.el6.src.rpm
Size        : 55296                            License: GPLv2
Signature   : RSA/SHA1, Thu 23 Mar 2017 11:02:59 PM CST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://linux.dell.com/files/biosdevname
Summary     : Udev helper for naming devices per BIOS names
Description :
biosdevname in its simplest form takes a kernel device name as an
argument, and returns the BIOS-given name it "should" be.  This is necessary
on systems where the BIOS name for a given device (e.g. the label on
the chassis is "Gb1") doesn't map directly and obviously to the kernel
name (e.g. eth0).
  • 瞧上面網(wǎng)址就給咋們列出了來了DEll,我相信你們都知道這是上面廠家,那就是戴爾
  • 只要你買的是DELL的服務器,會自帶給你配一個biosdevname的軟件
  • 如果你公司買的是DELL的服務器,自己不修改的話可能看到的是這種網(wǎng)卡名字
  • 當然別的廠家也可以裝這個軟件,但是別的廠家一般默認不會配,或者是有這個軟件沒啟用這個功能

名稱組成格式

  • 在CentOS7 里面他的命名如下:

     -  **en**:**Ethernet**  有線局域網(wǎng)
     -  **wl**:**wlan** 無線局域網(wǎng)
     -  **ww**:**wwan**   無線廣域網(wǎng)
    
  • 名稱類型

    • o<index>:集成設備的設備索引號

    • s<slot> 擴展的索引號

    • x<MAC>基于MAC地址的命令

    • p<bus>s<slot>:enp2s1

網(wǎng)卡設備的命令過程

  • 對于CentOS7來講有一系列的命名過程
  • 第一步:udev,輔助工具程序/linb/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
  • 第二步:biosdevname,會根據(jù)/usr/lib/udev/rules.d/71-biosdrvname.rules
  • 第三步:通過檢查網(wǎng)絡接口設備,根據(jù)/usr/lib/udev/rulis.d/75-net-description如:
  • ID_NET_NAME_ONBOARD
  • ID_NET_NAME_SLOT
  • ID_NET_NAME_PATH

采用傳統(tǒng)命名方式

使用傳統(tǒng)命令方式

  • 其實很簡單我們只需要修改內核選項就可以了,下面我們開始介紹
  • 方法1:進入grub.cfg 由于里面數(shù)據(jù)較多,找到BEGIN /etc/grub.d/10_linu開頭的行,在找到LANG=en_US.UTF-8結尾的行在后面加上net.ifnames=0即可
[root@localhost ~]#  vim   /boot/grub2/grub.cfg
### BEGIN /etc/grub.d/10_linux ###


menuentry 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menue
ntry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-e9dc3158-e6dd-41d1-b51e-c24105d130cc' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd
0,msdos1'  3ffaae18-be19-44b1-b629-e850953533b2
        else
          search --no-floppy --fs-uuid --set=root 3ffaae18-be19-44b1-b629-e850953533b2
        fi
        linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/
swap rhgb quiet LANG=en_US.UTF-8 net.ifnames=0  <<<<<在后面加上 net.ifnames=0即可
        initrd16 /initramfs-3.10.0-327.el7.x86_64.img
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6f:cf:88 brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.130/24 brd 192.168.42.255 scope global dynamic eth0
       valid_lft 1182sec preferred_lft 1182sec
    inet6 fe80::20c:29ff:fe6f:cf88/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6f:cf:92 brd ff:ff:ff:ff:ff:ff
    inet 172.17.253.208/16 brd 172.17.255.255 scope global dynamic eth1
       valid_lft 85782sec preferred_lft 85782sec
    inet6 fe80::20c:29ff:fe6f:cf92/64 scope link 
       valid_lft forever preferred_lft forever
  • 方法2:
    • grub2-mkconfig來生成,他是根據(jù)/etc/default/grub這個文件來生成的,我們也可以把這個文件也改了,下次在用grub2-mkconfig來生成就會有我們改過的net.ifnames-0了,我們修改的是倒數(shù)第二行
[root@localhost ~]# vi /etc/default/grub 
[root@localhost ~]# vi /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 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"
~                    
  • 所謂的方法2,就是已經(jīng)改好了的/etc/default/grub,來重定向/boot?grub2/grub.cfg,不過原來的設計者也帶有這個選項-o 有重定向功能
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.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-5ec44303424e44a3a31f7b97358af5de
Found initrd image: /boot/initramfs-0-rescue-5ec44303424e44a3a31f7b97358af5de.img
done
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6f:cf:88 brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.130/24 brd 192.168.42.255 scope global dynamic eth0
       valid_lft 1784sec preferred_lft 1784sec
    inet6 fe80::20c:29ff:fe6f:cf88/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6f:cf:92 brd ff:ff:ff:ff:ff:ff
    inet 172.17.253.208/16 brd 172.17.255.255 scope global dynamic eth1
       valid_lft 86384sec preferred_lft 86384sec
    inet6 fe80::20c:29ff:fe6f:cf92/64 scope link 
       valid_lft forever preferred_lft forever

CentOS7 網(wǎng)絡配置工具

  • CentOS7里面,他有一個重大的變化就是,在CentOS7里面有一個重大的服務
  • 那就是systemctl status NetworkManager服務,這個服務在CentOS7里面很穩(wěn)定,而且功能很強,CentOS6里面也有這個服務,推薦還是別用因為不穩(wěn)定,在CentOS7里面已經(jīng)是一個主流的服務了,那對應的這個服務有很多工具,我們來開始介紹
[root@localhost ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-06-29 20:38:09 CST; 16min ago
 Main PID: 999 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           ├─ 999 /usr/sbin/NetworkManager --no-daemon
           ├─1337 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth1.pid -lf /var/lib/NetworkManager/dh...
           └─1338 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dh...

Jun 29 20:49:43 localhost.localdomain dhclient[1338]: DHCPREQUEST on eth0 to 192.168.42.254 port 67 (xid=0x6091a5ea)
Jun 29 20:49:43 localhost.localdomain dhclient[1338]: DHCPACK from 192.168.42.254 (xid=0x6091a5ea)
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    address 192.168.42.130
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    plen 24 (255.255.255.0)
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    server identifier 192.168.42.254
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    lease time 1800
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    nameserver '192.168.42.1'
Jun 29 20:49:43 localhost.localdomain NetworkManager[999]: <info>    domain name 'localdomain'

CentOS7主機名

  • CentOS7里面有一個專門來控制主機名的名字叫hostnamectl ,原來的hostname 還在,只不過比他多了些功能和,顯示更詳細的信息
[root@localhost ~]# hostnamectl
   Static hostname: localhost.localdomain      
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 5ec44303424e44a3a31f7b97358af5de
           Boot ID: a6a9666d1d5644618b7127c02b53f786
    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
  • 這個命令就是比以前的CentOS6多了點功能,以前我們在CentOS6里面運行了hostname主機名只是臨時生效,我們還要去/etc/sysconfig/network里面去修改
  • 但是在CentOS7里面運行這個命令就可以直接改掉主機名了
  • 我們運行 hostnamectl set-hostname Centos8 這個命令
[root@localhost ~]# hostnamectl  set-hostname Centos8
[root@centos8 ~]# 
  • 有一個要注意的是 在CentOS7里面主機名已經(jīng)不是在/etc/sysconfig/network里面了
  • 在CentOS7里面主機名存放在/etc/hostname里面
  • 如果 /etc/hostname文件刪了他就會使用CentOS7,默認的主機名localhost.localdomain
  • 當然了還有一個很重要的地方,那就是主機改了還有一個地方最好還是改下,以免系統(tǒng)以后出現(xiàn)特殊故障
  • 那就是/etc/hosts下加上你的主機名,你可以不改但是以后用應用軟件會出現(xiàn)一些特殊問題
[root@centos8 ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 centos8 <<這里加上主機名
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 在CentOS7里面運行nm-connection-editor命令可以打開圖形化工具來配置網(wǎng)卡,圖形化這就不多說了
 [root@localhost ~]# nm-connection-editor
  • 還可以用字符界面的工具 nmtui這個命令也不過多解釋
[root@localhost ~]# nmtui
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容