首页 > 运维 > linux运维 > 正文

如何在Linux中限制网络访问 Linux iptables用户过滤

P粉602998670
发布: 2025-09-01 11:14:01
原创
799人浏览过
答案:iptables是Linux中基于表、链、规则的防火墙工具,通过命令如-A、-I、-D管理流量规则,支持按IP、端口、协议限制访问,规则按顺序匹配且需保存以防重启丢失,firewalld为其上层更易用的管理工具。

如何在linux中限制网络访问 linux iptables用户过滤

简单来说,在Linux中限制网络访问,你可以使用

iptables
登录后复制
,它就像一个防火墙,允许你设置规则来控制哪些流量可以进出你的系统。
iptables
登录后复制
非常强大,但配置起来也比较复杂,需要理解它的基本概念和命令。

解决方案

  1. 理解

    iptables
    登录后复制
    的基本结构:
    iptables
    登录后复制
    基于表(tables)、链(chains)和规则(rules)工作。

    • 表 (Tables):
      filter
      登录后复制
      (默认,用于过滤数据包),
      nat
      登录后复制
      (用于网络地址转换),
      mangle
      登录后复制
      (用于修改数据包),
      raw
      登录后复制
      (用于配置数据包的连接追踪)。
    • 链 (Chains):
      INPUT
      登录后复制
      (进入系统的数据包),
      OUTPUT
      登录后复制
      (离开系统的数据包),
      FORWARD
      登录后复制
      (通过系统转发的数据包)。
    • 规则 (Rules): 定义如何处理符合特定条件的数据包(例如,允许或拒绝)。
  2. 常用的

    iptables
    登录后复制
    命令:

    • iptables -L
      登录后复制
      : 列出当前规则。
    • iptables -A
      登录后复制
      : 在链的末尾添加一条规则。
    • iptables -I
      登录后复制
      : 在链的开头插入一条规则。
    • iptables -D
      登录后复制
      : 删除一条规则。
    • iptables -F
      登录后复制
      : 清空链中的所有规则。
    • iptables -P
      登录后复制
      : 设置链的默认策略(例如,
      ACCEPT
      登录后复制
      DROP
      登录后复制
      )。
    • iptables -S
      登录后复制
      : 以更易读的格式显示规则。
  3. 限制特定 IP 地址访问:

    # 阻止来自 IP 地址 192.168.1.100 的所有流量
    iptables -A INPUT -s 192.168.1.100 -j DROP
    
    # 允许来自 IP 地址 192.168.1.100 的 SSH 访问 (端口 22)
    iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
    登录后复制
  4. 限制特定端口的访问:

    # 阻止所有到端口 80 (HTTP) 的流量
    iptables -A INPUT -p tcp --dport 80 -j DROP
    
    # 允许到端口 80 的流量来自特定 IP 地址
    iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
    登录后复制
  5. 限制特定协议的访问:

    # 阻止所有 ICMP (ping) 流量
    iptables -A INPUT -p icmp -j DROP
    登录后复制
  6. 保存

    iptables
    登录后复制
    规则:
    iptables
    登录后复制
    规则在系统重启后会丢失,你需要保存它们。

    • Debian/Ubuntu:
      sudo apt-get install iptables-persistent
      登录后复制
      , 然后
      sudo netfilter-persistent save
      登录后复制
    • CentOS/RHEL:
      sudo yum install iptables-services
      登录后复制
      , 然后
      sudo systemctl enable iptables
      登录后复制
      ,
      sudo systemctl start iptables
      登录后复制
      , 最后
      sudo iptables-save > /etc/sysconfig/iptables
      登录后复制

iptables
登录后复制
规则的优先级是怎样的?

iptables
登录后复制
按照规则在链中的顺序进行匹配。第一条匹配的规则生效,后续规则不再评估。因此,规则的顺序至关重要。通常,更具体的规则(例如,允许特定 IP 地址访问特定端口)应该放在更通用的规则(例如,阻止所有访问)之前。

虎课网
虎课网

虎课网是超过1800万用户信赖的自学平台,拥有海量设计、绘画、摄影、办公软件、职业技能等优质的高清教程视频,用户可以根据行业和兴趣爱好,自主选择学习内容,每天免费学习一个...

虎课网 62
查看详情 虎课网

如何查看和删除特定的

iptables
登录后复制
规则?

查看规则,可以使用

iptables -L -n -v
登录后复制
-n
登录后复制
选项会显示 IP 地址和端口号,而不是尝试进行 DNS 反向查找,
-v
登录后复制
显示更详细的信息。

删除规则,最简单的方法是使用行号:

  1. iptables -L --line-numbers
    登录后复制
    : 显示规则及其对应的行号。
  2. iptables -D INPUT <行号>
    登录后复制
    : 删除
    INPUT
    登录后复制
    链中指定行号的规则。

例如,要删除

INPUT
登录后复制
链中行号为 3 的规则,可以执行
iptables -D INPUT 3
登录后复制

iptables
登录后复制
firewalld
登录后复制
有什么区别,我应该选择哪个?

iptables
登录后复制
是一个更底层的防火墙管理工具,而
firewalld
登录后复制
是一个更高级的、动态的防火墙管理器,它构建在
iptables
登录后复制
之上。
firewalld
登录后复制
使用区域 (zones) 的概念来管理规则,更容易配置和管理。

选择哪个取决于你的需求和偏好。如果你需要精细的控制和对

iptables
登录后复制
有深入的了解,那么
iptables
登录后复制
可能更适合你。如果你需要一个更易于使用和管理的防火墙,那么
firewalld
登录后复制
可能是更好的选择。许多现代 Linux 发行版默认使用
firewalld
登录后复制

实际上,即使你使用

firewalld
登录后复制
,它最终也会生成
iptables
登录后复制
规则。
firewalld
登录后复制
只是提供了一个更友好的接口来管理这些规则。

以上就是如何在Linux中限制网络访问 Linux iptables用户过滤的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号