百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

linux的防火墙配置(linux防火墙配置 允许ip 访问所有端口)

nanshan 2025-07-08 21:41 5 浏览 0 评论

在Linux系统中,防火墙是保护系统免受网络攻击的重要工具。常见的防火墙工具包括 iptablesnftablesufw(Ubuntu/Debian)和 firewalld(RHEL/CentOS)。以下是详细的防火墙配置指南:


一、基础工具选择

  1. iptables
  2. 传统Linux防火墙工具,直接操作内核的Netfilter框架。
  3. 适合手动配置复杂规则,但需要熟悉语法。
  4. ufw(Uncomplicated Firewall)
  5. 为iptables提供简化接口,适合新手和快速配置(Ubuntu默认工具)。
  6. firewalld
  7. RHEL/CentOS/Fedora的默认动态防火墙管理工具,支持“区域”概念,适合服务器多网卡场景。
  8. nftables
  9. iptables的替代品,语法更简洁,性能更好(推荐新系统使用)。

二、通用防火墙配置原则

  1. 默认拒绝所有流量
  2. bash
  3. 复制
  4. 下载
  5. # iptables/nftables iptables -P INPUT DROP # 默认拒绝所有入站 iptables -P FORWARD DROP # 默认拒绝转发 iptables -P OUTPUT ACCEPT # 允许所有出站(根据需求调整)
  6. 按需开放端口
  7. 仅允许必要的服务(如SSH、HTTP/HTTPS)。
  8. 限制源IP范围
  9. 仅允许特定IP或网段访问敏感端口(如数据库、管理接口)。
  10. 防范常见攻击
  11. 阻止无效数据包、SYN洪水攻击等。

三、配置示例

1. 使用 ufw(Ubuntu/Debian)

  • 启用并初始化
  • bash
  • 复制
  • 下载
  • ufw enable # 启用防火墙 ufw default deny # 默认拒绝所有入站
  • 开放基础服务
  • bash
  • 复制
  • 下载
  • ufw allow 22/tcp # 允许SSH ufw allow 80,443/tcp # 允许HTTP/HTTPS ufw allow from 192.168.1.0/24 # 允许局域网访问
  • 拒绝特定IP
  • bash
  • 复制
  • 下载
  • ufw deny from 10.0.0.5 # 封禁IP
  • 查看规则
  • bash
  • 复制
  • 下载
  • ufw status numbered # 显示带编号的规则列表
  • 删除规则
  • bash
  • 复制
  • 下载
  • ufw delete 3 # 删除编号为3的规则

2. 使用 firewalld(RHEL/CentOS)

  • 启动服务
  • bash
  • 复制
  • 下载
  • systemctl start firewalld systemctl enable firewalld
  • 配置区域
  • bash
  • 复制
  • 下载
  • firewall-cmd --zone=public --add-service=ssh --permanent # 允许SSH firewall-cmd --zone=public --add-port=80/tcp --permanent # 允许HTTP firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent # 允许网段 firewall-cmd --reload # 重载配置
  • 限制IP访问
  • bash
  • 复制
  • 下载
  • firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject' --permanent
  • 查看配置
  • bash
  • 复制
  • 下载
  • firewall-cmd --list-all # 显示当前区域规则

3. 使用 iptables(通用)

  • 开放SSH和Web服务
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT # 允许HTTP/HTTPS
  • 允许本地回环
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -i lo -j ACCEPT # 允许本地通信
  • 防止SYN洪水攻击
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
  • 保存规则
  • bash
  • 复制
  • 下载
  • iptables-save > /etc/iptables/rules.v4 # 持久化规则(Debian) service iptables save # CentOS 6

4. 使用 nftables(推荐新系统)

  • 创建规则集
  • bash
  • 复制
  • 下载
  • nft add table inet my_table nft add chain inet my_table my_input { type filter hook input priority 0 \; }
  • 允许SSH和HTTP
  • bash
  • 复制
  • 下载
  • nft add rule inet my_table my_input tcp dport 22 accept nft add rule inet my_table my_input tcp dport 80,443 accept
  • 默认拒绝
  • bash
  • 复制
  • 下载
  • nft add rule inet my_table my_input drop
  • 保存配置
  • bash
  • 复制
  • 下载
  • nft list ruleset > /etc/nftables.conf # 导出规则 systemctl enable nftables

四、高级防护配置

1. 防止端口扫描

  • 使用iptables限制连接频率:
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP

2. 阻止无效数据包

  • 过滤非法流量:
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

3. 日志记录

  • 记录被拒绝的连接:
  • bash
  • 复制
  • 下载
  • iptables -A INPUT -j LOG --log-prefix "DROPPED: "

五、故障排查

  1. 检查规则是否生效
  2. bash
  3. 复制
  4. 下载
  5. iptables -L -v -n # 查看iptables规则 firewall-cmd --list-all # 查看firewalld配置 nft list ruleset # 查看nftables规则
  6. 监控日志
  7. bash
  8. 复制
  9. 下载
  10. tail -f /var/log/syslog # Debian/Ubuntu journalctl -u firewalld -f # RHEL/CentOS
  11. 测试端口连通性
  12. bash
  13. 复制
  14. 下载
  15. nc -zv 192.168.1.100 22 # 测试SSH端口 telnet 192.168.1.100 80 # 测试HTTP端口

六、注意事项

  • 避免锁定自己:在配置规则前,确保已开放SSH端口或保留当前会话。
  • 持久化规则:使用iptables-save或firewalld --permanent保存配置,防止重启失效。
  • 结合其他工具:使用fail2ban动态封禁恶意IP,或SELinux/AppArmor增强访问控制。

