网卡命名:
传统方式
以太网:eth[0,1,2,3,4…],wlan[0,1,2,3,4…]
可预测方式
udev:支持多种不同的命名方案;
Firmware,总线拓扑结构等;
网卡命名机制:
systemd对网络设备的命名方式
如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名;例如eno1;
如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名;例如ens1;
如果硬件接口的物理位置信息可用,则根据此信息进行命名;例如enp2s0;
如果用户显式启用,也可根据MAC地址进行命名;例如enx#####;
上述均不可用时,使用传统命名方式;
上述命名机制中,有些是需要biosdevname程序参与的;
名称组成格式:
en:ethernet;以太网
wl:wlan;局域网
ww:wwan;广域网
名称类型:
o<index>:集成设备的设备索引号;
s<slot>:扩展槽的索引号;
x<MAC>:基于MAC地址命名;
p<bus>s<slot>:基于pci总线及其上的插槽命名;
网卡设备的命名过程:
第一步:
udev,辅助工具程序:/lib/udev/rename_device , /usr/lib/udev/rules.d/60-net.rules
rename_device会根据60-net.rules的指示去寻找ifcfg-*,然后比对HWADDR,如果相同则将网卡的名称设置为DEVICE的值;
(udev:内核中的一种机制,它能够将内核识别的每一个硬件设备及其相关信息通过sys这个伪文件系统向用户空间进行输出,这样用户就可以判断出设备的型号,关联相对应的驱动或加入额外的辅助功能;)
第二步(前提:第一步没有执行成功):
如果内核启动时没有禁用(biosdevname=0),则biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules文件中定义的规则来命名网卡;
第三步(前提:上一步没有命名成功):
通过udev自行检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description文件中的规则命名网卡;udev会读取每个设备的内部属性信息,根据他们的值来设置名称;
依次查看ID_NET_NAME_ONBOARD,ID_NET_NAME_SLOT,ID_NET_NAME_PATH等的值,直到检测到第一个有值变量;
如果都不成功会保持原来的名称; 可以通过创建链接指向/dev/null来禁用以上名称方式,或者向内核传递禁用参数:在/etc/default/grub文件中的GRUB_CMDLINE_LINUX里面添加"net.ifnames=0",修改完成不会立即生效,需要使用grub2-mkconfig重新生成.cfg文件,重启系统;
nmcli命令:
nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...]
nmcli connection {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export} [ARGUMENTS...]
修改ip地址等属性:
nmcli connection modify IFACE [+|-] setting.property value
setting.property:
ipv4.address
ipv4.gateway
ipv4.dns1
ipv4.method
manual
nmcli device {status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp}[ARGUMENTS...]
主机名配置工具:hostnamectl set-hostname ***
网络客户端工具:
lftp,ftp,lftpget,wget
注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删