Linux网络服务

查看ip

查看当前Ip地址

复制代码
ip a

ip a s

#查看所有网卡IP
ifconfig

这个命令不能用的话,我们看一下这个命令由谁提供的,再去下载这个包,默认安装最新版本

这个命令好用一点,一行一个命令

查看网卡信息

  • 网卡名不是统一称呼 :ens160 只是你这台虚拟机的网卡名,别的机器可能叫 eth0、ens33、enp0s3,甚至更复杂的名字,没有统一的固定称呼。
  • 它是系统自动生成的 :现代 Linux(CentOS 7+、Ubuntu 16.04+)默认用 udev 规则,根据网卡的硬件插槽、总线位置 自动生成名字,不是你手动配置的。
  • 设计目的 :为了让网卡名永久固定 ,哪怕你插拔网卡、重启机器,名字也不会乱变,避免之前「eth0、eth1 顺序乱跳」的坑。

方法1

复制代码
ifconfig ens160

可以看到自己的虚拟机地址

方法2

复制代码
ip a show ens160

那我怎么知道我的网卡叫什么

查看网卡名

  1. 远程连接服务器(最最最常用)

这是你接触 Linux 的第一个场景,没有网卡信息根本连不上。

  • 你用 Xshell、FinalShell、SSH 工具连虚拟机,必须填网卡的 IP 地址 ,不然工具根本不知道要连哪台机器。
  • 比如你现在的 192.168.88.101,就是你远程连接的唯一凭证,填错一个数字就连接失败。
  1. 部署网站 / 服务,让别人能访问

你在 Linux 里搭的网站、Nginx、MySQL、Java 程序,要让别人访问,必须知道网卡信息。

  • 你搭了一个网站,要告诉别人「访问 192.168.88.101:8080 就能打开」,这里的 IP 就是网卡的 IP。
  • 你要给服务配置端口、防火墙规则,必须绑定到正确的网卡 IP 上,不然服务只能自己访问,别人连不上。
  1. 网络故障排查(运维核心技能)

网络出问题时,网卡信息是排错的第一手资料。

  • 虚拟机连不上网?先查网卡是不是 UP 状态、IP 是不是正确、有没有丢包。
  • 服务访问不了?先查网卡 IP 有没有变、防火墙有没有拦截、网卡有没有报错。
  • 服务器卡了?看网卡的 RX/TX 流量,是不是被打满了,有没有异常流量攻击。
  1. 多机器集群 / 分布式环境搭建

你要搭 K8s 集群、Hadoop 集群、多节点服务,网卡信息是核心配置。

  • 你有 node1、node2、node3 三台虚拟机,集群配置里必须填每台机器的网卡 IP,不然机器之间没法互相通信。
  • 集群的主机名映射、SSH 免密登录、服务注册,全靠网卡 IP 来识别机器。
  1. 网络配置修改(静态 IP、网关、DNS)

你要把 IP 改成固定的、换网关、改 DNS,必须先知道当前的网卡名和配置。

  • 比如你要给虚拟机设置静态 IP,必须先知道网卡名是 ens160,才能编辑对应的配置文件,不然改了半天改到别的网卡上,完全没用。
  • 你要换网关、DNS,必须先查当前网卡的配置,才能正确修改,不然网络直接断了。
  1. 安全配置与权限管理

服务器的安全防护,离不开网卡信息。

  • 你要配置防火墙,只允许特定 IP 访问你的服务器,必须知道网卡的 IP 和网段。

  • 你要给服务器做安全加固,禁用不必要的网卡、限制网卡的访问权限,都要先查网卡信息。

    ip addr

nmcli

nmcli 是系统级网络配置工具 ,修改的配置永久生效;ifconfig/ip 大多是临时操作,重启就失效。

复制代码
nmcli connection show

nmcli device status

nmcli device show ens160

ping

echo $?

捕获上一个命令的执行结果

执行成功输出为0,执行不成功则为非0