通过合理配置防火墙,可以显著提升Linux系统的网络安全性。根据实际需求选择工具,并定期审计规则有效性。

相关推荐

人人视频崩了怎么回事 人人视频下架了吗为什么刷不出来了

[海峡网]人人视频挂了吗下架了吗人人视频崩了怎么回事刷不出来了?人人视频发生了什么?怎么都看不成了,暂时还是永久?本来还以为是手机的问题,原来是客户端崩了难怪一直显示服务器异常!追着的美剧突然都下架...

502 bad gateway怎么解决?(502 bad gatewaynginxundefined)

相信许多小伙伴都遇到打开的网页提示502badgateway,502badgateway是提示用户该网址的网关错误,Web服务器作为网关或代理服务器时收到无效的响应,不管怎么刷新怎么重新输入地...

2岁男童眼睛被滴入强酸药水,医生亲身“试”药吓坏了……

平日里,小孩子爱玩爱闹是常事儿,但是大人的注意力如果时不时的掉线可就麻烦了。这一天,杭师大附院眼科陈舒主任医师像往常一样在接诊病人,然而一个孩子的哭闹声引起了她的注意,一群人神情焦灼,簇拥着一个孩子急...

3岁男童误将502胶当滴眼液,幸好妈妈及时处理,医生也为她点赞

小孩子由于心智还不够成熟,因此往往会做出一些危险的事情,甚至对自己造成伤害,这就需要家长的监督和保护。巧也不巧,日常生活中能够对孩子造成威胁的东西实在是太多了,堪称数不胜数,水笔、筷子、桌角,甚至刚拖...

5岁娃把502胶当眼药水滴眼中,爸爸的做法很机智,医生都称赞

文|哑铃妈妈家里有小孩子的一定要注意,在我们的家里存在很多的安全隐患,有的时候连家长都想不到的东西,竟然对孩子带来了伤害。5岁娃把502胶当眼药水滴眼中,爸爸的做法很机智,医生都点赞女孩乐乐长得可爱,...

宝宝误食502胶水,连忙送医救治,医生却夸宝妈做得好

有了孩子之后,妈妈都会变得神经敏感,生怕自己没有把孩子照顾好,但是毕竟一个人的经历是有限的,再加上孩子要是会走路,会说话之后对宝妈来说更是一种挑战,危及可能无时无刻不存在,这不,因为宝妈一转身的功夫,...

记一次Netty「直接内存溢出」导致线上网关项目宕机排查过程

作为一名Java开发者,我们都知道Java进程是运行在Java虚拟机上的,而Java进程要想正常运行则需要向计算机申请内存,其中主要为Java对象实例所占用的堆(heap)内存(当然还有其他的也会占用...

刚刚,突然崩了!网易云音乐紧急回应

今天下午#网易云音乐崩了#登上微博热搜第一在社交平台上,不少网友反馈,网易云音乐疑似崩溃。网友晒出网页端出现“502BadGateway”的服务器错误,同时网易云音乐的移动应用程序也无法正常使用。...

常见状态码(常见的状态码)

一二三四五原则:(即一:消息系列;二:成功系列;三:重定向系列;四:请求错误系列;五:服务器端错误系列。301状态码是永久移动302是临时移动304如果请求头中带有If-None-Match...

8岁男孩眼睛溅入502胶水,妈妈一番操作结果粘得更紧了

家有小孩的爸妈们肯定会多留个心眼照看虽然生活中已经时刻留意可能造成伤害的物品但有时一不留神幼小的孩子就会做出让人担心的事↓↓↓家住深圳的辰辰(化名)今年8岁了3月31日他在家里做手工时想要用未开封的5...

3岁娃滴502胶水在眼睛疼的尖叫,宝妈急中生智,保住孩子眼睛

但还好宝妈急中生智,连忙将孩子带到水龙头处,用水给孩子冲洗了一下眼睛,还用大量的生理盐水来给孩子清洗眼球,之后又立马将孩子送往医院,最后孩子的眼睛也没有什么大碍,拿了点药就能顺利出院了。而502胶水这...

网易云音乐回应App崩了:故障已陆续修复,补偿7天会员

2024年8月19日下午,多名网友反馈称,网易云音乐服务器疑似出现故障,登录网易云音乐APP后发现,个性化推荐和搜索功能均无法使用,并收到“获取数据失败”的提示。此外,网易云音乐的网页端也显示502错...

又崩了!不少人直接傻眼:太离谱!(台湾人到大陆后傻眼)

造车新势力哪吒汽车再被推向舆论风口。5月4日,话题#曝哪吒汽车APP断网#冲上微博热搜App断网无法使用从5月2日开始,陆续有多位网友反映哪吒汽车App断网,App控车无法使用。哪吒汽车App目前出现...

男子误把502胶水当眼药水!千万别犯这种低级错误!

你敢相信吗?有人竟然误把五零二胶水当成了眼药水滴进眼睛里。这可不是什么玩笑话,而是近日发生在武汉的一起真实事件。一名男子因此导致眼角膜严重受损,不得不紧急就医。据武汉大学附属爱尔眼科医院报道,这名男子...

502入眼危机!这份急救指南请牢记(502进入眼中怎么办)

502入眼,真实案例触目惊心生活中,502胶水是常用的黏合剂,以其强力黏合性备受青睐。但它一旦进入眼睛,后果不堪设想,下面这些真实案例,足以让我们警醒。曾有这样一则新闻,一位4岁女童在家玩耍时...

取消回复欢迎 发表评论: