1. 网卡命名
1.1 传统网卡命名机制
传统命名:
以太网eth[0,1,2,…]
wlan[0,1,2,…]
1.2 redhat7网卡命名机制
systemd对网络设备的命名方式:
- 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名,例如eno1
- 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
- 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
- 如果用户显式启动,也可根据MAC地址进行命名,例如enx2387a1dc56
- 上述均不可用时,则使用传统命名机制
上述命名机制中,有的需要biosdevname程序的参与。所以必须安装biosdevname程序且启用它。
1.3 网络接口名称组成格式
基于固件、设备结构、设备类型
- 由两个字母开头标示固件
- 以太网网卡以 en 开头
- 无线网卡以 wl 开头
- 设备结构
- o:主板上集成的设备的设备索引号
- s:扩展槽的索引号
- x:基于MAC地址的命名
- ps:基于物理位置拓扑的命名。如enp2s1,表示PCI总线上第2个总线的第1个插槽的设备索引号
1.4 网卡设备的命名过程
- udev,辅助工具程序/lib/udev/rename_device会根据/usr/lib/udev/rules.d/60-net.rules中的信息设定网卡名称
- biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules中的信息设定网卡名称
- 通过udev检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description中的变量信息设定网卡名称
1.5 回归传统命名
修改网卡配置文件
[root@wenhs-AWS ~]# cd /etc/sysconfig/network-scripts/
[root@wenhs-AWS network-scripts]# cp ifcfg-ens33 ifcfg-eth0
[root@wenhs-AWS network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0 //此处要把ens33改成eht0
DEVICE=eth0 //此处要把ens33改成eht0
ONBOOT=yes
编辑/etc/default/grub配置文件,在以GRUB_CMDLINE_LINUX开头的行内rhgb的前面加上net.ifnames=0 biosdevname=0
[root@wenhs-AWS ~]# vim /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=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
为grub2生成其配置文件
[root@wenhs-AWS ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-4b6c5369a989421bb4205cfad603d374
Found initrd image: /boot/initramfs-0-rescue-4b6c5369a989421bb4205cfad603d374.img
done
重启系统
[root@localhost ~]# reboot
2. 网络管理常用命令
2.1 ifconfig
查看当前处于活动状态的所有网络接口
[root@wenhs-AWS ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 10.0.100.10 netmask 255.255.255.0 broadcast 10.0.100.255
inet6 fe80::869:6bff:fe89:6872 prefixlen 64 scopeid 0x20<link>
ether 0a:69:6b:89:68:72 txqueuelen 1000 (Ethernet)
RX packets 1187 bytes 128192 (125.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1232 bytes 120424 (117.6 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 1000 (Local Loopback)
RX packets 96 bytes 8952 (8.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 96 bytes 8952 (8.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
仅查看eth0网卡状态
[root@wenhs-AWS ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 10.0.100.10 netmask 255.255.255.0 broadcast 10.0.100.255
inet6 fe80::869:6bff:fe89:6872 prefixlen 64 scopeid 0x20<link>
ether 0a:69:6b:89:68:72 txqueuelen 1000 (Ethernet)
RX packets 1221 bytes 130744 (127.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1265 bytes 126274 (123.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看所有网卡状态信息, 包括禁用和启用
[root@wenhs-AWS ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 10.0.100.10 netmask 255.255.255.0 broadcast 10.0.100.255
inet6 fe80::869:6bff:fe89:6872 prefixlen 64 scopeid 0x20<link>
ether 0a:69:6b:89:68:72 txqueuelen 1000 (Ethernet)
RX packets 1240 bytes 131850 (128.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1280 bytes 128032 (125.0 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 1000 (Local Loopback)
RX packets 96 bytes 8952 (8.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 96 bytes 8952 (8.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
网卡配置信息含义如下:
UP: 网卡处于活动状态
BROADCAST: 支持广播
RUNNING: 网线已接入
MULTICAST: 支持组播
MTU: 最大传输单元(字节),即此接口一次所能传输的最大封包
inet: 显示IPv4地址行
inet6: 显示IPv6地址行
link/enther: 指设备硬件(MAC)地址
txqueuelen: 传输缓存区长度大小
RX packets: 接收的数据包
TX packets: 发送的数据包
errors: 总的收包的错误数量
dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃
collisions: 网络信号冲突情况, 值不为0则可能存在网络故障
2.2 ip
语法:ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT:
link:网络接口属性
addr:协议地址
route:路由
查看网络接口所有地址
[root@wenhs-AWS ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
显示报文统计信息
[root@wenhs-AWS ~]# ip -s link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
8952 96 0 0 0 0
TX: bytes packets errors dropped carrier collsns
8952 96 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
135805 1306 0 0 0 0
TX: bytes packets errors dropped carrier collsns
135567 1339 0 0 0 0
启用或禁用网络接口ip link set DEV {up|down}
[root@wenhs-AWS ~]# ip link set lo down
[root@wenhs-AWS ~]# ip link set lo up
ip addr add ADDRESS dev DEV:添加IP地址
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
valid_lft 2924sec preferred_lft 2924sec
inet6 fe80::869:6bff:fe89:6872/64 scope link
valid_lft forever preferred_lft forever
[root@wenhs-AWS ~]# ip addr add 192.168.1.1/24 dev eth0
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
valid_lft 2871sec preferred_lft 2871sec
inet 192.168.1.1/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::869:6bff:fe89:6872/64 scope link
valid_lft forever preferred_lft forever
//ip addr del ADDRESS dev DEV:删除IP地址
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
valid_lft 2826sec preferred_lft 2826sec
inet 192.168.1.1/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::869:6bff:fe89:6872/64 scope link
valid_lft forever preferred_lft forever
[root@wenhs-AWS ~]# ip addr del 192.168.1.1/24 dev eth0
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
valid_lft 2742sec preferred_lft 2742sec
inet6 fe80::869:6bff:fe89:6872/64 s