10、网络管理
Linux网卡的命名规则
参考 linux网卡命名规则与修改方法 - 知乎 (zhihu.com)
在早期的的操作系统中例如fedora13或者ubuntu15之前网卡命名的方式为eth0,eth1,eth2,属于biosdevname 命名规范。当然这是针对intel网卡的命名规则,对于realtek类型的网卡会命名为ens33。
但是这个编号往往不一定准确对应网卡接口的物理顺序,为了能够方便定位和区分网络设备,目前linux的主流操作系统采用一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING)规范。
一致网络设备命名规则(CONSISTENT NETWORK DEVICE NAMING)
-
命名规范为:设备类型 + 设备位置
-
设备类型
en:代表以太网
wl:代表无线局域网(WLAN)
ww:代表无线局域网(WWANs)
-
设备位置
o:主板bios内置的网卡
s:主板bios内置的PCI-E网卡
x:MAC地址
p:PCI-E独立网卡
-
-
示例
-
eno1:板载1号网卡
-
enp0s2:以太网0号PCI扩展卡的2号端口
-
ens33:由主板 BIOS 内置的 PCI-E 接口的网卡
-
wlp1s0:无线第1号PCI扩展卡的0号端口
-
网络管理器
网络管理器(NetworkManager)是一个动态网络的控制器与配置系统,他用于当网络设备可用时保持设备和连接开启并激活
查看网络管理程序的状态
[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 一 2024-05-06 19:09:45 CST; 2min 13s ago
Docs: man:NetworkManager(8)
Main PID: 713 (NetworkManager)
Tasks: 4
CGroup: /system.slice/NetworkManager.service
├─713 /usr/sbin/NetworkManager --no-daemon
└─869 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf /var/lib/NetworkManager/dhclient-f2081a4...
Active:程序的状态。running,运行状态
Tasks:拥有的子进程
network进程是NetworkManager的一个子进程,当我们配置网卡文件后,将该进程重启一下
[root@localhost ~]# systemctl restart network
网卡配置文件
查看配置文件
在路径:/etc/sysconfig/network-scripts/ 下
[root@localhost ~]# ls /etc/sysconfig/network-scripts
ifcfg-ens33 ifdown-ib ifdown-ppp ifdown-tunnel ifup-ib ifup-plusb ifup-Team network-functions
ifcfg-lo ifdown-ippp ifdown-routes ifup ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
ifdown ifdown-ipv6 ifdown-sit ifup-aliases ifup-ipv6 ifup-ppp ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-Team ifup-bnep ifup-isdn ifup-routes ifup-wireless
ifdown-eth ifdown-post ifdown-TeamPort ifup-eth ifup-plip ifup-sit init.ipv6-global
在里面找到符合Linux网卡命令规则的文件,我这里的是:ens33
查看 ifcfg-ens33 的内容,这里面就是网卡的配置文件了,默认配置
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet // 网络类型。Ethernet表示以太网
PROXY_METHOD=none // 是否启用代理
BROWSER_ONLY=no // 是否仅浏览
BOOTPROTO=dhcp // 获取ip的方式。dhcp表示自动获取ip
DEFROUTE=yes // 网卡网关设置为默认网卡
IPV4_FAILURE_FATAL=no // IPv4配置失败是否启动IPv6
IPV6INIT=yes // 是否启用IPv6
IPV6_AUTOCONF=yes // 是否自动分配IPv6的地址
IPV6_DEFROUTE=yes // 是否将当前接口设置为IPv6的默认网关
IPV6_FAILURE_FATAL=no // IPv6配置失败是否启动IPv4
IPV6_ADDR_GEN_MODE=stable-privacy // IPv6的配置是否自动创建
NAME=ens33 // 配置文件的名字
UUID=f2081a40-8d28-4634-ab0b-540dff1fed56 // 网卡ip
DEVICE=ens33 // 网卡设备
ONBOOT=no // 开机是否自动激活该网卡
BOOTPROTO:获取IP的方式
- 自动获取:dhcp
- 手动配置:none
- 静态配置:static。静态配置也属于手动配置的一种,需要在配置文件中配ip、掩码、网关、域名
配置网卡
先将系统默认的网卡配置文件备份一下
[root@localhost ~]# pc /etc/sysconfig/network-scripts/ifcfg-ens33 /root/pc_dir
在使用vim打开ifcfg-ens33文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改:
BOOTPROTO=static
ONBOOT=yes
增加:
IPADDR // IPv4地址
NETMASK // 子网掩码
GATEWAY // 网关
DNS1 // 域名
如下
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static // 静态ip
IPADDR=192.168.10.128 // ip地址
NETMASK=255.255.255.0 // 子网掩码
GATEWAY=192.168.10.2 // 网关
DNS1=192.168.10.2 // 域名
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=ens33
UUID=f2081a40-8d28-4634-ab0b-540dff1fed56
DEVICE=ens33
ONBOOT=yes
不知道怎么配ip、网关、域名这些的可以看一下VMware为我们自动配的ip等
进入Network网络界面后,要点一下齿轮的按钮才能进入Wired
管理主机名
hostname:查看主机名
语法格式:hostname 参数 主机名
常用参数
参数 | 描述 |
---|---|
-a | 显示主机别名 |
-d | 显示DNS域名 |
-f | 显示FQDN名称 |
-F | 从指定文件中读取主机名 |
-h | 显示帮助信息 |
-i | 显示主机IP地址 |
-s | 显示短主机名 |
-v | 显示执行过程详细信息 |
-V | 显示版本信息 |
-y | 显示NIS域名 |
使用示例
-
显示当前系统的主机名
[root@localhost ~]# hostname localhost.localdomain
更改主机名
主机名存放在 /etc/hostname 文件中,使用cat命令查看
[root@localhost ~]# cat /etc/hostname
localhost.localdomain
hostnamectl:命令行的方式设置主机名
英文词组hostname control的缩写,其功能是显示与设置主机名称。基于/etc/hostname文件修改主机名称时,需要重启服务器后才可生效,而使用hostnamectl命令设置过的主机名称可以立即生效,效率更高。
语法格式:hostnamectl 参数
常用参数
参数 | 描述 |
---|---|
set-hostname | 设置主机名 |
status | 显示主机名 |
-H | 操作远程主机 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
使用示例
-
修改主机名为:liu.com
[root@localhost ~]# hostnamectl set-hostname liu.com
-
显示当前系统的主机名称及系统信息
[root@liu ~]# hostnamectl status Static hostname: liu.com Icon name: computer-vm Chassis: vm Machine ID: 05be854f1ef74dca8dd340789dc8156e Boot ID: 25d5ecd7ee364a9a84bd00545fabd859 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.el7.x86_64 Architecture: x86-64
直接在文件中修改
使用vim打开 /etc/hostname,并将里面的内容修改为:liu.lyy.com
[root@liu ~]# vim /etc/hostname
[root@liu ~]# cat /etc/hostname
liu.lyy.com
重启系统后查看主机名
[root@liu ~]# hostnamectl status
Static hostname: liu.lyy.com
Icon name: computer-vm
Chassis: vm
Machine ID: 05be854f1ef74dca8dd340789dc8156e
Boot ID: 840a5d8ece4a475fb0249a576e9c3e03
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
网络测试工具
ip:显示网卡参数
常用参数
参数 | 描述 |
---|---|
a | 显示所有ip |
r | 显示路由信息,也就是网关 |
neigh | 显示通信过的主机 |
-
显示所有ip
[root@liu ~]# ip a
- lo、virbr0、virbr0-nic都是虚拟网卡
- ens33是本机的物理网卡。服务器可能不止一张网卡
- inet:ip地址
-
显示网关
[root@liu ~]# ip r default via 192.168.10.2 dev ens33 proto static metric 100 192.168.10.0/24 dev ens33 proto kernel scope link src 192.168.10.128 metric 100 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
-
显示通信过的主机
[root@liu ~]# ip neigh 192.168.10.1 dev ens33 lladdr 00:50:56:c0:00:08 DELAY 192.168.10.2 dev ens33 lladdr 00:50:56:fb:38:f1 STALE
ping:测试主机间网络是否连通
ping命令的功能是测试主机间网络的连通性,它发送出基于ICMP传输协议的数据包,要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。
不过值得注意的是,ping命令在Linux下与在Windows下有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下Ctrl+C组合键才能结束,或是发起命令时加入-c参数限定发送数据包的个数。
语法格式:ping 参数 域名或IP地址
常用参数
参数 | 描述 |
---|---|
-4 | 基于IPv4网络协议 |
-6 | 基于IPv6网络协议 |
-a | 发送数据时发出鸣响声 |
-b | 允许ping一个广播地址 |
-c | 设置发送数据包的次数 |
-d | 使用接口的SO_DEBUG功能 |
-f | 使用泛洪模式大量向目标发送数据包 |
-h | 显示帮助信息 |
-i | 设置收发信息的间隔时间 |
-I | 使用指定的网络接口送出数据包 |
-n | 仅输出数值 |
-p | 设置填满数据包的范本样式 |
-q | 静默执行模式 |
-R | 记录路由过程信息 |
-s | 设置数据包的大小 |
-t | 设置存活数值TTL的大小 |
-v | 显示执行过程详细信息 |
-V | 显示版本信息 |
使用示例
-
ping自己
[root@liu ~]# ping 127.0.0.1
-
ping指定域名
[root@liu ~]# ping www.baidu.com
-
ping自己,限制请求包为4个
[root@liu ~]# ping -c 4 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.036 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.079 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.084 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.057 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.036/0.064/0.084/0.019 ms
-
ping自己, 发送4个请求包,每次间隔0.2s,最长等待时间为3s:
[root@liu ~]# ping -c 4 -i 0.2 -w 3 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.059 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.079 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.071 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.065 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 600ms rtt min/avg/max/mdev = 0.059/0.068/0.079/0.011 ms