CentOS7与Ubuntu防火墙管理命令操作总结

CentOS7

在CentOS7上,默认使用firewalld作为防火墙管理工具。

启动、停止和重启防火墙

启动防火墙:

bash 复制代码
sudo systemctl start firewalld

停止防火墙:

bash 复制代码
sudo systemctl stop firewalld

重启防火墙:

bash 复制代码
sudo systemctl restart firewalld

置默认区域

CentOS 7中的firewalld将网络接口分配到不同的区域。下面是一些常见的区域及其用途:

bash 复制代码
public:用于公共网络,通常是不受信任的网络
trusted:用于受信任的网络,例如内部网络
home:用于家庭网络
work:用于工作网络

查看当前的默认区域:

bash 复制代码
sudo firewall-cmd --get-default-zone

设置默认区域:将 <zone> 替换为希望设置为默认的区域。

bash 复制代码
sudo firewall-cmd --set-default-zone=<zone>

查看防火墙状态和规则

查看防火墙状态:

bash 复制代码
sudo firewall-cmd --state

查看已配置的所有区域和规则:

这个命令将显示防火墙中已配置的所有规则。

bash 复制代码
sudo firewall-cmd --list-all

查看特定区域的规则:将 <zone> 替换为要查看的区域名称。

bash 复制代码
sudo firewall-cmd --zone=<zone> --list-all

添加和删除规则

添加开放端口规则:

将在公共区域添加一个开放的TCP端口规则。将<zone>替换为要添加规则的区域名称,将<port>替换为实际的端口号。

bash 复制代码
sudo firewall-cmd --zone=<zone> --add-port=<port>/tcp --permanent

添加允许指定服务的规则:

将在公共区域添加一个允许指定服务的规则。将<zone>替换为要添加规则的区域名称,将 <service> 替换为实际的服务名称,例如 http。

bash 复制代码
sudo firewall-cmd --zone=<zone> --add-service=<service> --permanent

删除规则:

将从公共区域永久删除指定的规则。将<zone>替换为要添加规则的区域名称,将<rule>替换为实际要删除的规则。

bash 复制代码
sudo firewall-cmd --zone=<zone> --remove-rule=<rule> --permanent

重新加载和永久生效配置

重新加载防火墙配置:

bash 复制代码
sudo firewall-cmd --reload

永久生效配置:

bash 复制代码
sudo firewall-cmd --runtime-to-permanent

Ubuntu防火墙管理操作

在Ubuntu上,可以使用ufw(Uncomplicated Firewall)来管理防火墙。它是一个简单易用的防火墙管理工具,可以用来配置和管理防火墙规则。

安装和启用ufw

如果尚未安装ufw,可以使用以下命令安装:

bash 复制代码
sudo apt update
sudo apt install ufw

安装完成后,使用以下命令启用ufw:

bash 复制代码
sudo ufw enable

验证ufw状态

使用以下命令检查ufw的状态和开启状态的规则:

bash 复制代码
sudo ufw status

查看更详细的信息令:

bash 复制代码
sudo ufw status verbose

管理操作

查看防火墙状态

bash 复制代码
sudo ufw status 

打开防火墙

bash 复制代码
sudo ufw enable 

关闭防火墙,完全禁用防火墙,并且所有的规则将会被清空,不生效

bash 复制代码
sudo ufw disable

重置防火墙配置为默认设置,删除所有自定义规则并禁用防火墙。

bash 复制代码
sudo ufw reset

重启防火墙

bash 复制代码
sudo ufw reload 

列出可用的应用程序配置文件列表,这些配置文件提供了预定义的规则,使配置更加简单。

bash 复制代码
sudo ufw app list

应用预定义规则,这个命令会根据预定义的规则允许SSH连接。

bash 复制代码
sudo ufw allow OpenSSH

调整默认行为:分别将防火墙的默认行为设置为拒绝所有传入连接和允许所有传出连接。

bash 复制代码
sudo ufw default deny incoming

sudo ufw default allow outgoing

分别打开和关闭防火墙的日志记录功能。

bash 复制代码
sudo ufw logging on

sudo ufw logging off

限制连接速率:将限制针对特定端口(例如SSH端口)的连接速率,以防止暴力破解和拒绝服务攻击。

bash 复制代码
sudo ufw limit 22

配置ufw规则

使用以下命令允许(或拒绝)特定的端口:

bash 复制代码
sudo ufw allow 22   # 允许SSH连接

sudo ufw deny 80   # 拒绝HTTP连接

使用以下命令允许(或拒绝)特定的服务:

bash 复制代码
sudo ufw allow http   # 允许HTTP服务

sudo ufw deny ftp     # 拒绝FTP服务

使用以下命令允许(或拒绝)特定的IP地址访问:

bash 复制代码
sudo ufw allow from 192.168.1.100   # 允许来自特定IP地址的连接

sudo ufw deny from 203.0.113.0/24   # 拒绝特定IP地址段的连接

更具体使用:

bash 复制代码
sudo ufw allow from any to any port 3389 proto tcp # 允许TCP协议的3389端口上来自任意IP地址的连接

具体解释如下:

bash 复制代码
sudo:以管理员权限执行命令

ufw:是Ubuntu中的防火墙管理工具

allow:允许通过防火墙的请求

from any:允许来自任意IP地址的请求

to any:允许发送到任意IP地址的请求

port 3389:指定端口号3389(远程桌面协议RDP所使用的默认端口)

proto tcp:指定使用TCP协议

删除和禁用规则

使用以下命令删除已存在的规则:

bash 复制代码
sudo ufw delete allow http

sudo ufw delete allow 22

如果只是想禁用某个规则而不删除它:

bash 复制代码
sudo ufw deny 22    # 禁用SSH连接规则

通过防火墙规则编号删除和禁用规则

bash 复制代码
sudo ufw status numbered # 列出防火墙规则及其编号

sudo ufw delete <rule_number> # 用实际的规则编号替换 <rule_number>,删除特定规则

sudo ufw deny <rule_number>	# 用实际的规则编号替换 <rule_number>,禁用特定规则
相关推荐
城南观北38 分钟前
Ubuntu 解决 apt 锁占用 + 安装 net-tools + 搭建 SSH 远程连接(保姆级实操)
linux·ubuntu·ssh
s_w.h1 小时前
【 linux 】文件管理与重定向
linux·运维·服务器
Cloud_Shy6181 小时前
Linux 系统定时任务 Cron(d) 服务应用实践(二:生产环境下的用户定时任务)
linux·运维·服务器·centos·云计算
STDD1 小时前
strace 和 perf:Linux 进程调试和性能分析深度指南
linux·运维·php
Rain5091 小时前
05. mini-cc 工具系统:让 AI 拥有动手能力
linux·前端·人工智能·ubuntu·typescript·ai编程
都在酒里1 小时前
Linux字符设备驱动开发(五):PWM调光——实现LED亮度控制与呼吸灯效果
linux·运维·驱动开发
Hani_972 小时前
Code Coverage系列(三)gcov 是什么?做什么?两个参数?检测原理?gcno文件内容?gcda文件内容?
linux·代码覆盖率
青梅橘子皮2 小时前
Linux---进程状态与优先级
linux·运维·服务器
H Journey2 小时前
Linux VIM介绍与常用命令
linux·运维·vim
invicinble2 小时前
设计模式(类的拓扑结构)(为什么会产生设计模式,以及什么是设计模式)
linux·服务器·设计模式