静态ip配置

&&

看系统配置文件目录

复制代码
# 查看NetworkManager服务状态
systemctl status NetworkManager
  • 如果显示 active (running):配置文件在 /etc/NetworkManager/system-connections/
  • 如果显示 inactive (dead):大概率用的是传统 network 服务,配置文件在 /etc/sysconfig/network-scripts/

网卡配置文件路径

centos7/8/9通用

如果不知道自己的网卡是啥先去ifconfig,我这里用ens160举例

复制代码
/etc/sysconfig/network-scripts/ifcfg-ens160

查看配置文件

复制代码
cat /etc/sysconfig/network-scripts/ifcfg-ens160

nmcli con show ens160

uuid

  • 不能手动修改 UUID:手动改 UUID 会导致 NetworkManager 识别不到配置,网络直接失效。
  • 克隆虚拟机必改 UUID:克隆虚拟机后,系统会自动生成新的 UUID,不用手动操作,避免网络冲突。
  • 配置文件里的 UUID 必须和系统匹配:如果配置文件里的 UUID 和系统识别到的不一致,网络连接会启动失败。

你克隆了 node1 虚拟机,生成 node2,没有 UUID 的话

复制代码
uuidgen

修改主机名

临时加永久

复制代码
hostnamectl set-hostname 新名字

刷新bash

永久修改

系统核心命令

top

系统资源监控命令

复制代码
top

交换区:

  1. 内存扩容兜底
    系统物理内存耗尽后,内核会把长时间未调度运行的进程页面置换到交换分区,腾出物理内存优先保障当前运行业务,防止应用异常终止、系统卡死。

  2. 实现系统休眠机制
    执行休眠操作时,整机内存中的所有运行数据都会写入交换分区;再次开机读取分区数据,就能复原休眠前的系统与程序状态。

  3. 优化内存调度策略
    协助内核管理内存资源,平衡内存负载,在多进程并发、大内存占用场景下,保障系统整体运行平稳。

  4. 应对突发内存峰值
    业务瞬间内存占用突增时,交换分区可临时承接数据,缓冲内存压力。

运行 top 之后,可以按下边对应的字母(区分大小写)进行一些功能的切换:
h 或者?:显示帮助画面,给出一些简短的命令总结说明
1:查看cpu核数
i:忽略闲置和僵死进程。这是一个开关式命令
q:退出程序
c:切换显示命令名称和完整命令行。 显示完整的命令。
M:根据驻留内存大小进行排序
P:根据CPU使用百分比大小进行排序
T:根据时间/累计时间进行排序

关于cpu每项的说明

us (user):3.1% ------ 用户空间程序(应用程序)占用
sy (system):0.0% ------ 内核空间占用(系统调用、内核操作)
ni (nice):0.0% ------ 低优先级(nice 值调整过的)用户进程占用
id (idle):96.9% ------ 空闲百分比
wa (iowait):0.0% ------ 等待磁盘 I/O 完成的时间
hi (hardware interrupt):0.0% ------ 处理硬件中断的时间
si (software interrupt):0.0% ------ 处理软件中断的时间
st (steal):0.0% ------ 虚拟化环境中被 hypervisor 偷走的时间(本机非虚拟机则为 0)

df

复制代码
#以人类易读的方式查看磁盘容量
df -h

#以 total 的方式统计磁盘容量
df --total

#显示每个设备的文件系统
df -T

#同时满足「人类易读 + 显示文件系统 + 统计总和」
df -hT --total

free

复制代码
以 M 为单位显示系统内存,查看可用内存
free -m
相关推荐
aixingkong9212 小时前
Nvidia为例 XPU的Multi-Host、Socket Direct 、GPUDirect、RDMA 技术点分析
服务器·网络·硬件架构·硬件工程
雯宝4 小时前
mnt_init 函数
linux
律宏阔10 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔10 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴10 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千11 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3711 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3711 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3711 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh11 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker