02_系统服务相关命令
02_系统服务相关命令
一、Linux系统防火墙
1.1、什么是防火墙
防火墙(Firewall) 是一种网络安全设备或软件,用来监控和控制进出网络的数据流量,就像现实生活中的“门卫”一样,决定哪些数据可以进入或离开你的电脑或网络。
想象一下,你的家只有一扇门,如果没人看守,坏人可能随时进来偷东西。
在网络世界中:
- 你的电脑/手机连接互联网,就像打开了这扇门。
- 黑客、病毒、恶意软件等就是“坏人”。
- 防火墙就是那个“看门人”,只允许“好人”(合法数据)通过。
防火墙根据预设的安全规则来判断数据是否可以通行。
常见规则包括:
- 允许/拒绝来自某个IP地址的连接
- 允许/拒绝某个端口(如80端口是网页)
🛡️ 防火墙:就像学校门卫检查学生证——有证(符合规则)才能进,没证(不符合规则)就拦下。
1.2、Centos防火墙
1.2.1、防火墙服务管理
默认firewalld服务是开机自启动的。
centos默认使用的防火墙为firewalld,它是对iptables的封装,使用运维人员使用起来变得更简单一些。
- 查看防火墙状态:
# 查看防火墙的状态 默认就是开启并开机自启动的
[root@node1 /data]# systemctl status firewalld --no-pager
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-04-27 11:20:26 CST; 2s ago
# 设置开机自启动,centos它默认就是开机自启动
[root@node1 /data/aaa]# systemctl enable firewalld
# 手动启动
[root@node1 /data/aaa]# systemctl start firewalld
# 手动停止
[root@node1 /data]# systemctl stop firewalld
# 通过查看进程也可以知道它是否启动
[root@node1 /data/aaa]# ps aux | grep firewalld
root 2796 0.1 2.3 352336 42752 ? Ssl 10:54 0:00 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid
root 2853 0.0 0.1 221680 2432 pts/0 S+ 10:56 0:00 grep --color=auto firewalld注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl stop firewalld注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl start firewalld注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl restart firewalld
# 或
systemctl reload firewalld
restart 先关闭,在开启(先stop,在start)
reload 在不关闭服务的前提下,实际对配置文件的重新加载(不会影响业务)注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
-------------- nginx服务访问 -----------------
# 安装
[root@node1 /data]# dnf install -y nginx
# 启动nginx服务
[root@node1 /data]# systemctl start nginx
# 查看状态
[root@node1 /data]# systemctl status nginx --no-pager
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; preset: disabled)
Active: active (running) since Mon 2026-04-27 09:15:42 CST; 2h 12min ago
# 在宿主机中通过浏览器去访问本机的ip地址,发现不能访问到,表示可能是因为防火墙给拦截了
# 排查是否是防火墙给拦截了
# 在本机中通过curl命令来访问 nginx提供的web服务,本机不受防火墙拦截
# curl它就是linux中的浏览器 -I 只返回响应行
# 只看响应行中的 状态码 200 表示成功 状态码只要是 大于等于200 小于300之间都为成功
# 404请求的这个地址不存在,但服务器是存在的
# --connect-timeout # 设置最大请求时间
# -I --head # 只显示请求头信息
# 127.0.0.1 本机自测地址
[root@node1 /data]# curl -I http://127.0.0.1
# 只要看到200 表示nginx服务是ok的,可以正常使用,只是给防火墙拦截了,外部不能访问到
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Mon, 27 Apr 2026 03:32:42 GMT
Content-Type: text/html
Content-Length: 2713881
Last-Modified: Fri, 12 Dec 2025 14:14:29 GMT
Connection: keep-alive
ETag: "693c2345-296919"
Accept-Ranges: bytes
-------------- nginx服务关闭 -----------------
[root@node1 /data]# systemctl stop nginx
# curl本地访问,会出现拒绝连接,表示nginx可能没有启动
[root@node1 /data]# curl -I http://127.0.0.1
curl: (7) Failed to connect to 127.0.0.1 port 80: 拒绝连接
# 请求设定超时时长 3秒
[root@node1 /data/aaa]# curl -I --connect-timeout 3 http://128.0.0.1
curl: (28) Connection timed out after 3001 milliseconds注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.2.2、防火墙普通规则配置
firewalld增加了区域(组)的概念,所谓区域是指,firewalld 预先准备了几套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。
| 区域 | 默认策略 |
|---|---|
| trusted | 允许所有数据包 【白名单】 |
| home | 拒绝流入的流量,除非与流出的流量相关,允许ssh,mdns,ipp-client,amba-client,dhcpv6-client服务通过 |
| internal | 等同于home |
| work | 拒绝流入的流量,除非与流出的流量相关,允许ssh,ipp-client,dhcpv6-client服务通过 |
| public(默认) | 拒绝流入的流量,除非与流出的流量相关,允许ssh,dhcpv6-client服务通过 |
| external | 拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过 |
| dmz | 拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过 |
| block | 拒绝流入的流量,除非与流出的流量相关,非法流量采取拒绝操作 |
| drop | 拒绝流入的流量,除非与流出的流量相关,非法流量采取丢弃操作 【黑名单】 |
- 语法
# 设置规则语法
firewall-cmd [选项] 命令...注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
# 通过查看区域所在的配置文件来看当前系统中支持的区域
[root@node1 /root]# ls /usr/lib/firewalld/zones/
block.xml drop.xml home.xml nm-shared.xml trusted.xml
dmz.xml external.xml internal.xml public.xml work.xml
# 通过命令查看当前系统中支持的区域
[root@node1 /root]# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work执行结果:
- 成功后应以该命令实际输出、生成的文件或目标服务状态为准;失败时先阅读终端报错,再核对命令参数和运行环境。
关键参数:
注意事项:
**关键参数:**
**注意事项:**注意事项:
ubuntu方案:
注意事项:
此命令是早期centos用来查看ip地址的命令,但现在已经不是默认,但公司中还是使用此命令用来查看ip地址为首选,因此需要安装一个net-tools软件,如果你安装的是图形无需要安装,默认已安装。
**注意事项:**
>
>
>
**注意事项:**
配置静态IP是为了确保设备在网络中始终使用固定的IP地址,避免因动态分配(DHCP)导致的IP变化,从而保证服务的稳定性和可访问性。
111
222
1111注意事项:
ens160.nmconnection
[connection] id=ens160 uuid=52ef8645-c701-375c-8bd6-85f7013c29dd type=ethernet autoconnect-priority=-999 interface-name=ens160 timestamp=1754381054
[ethernet]
[ipv4] method=manual address1=192.168.88.10/24,192.168.88.2 dns=192.168.88.2;119.29.29.29; ##########################
ignore-auto-dns=true
[ipv6] addr-gen-mode=eui64 method=auto
[proxy]
**注意事项:**
**如何修改主机名**
注意事项:
1:查看cpu核数 i:忽略闲置和僵死进程。这是一个开关式命令 q:退出程序 M:根据驻留内存大小进行排序 P:根据CPU使用百分比大小进行排序 T:根据时间/累计时间进行排序
**注意事项:**
已安装:
完毕!
常用快捷键与操作
进程管理:
视图与排序:
其他功能:注意事项:
**注意事项:**
注:现在企业中的服务器,大多数情况下都没有了swap分区,完全使用物理内存。swap分区它真的会影响服务器的性能。注意事项:
crontab它能设置的定时的最小单位为:分钟
基本语法:
**注意事项:**注意事项:
**注意事项:**
4个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1至7,则可以写成:1-7
/usr/bin/ls
/usr/bin/cp
/usr/bin/touch注意事项:
**注意事项:**
2026-03-26
2026-03-26
10:46:46
10:46:57
/usr/bin/echo
注:今后在定时任务中的业务,我们都是用脚本完成,而不是命令来实现。注意事项:
anaconda-ks.cfg
**注意事项:**
self.send_response(200)
self.end_headers()
')
')
else:
self.wfile.write(b'hello
')
server.serve_forever()执行
**命令拆解:**
| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `--add-port=8080/tcp` | 【普通】 | 长参数 `--add-port` 的值是 `8080/tcp`,用于精确控制命令行为。 |
**注意事项:**
screen系统默认没有安装,需要手动安装后才能使用。
注意事项:
本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。