用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
运维.售后
›
运维.售后
›
零基础Linux入门教程:Linux 防火墙的使用与配置 ...
零基础Linux入门教程:Linux 防火墙的使用与配置
熊熊出没
论坛元老
|
2025-1-3 04:04:08
|
显示全部楼层
|
阅读模式
楼主
主题
1766
|
帖子
1766
|
积分
5298
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
零基础Linux入门教程:Linux 防火墙的使用与配置
在 Linux 体系中,防火墙是保障服务器网络安全的重要工具,通过一系列规则控制数据包的流入、流出及转发举动。本文将从 CentOS 和 Ubuntu 两大主流 Linux 发行版出发,详细介绍它们的防火墙工具及使用方法。
一、防火墙基础概念
防火墙是操纵体系用于掩护网络安全的核心组件。它通过设置规则,允许或拒绝网络数据包的传输。Linux 防火墙基于
Netfilter
框架实现,并提供两类重要工具:
iptables
:传统的下令行工具,适合高级用户。
现代封装工具
:如 firewalld 和 UFW,为用户提供更简单的下令接口。
无论工具种类怎样,防火墙的核心功能都是定义规则控制网络举动。
二、CentOS 防火墙详解
CentOS 体系中,防火墙工具重要有两种:现代的 firewalld 和传统的 iptables。
1. firewalld
firewalld 是 CentOS 默认的防火墙工具,它基于区域(zone)管理规则,可以动态修改防火墙配置,适合现代化的网络管理。
核心概念
区域(Zone)
:区域是 firewalld 的核心,用于管理网络接口的规则。不同区域有不同的安全级别,例如 public、dmz 等。
服务(Service)
:服务是预定义的一组规则,用于快速开放常见服务(如 HTTP、SSH)。
永世规则与运行时规则
:
永世规则
:需要加 --permanent 参数,只有在重新加载后生效。
运行时规则
:即时生效,但重启后失效。
服务管理
systemctl start firewalld # 启动防火墙
systemctl stop firewalld # 停止防火墙
systemctl restart firewalld # 重启防火墙
systemctl enable firewalld # 开机自启
systemctl status firewalld # 查看防火墙状态
复制代码
开放端口
永世开放端口(如 HTTP 80)
:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload # 重新加载规则
复制代码
临时开放端口
:
firewall-cmd --add-port=80/tcp
复制代码
允许服务
添加服务规则(如 SSH)
:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
复制代码
移除服务规则
:
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload
复制代码
查看规则
列出全部规则:
firewall-cmd --list-all
复制代码
查看某区域的规则:
firewall-cmd --zone=public --list-all
复制代码
管理区域
查看全部可用区域:
firewall-cmd --get-zones
复制代码
查看当前接口绑定的区域:
firewall-cmd --get-active-zones
复制代码
将接口绑定到指定区域(如 public):
firewall-cmd --zone=public --add-interface=eth0
复制代码
重置防火墙
恢复默认规则:
firewall-cmd --permanent --reload-default
复制代码
2. iptables
iptables 是传统的防火墙工具,它直接操纵 Netfilter,规则灵活且强大。只管 firewalld 已成为主流,但某些高性能场景仍旧使用 iptables。
核心概念
表(Tables)
:
filter 表:默认表,用于包过滤。
nat 表:用于地点转换(如端口转发)。
mangle 表:用于修改数据包。
链(Chains)
:
INPUT:处置惩罚进入本机的数据包。
OUTPUT:处置惩罚本机发送的数据包。
FORWARD:处置惩罚转发的数据包。
规则(Rules)
:定义匹配条件和动作(如 ACCEPT、DROP)。
服务管理
systemctl start iptables # 启动防火墙
systemctl stop iptables # 停止防火墙
systemctl enable iptables # 开机自启
复制代码
添加规则
允许 HTTP 和 SSH 服务
:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
复制代码
拒绝全部其他流量
:
iptables -A INPUT -j DROP
复制代码
限定 SSH 毗连速率
:
iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/min -j ACCEPT
复制代码
查看规则
显示全部规则:
iptables -L -v -n
复制代码
查看某表(如 nat)规则:
iptables -t nat -L -v -n
复制代码
删除规则
删除指定规则(如 HTTP):
iptables -D INPUT -p tcp --dport 80 -j ACCEPT
复制代码
清空全部规则:
iptables -F
复制代码
保存和恢复规则
保存规则到配置文件:
service iptables save
复制代码
恢复规则:
service iptables restart
复制代码
端口转发(NAT)
将外部 8080 端口映射到内部 80 端口:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
复制代码
启用 IP 转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码
3. firewalld 和 iptables 的对比
功能firewalldiptables易用性更适合现代用户,下令简单配置复杂,适合高级用户动态配置支持动态修改,实时生效修改需手动重启规则区域管理支持基于区域的规则分组不支持区域概念灵活性灵活性中等,适合一样平常使用灵活性高,支持复杂场景性能对大规模规则场景稍有不足性能高,适合复杂场景
三、Ubuntu 防火墙
1. UFW(默认工具)
UFW(Uncomplicated Firewall)是 Ubuntu 的默认防火墙工具,它封装了 iptables,使配置防火墙更加简单直观。
启用与禁用防火墙
:
sudo ufw enable # 启用防火墙
sudo ufw disable # 禁用防火墙
复制代码
添加规则
:
允许 HTTP 和 SSH 服务:
sudo ufw allow 80
sudo ufw allow 22
复制代码
克制 FTP 服务:
sudo ufw deny 21
复制代码
查看规则
:
sudo ufw status
复制代码
删除规则
:
sudo ufw delete allow 22
复制代码
2. iptables
在 Ubuntu 上,iptables 的使用与 CentOS 雷同。实用于需要复杂规则配置的场景。
限定单个 IP 访问
:
iptables -A INPUT -s 192.168.1.100 -j DROP
复制代码
设置限定特定端口的访问
:
iptables -A INPUT -p tcp --dport 3306 -j DROP
复制代码
四、防火墙配置实践
以下是 CentOS 和 Ubuntu 上常见防护规则配置示例:
允许 SSH、HTTP 服务
:
CentOS(firewalld)
:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
复制代码
Ubuntu(UFW)
:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw enable
复制代码
限定特定 IP 访问
:
iptables
:
iptables -A INPUT -s 192.168.1.100 -j DROP
复制代码
开放自定义端口(如 MySQL 3306)
:
CentOS(firewalld)
:
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
复制代码
Ubuntu(UFW)
:
sudo ufw allow 3306
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
熊熊出没
论坛元老
这个人很懒什么都没写!
楼主热帖
数据库的三大范式
创建SQL server服务器
在字节跳动干软件测试5年,4月无情被辞 ...
2年自动化测试经验,连基础的都不会, ...
TortoiseGit间接处理linux目录下的仓库 ...
神经网络与深度学习
Java 知识 - 接口代理
django小项目 ----- 创建错题集 ...
ZYNQ从放弃到入门(十二)- AMP — Zyn ...
基于遗传算法的最优潮流问题的研究(Ma ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表