使用firewall-cmd限制ssh只能从指定IP段访问
实现过程
下面的命令将配置192.168.1.0/24整个网段的IP允许访问服务器的22端口
// 先移除默认开启的没有访问限制的ssh服务
# firewall-cmd --permanent --remove-service=ssh
// 添加复杂规则,只允许指定IP段访问22端口
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source
address="192.168.1.0/24" port protocol="tcp" port="22" accept'
// 使上面配置生效
# firewall-cmd --reload
// 查看当前配置信息
# firewall-cmd --list-all
备注:
source address也可以设置为单个IP地址,例如192.168.1.1
port可以为单个端口或端口范围,例如1-10000
其他常用命令
删除之前的复杂规则,这里的内容需要与之前添加时的rule内容完全一致,可以复制粘贴过来
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
手动开放指定端口
firewall-cmd --permanent --add-port=3306/tcp
删除开放的端口
firewall-cmd --permanent --remove-port=3306/tcp
开放指定服务(系统内置的)
firewall-cmd --permanent --add-service=http
删除服务
firewall-cmd --permanent --remove-service=http
添加白名单地址(单IP)
firewall-cmd --permanent --add-source=192.168.1.100
注: 白名单中的IP可以任意访问所有服务器可用的端口 这个白名单的作用不是这样的,有待继续研究
添加白名单地址(指定网络段CIDR格式)
firewall-cmd --permanent --add-source=192.168.1.0/24
删除白名单地址
firewall-cmd --permanent --remove-source=192.168.1.100
屏蔽指定IP地址
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' reject"
屏蔽IP地址段
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"
手动编辑xml配置文件
除了上面的命令添加规则外,还可以直接编辑/etc/firewalld/zones/public.xml文件(改完后记得执行firewall-cmd --reload生效)
参考文档(写的很详细)
https://www.liquidweb.com/kb/an-introduction-to-firewalld/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!