linux網路篇第二章CentOS7網路屬性配置
網路卡命名機制
- 早期的系統網路卡命名都是非常容易變化的
- 在CentOS6之前,網路介面使用連續號碼命令如:eth0,eth1.....等,當增加或刪除網路卡時,名稱可能會發生變化
Centos7使用基於硬體, 裝置拓撲和裝置型別命令:
- CentOS7 和Centos6的不同就是通過硬體來生成你的網路卡名稱
- 他生成的時候有一系列的命名過程:
- 首先他會基於你的韌體如BOISS裡面的資訊或其他的硬體的資訊來進行識別,比如他有可能會識別為eno1,eno就是內建網路卡的意思
- 如果你不是內建網路卡時外接的,比方說是PCI-E的插槽外接網路卡,他可能會裝置ens1
- 當然也有可能會識別別的名稱如:ens0等等
- 總之會根據你的物理位置,和主機板的資訊來識別和生成網路卡名稱
- 所以這就可以保證我們的網路卡不會那麼容易變化,導致伺服器斷網等等一些危險的情況
- 甚至有可能會用到我們物理網路卡的MAC地址來命令
- 當然有利也有弊,不容易管理,如果你實在是不喜歡,一樣也可以採用傳統的命名機制
網路卡名稱
- 在老期版本的裡面我們的網路卡名不是叫eth0,eh1嗎
- 有的廠家為了避免網路卡名的變化就開發了一些軟體,讓你的網路卡名稱不像那麼老變,其中有個軟體可以實現這功能
biosdevname
- 這是老早期的軟體,裝上這個軟體以後你的網路卡可能會生成這種名字,:如內建網路卡會生成em1,em2,外接網路卡會生成: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).
- 瞧上面網址就給咋們列出了來了DEll,我相信你們都知道這是上面廠家,那就是戴爾
- 只要你買的是DELL的伺服器,會自帶給你配一個biosdevname的軟體
- 如果你公司買的是DELL的伺服器,自己不修改的話可能看到的是這種網路卡名字
- 當然別的廠家也可以裝這個軟體,但是別的廠家一般預設不會配,或者是有這個軟體沒啟用這個功能
名稱組成格式
-
在CentOS7 裡面他的命名如下:
- **en**:**Ethernet** 有線區域網 - **wl**:**wlan** 無線區域網 - **ww**:**wwan** 無線廣域網
名稱型別
o
<index>
:整合裝置的裝置索引號s
<slot>
擴充套件的索引號x
<MAC>
基於MAC地址的命令p
<bus>
s<slot>
:enp2s1
網路卡裝置的命令過程
- 對於CentOS7來講有一系列的命名過程
- 第一步:
udev
,輔助工具程式/linb/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
- 第二步:
biosdevname
,會根據/usr/lib/udev/rules.d/71-biosdrvname.rules
- 第三步:通過檢查網路介面裝置,根據
/usr/lib/udev/rulis.d/75-net-description
如: - ID_NET_NAME_ONBOARD
- ID_NET_NAME_SLOT
- ID_NET_NAME_PATH
採用傳統命名方式
使用傳統命令方式
- 其實很簡單我們只需要修改核心選項就可以了,下面我們開始介紹
- 方法1:進入
grub.cfg
由於裡面資料較多,找到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
來生成,他是根據/etc/default/grub
這個檔案來生成的,我們也可以把這個檔案也改了,下次在用grub2-mkconfig
來生成就會有我們改過的net.ifnames-0
了,我們修改的是倒數第二行
- 用
[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,就是已經改好了的
/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 網路配置工具
- CentOS7裡面,他有一個重大的變化就是,在CentOS7裡面有一個重大的服務
- 那就是systemctl status NetworkManager服務,這個服務在CentOS7裡面很穩定,而且功能很強,CentOS6裡面也有這個服務,推薦還是別用因為不穩定,在CentOS7裡面已經是一個主流的服務了,那對應的這個服務有很多工具,我們來開始介紹
[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裡面主機名已經不是在
/etc/sysconfig/network
裡面了 - 在CentOS7裡面主機名存放在
/etc/hostname
裡面 - 如果
/etc/hostname
檔案刪了他就會使用CentOS7,預設的主機名localhost.localdomain
- 當然了還有一個很重要的地方,那就是主機改了還有一個地方最好還是改下,以免系統以後出現特殊故障
- 那就是/etc/hosts下加上你的主機名,你可以不改但是以後用應用軟體會出現一些特殊問題
[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
命令可以開啟圖形化工具來配置網路卡,圖形化這就不多說了
[root@localhost ~]# nm-connection-editor
- 還可以用字元介面的工具
nmtui
這個命令也不過多解釋
[root@localhost ~]# nmtui
相關文章
- centos7網路配置CentOS
- Centos7網路配置教程CentOS
- CentOS7 安裝 配置網路CentOS
- centos7配置網路及sshCentOS
- Linux|網路配置Linux
- linux 配置網路Linux
- [Linux]配置網路Linux
- linux網路配置Linux
- win10怎麼更改網路屬性_要如何更改網路屬性windows10Win10Windows
- 【Linux】(小白向)詳解VirtualBox網路配置-配置Linux網路Linux
- Linux網路基本網路配置Linux
- 配置Linux的網路Linux
- linux之網路配置Linux
- linux(centos) 網路配置LinuxCentOS
- rhel Linux 網路配置Linux
- Centos7網路配置——設定固定ipCentOS
- VirtualBox CentOS7網路配置(待整理)CentOS
- Android RelativeLayout 屬性 轉自網際網路Android
- 【Linux】Linux網路配置基礎1 網路相關命令與網路卡配置檔案Linux
- Linux centOS如何配置網路LinuxCentOS
- Linux網路配置基礎Linux
- Linux 網路yum源配置Linux
- Linux和windows網路配置LinuxWindows
- Linux效能分析之網路篇Linux
- Centos7中網路及裝置相關配置CentOS
- 最小化安裝centos7下配置網路CentOS
- 網路篇 RIP的實驗配置-23
- 使用平行的屬性網路模組化自動駕駛中的控制策略網路自動駕駛
- Linux伺服器---網路配置Linux伺服器
- Linux系統下網路配置Linux
- Centos7 網路報錯CentOS
- centOS7不使用網路管理配置靜態IP地址CentOS
- CentOS7 配置靜態IP 及網路問題排查CentOS
- pfsense配置網路
- oracle網路配置Oracle
- redhat網路配置Redhat
- centos 網路配置CentOS
- Linux(08):網路配置檔案——其它Linux