网络管理
1.网卡命名
在VMware中,我们可以发现,当我们选择的操作系统不一样,那么相对应的网卡命名方式也不一样,有的叫ens32,有的叫ens33,有的叫ens160等等。不同系统 ,vmware做了相应的工作,提供不同版本的网卡设备,以支持系统的一些新特性,其实这都跟你选取的系统版本有关。因此我们要采取规范化的命名机制将网卡做一个重命名。
1.1传统网卡命名机制
以太网(ethernet) eth[0,1,2,3,...] 无线网(wlan) wlan[0,1,2,3,...]1.2redhat7网卡命名机制
systemd对网络设备的命名方式: 1.如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名,例如eno1 2.如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1 3.如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0 4.如果用户显式启动,也可根据MAC地址进行命名,例如enx2387a1dc56 上述均不可用时,则使用传统命名机制 5.上述均不可用时,则使用传统命名机制1.3 网络接口名称组成格式
基于固件、设备结构、设备类型
- 由两个字母开头标示固件
以太网网卡以 en 开头
无线网卡以 wl 开头 - 设备结构
o:主板上集成的设备的设备索引号
s:扩展槽的索引号
x:基于MAC地址的命名
ps:基于物理位置拓扑的命名。如enp2s1,表示PCI总线上第2个总线的第1个插槽的设备索引号
1.4 回归传统命名
//修改网卡配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33
[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[root@localhost network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0 //此处改为eth0
UUID=5bb06b78-f022-4157-9849-97d342435efd
DEVICE=eth0 //此处改为eth0
ONBOOT=yes
IPV6_PRIVACY=no
//编辑/etc/default/grub配置文件,在以GRUB_CMDLINE_LINUX开头的行内rhgb的前面加上net.ifnames=0 biosdevname=0
[root@localhost network-scripts]# 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 resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
//为grub2生成其配置文件
[root@localhost network-scripts]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
done
//重启系统
[root@localhost network-scripts]# reboot
2. 网络管理常用命令
2.1 ifconfig
//有的版本是用的ip命令可能没有这个命令,需要安装相关软件包
[root@localhost ~]# dnf whatprovides ifconfig
上次元数据过期检查:0:39:00 前,执行于 2021年05月11日 星期二 09时18分05秒。
net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic
...: networking tools
仓库 :baseos
匹配来源:
文件名 :/usr/sbin/ifconfig
[root@localhost ~]# dnf -y install net-tools
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.249.141 netmask 255.255.255.0 broadcast 192.168.249.255
inet6 fe80::d624:62c2:9c54:9536 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:48:79:5d txqueuelen 1000 (Ethernet)
RX packets 649 bytes 379012 (370.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 286 bytes 34851 (34.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 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
//仅查看eth0网卡状态
[root@localhost ~]# ifconfig eth0
//查看所有网卡状态信息, 包括禁用和启用
[root@localhost ~]# ifconfig -a
//网卡配置信息含义如下:
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@localhost ~]# 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 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:48:79:5d brd ff:ff:ff:ff:ff:ff
//显示报文统计信息
[root@localhost ~]# 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
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:48:79:5d brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
404246 1025 0 0 0 0
TX: bytes packets errors dropped carrier collsns
42463 379 0 0 0 0
//启用或禁用网络接口ip link set DEV {up|down}
[root@localhost ~]# ip link set lo down
[root@localhost ~]# ip link set lo up
//ip addr add ADDRESS dev DEV:添加IP地址
[root@localhost ~]# ip addr add 192.168.1.1/24 dev eth0
//ip addr del ADDRESS dev DEV:删除IP地址
[root@localhost ~]# ip addr del 192.168.1.1/24 dev eth0
//ip addr show DEV:查看网络接口的地址
[root@localhost ~]# ip addr show eth0
2.3 route
Linux主机之间是使用IP进行通信, 假设A主机和B主机同在一个网段内且网卡都处于激活状态, 则A具备和B直接通信的能力, 但如果A主机和B主机处于两个不同的网段, 则A必须通过路由器才能和B通信, 路由器属于IT设备的基础设施, 每一个网段都应该至少有一个网关
//查看当前路由表
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 eth0
192.168.249.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
//以数字方式显示各主机或端口等相关信息
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.249.2 0.0.0.0 UG 100 0 0 eth0
192.168.249.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
//增加路由
//语法:route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
//增加网段路由
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.249.2 dev eth1
[root@localhost ~]# route add -net 0.0.0.0/0 gw 192.168.249.2 dev eth1
//增加主机路由
[root@localhost ~]# route add -host 192.168.12.128 gw 192.168.249.2
//删除路由
[root@localhost ~]# route del -net 192.168.1.0/24
[root@localhost ~]# route del -net 0.0.0.0/0 gw 192.168.249.2