关于网络接口命名
CentOS 6之前,网络接口使用连续号码命名: eth0、 eth1等,当增加或删除网卡时,名称可能会发生变化。CentOS 7使用基于硬件,设备拓扑和设置类型命名。
网卡命名机制
systemd对网络设备的命名方式
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制
网卡名称
(1)基于BIOS支持启用biosdevname软件
内置网卡: em1,em2
pci卡: pYpX Y: slot ,X:port
(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
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
采用传统命名方式
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg(不建议)
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
CentOS 7网络配置工具
centOS7主机名
配置文件:/etc/hostname ,默认没有此文件, 通过DNS反向解析获取主机名, 主机名默认为: localhost.localdomain
显示主机名信息
hostname
hostnamectl status(显示更全的信息)
[root@CT731 ~]#hostnamectl status Static hostname: CT731 Icon name: computer-vm Chassis: vm Machine ID: 618d3baeb5754f7092242f811c7aa740 Boot ID: 3e2702fde99242248e0f20c0b7c5c19c Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-514.el7.x86_64 Architecture: x86-64
设置主机名
hostnamectl set-hostname centos7(即时生效,直接写入配置文件)
删除文件/etc/hostname, 恢复主机名localhost.localdomain
CentOS 7网络配置工具nmcli
由于这个工具是centOS7上面的新工具,不仅大而且选项很多,但是工具很强大,我们就学习它的一部分功能。
地址配置工具: nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
connection - start, stop, and manage network connections
nmcli connection/device help 查看帮助
修改IP地址等属性
nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses
ipv4.gateway
ipv4.dns1
ipv4.method manual/auto
[root@CT731 ~]#nmcli connection modify eth2 autoconnect no
[root@CT731 ~]#nmcli connection modify eth2 ipv4.method auto
[root@CT731 ~]#nmcli connection modify eth2 +ipv4.addresses 192.168.111.122/24
[root@CT731 ~]#nmcli connection modify eth2 +ipv4.dns 8.8.8.8
DNS设置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示当IP通过dhcp自动获取时, dns仍是手动设置,不自动获取。等价于下面命令:
nmcli con mod "system eth0" ipv4.ignore-auto-dns yes
修改配置文件执行生效
systemctl restart network
nmcli connection reload
[root@CT731 ~]#nmcli connection reload
网络接口的启用与停用:
nmcli connection down eth0
nmcli connection up eth0
[root@CT731 ~]#nmcli connection down eth2 Connection 'eth2' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/77) [root@CT731 ~]#nmcli connection up eth2 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/78)
显示网络接口
显示所有包括不活动连接
nmcli connection show
[root@CT731 ~]#nmcli con