如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则
发布日期:2021-05-18 08:56:30 浏览次数:18 分类:精选文章

本文共 1411 字,大约阅读时间需要 4 分钟。

防火墙规则的管理工具

防火墙是一组规则,用于监控和控制进出网络的数据包。这些规则可以根据数据包的来源、目标和使用的协议等信息,决定是否允许数据包通过网络。以下将从iptables和firewalld两个工具入手,介绍如何配置Linux防火墙规则。

firewall-cmd的基本使用

firewall-cmd是一个用户友好的命令行工具,用于管理firewalld防火墙。 首先可以查看防火墙的运行状态:

firewall-cmd --state

默认情况下,防火墙处于运行状态,拒绝所有传入流量,除了一些特定的端口如SSH。不过,如果您希望扩展访问权限,可以通过以下命令添加HTTP和HTTPS端口:

firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --permanent --add-port=443/tcp

将这些规则应用到当前会话中:

firewall-cmd --reload

为了验证配置是否生效,可以查看已添加的服务:

firewall-cmd --list-services

意oppах的特定应用

除了防火墙流量控制,iptables也可以用来为特定的设备设置访问限制。例如,我们可以创建一个只允许从本地工作站访问SSH,而阻止其他人登录的防火墙规则。以下是一个示例配置:

iptables -A OUTPUT -p tcp -d bigmart.com -j ACCEPTiptables -A OUTPUT -p tcp -d bigmart-data.com -j ACCEPTiptables -A OUTPUT -p tcp -d ubuntu.com -j ACCEPTiptables -A OUTPUT -p tcp -d ca.archive.ubuntu.com -j ACCEPTiptables -A OUTPUT -p tcp --dport 80 -j DROPiptables -A OUTPUT -p tcp --dport 443 -j DROPiptables -A INPUT -p tcp -s 10.0.3.1 --dport 22 -j ACCEPTiptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP

这一系列规则的作用是:允许访问bigmart.com和bigmart-data.com网站,同时允许从本地工作站通过SSH登录。其他请求如HTTP和HTTPS将被阻止,而SSH请求仅限从特定的IP地址访问。

防火墙规则的持久化

如果希望防火墙规则在服务器重新启动后继续生效,可以保存规则到文件并在系统启动时自动加载。使用iptables-save将当前规则保存到文件中:

sudo iptables-save | sudo tee /root/my.active.firewall.rules

为了实现定期恢复规则,可以用anacron排期任务管理器配置自动加载防火墙规则:

sudo nano /etc/anacrontab

anacrontab文件中添加以下行:

1 1 iptables-restore < /root/my.active.firewall.rules

这将确保每天凌晨1点重新加载防火墙规则,保持网络安全状态。

上一篇:Python基础案例教程
下一篇:在 Linux 中基于密钥认证的 SSH的配置方法

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月26日 05时43分31秒