博客
关于我
Linux防火墙-iptables
阅读量:791 次
发布时间:2023-02-05

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

iptables 是 Linux 上的常用防火墙工具,属于 netfilter 项目的一部分。它能够直接配置,也可以通过多种前端和图形界面进行设置。

1. 语法介绍

iptables 命令的语法结构包括选项和参数。

  • 选项包括:
    • -t <表>:指定要操作的表名。
    • -A:向规则链中添加条目。
    • -D:从规则链中删除条目。
    • -I:向规则链中插入条目(插入位置在链的末尾)。
    • -R:替换规则链中的条目。
    • -L:显示规则链中已有的条目。
    • -F:清除规则链中的所有条目。
    • -Z:清空规则链中的数据包计数器和字节计数器。
    • -N:创建新的用户自定义规则链。
    • -P:定义规则链中的默认目标。
    • -h:显示帮助信息。
    • -p:指定要匹配的数据包协议类型。
    • -s:指定要匹配的数据包源 IP 地址或地址范围。
    • -j <目标>:指定要执行的动作。
    • -i <网络接口>:指定数据包进入本机的网络接口。
    • -o <网络接口>:指定数据包离开本机所使用的网络接口。

2. 表名与规则链

  • 表名包括:

    • raw:用于高级功能,如网址过滤。
    • mangle:用于数据包修改(QoS),实现服务质量保障。
    • net:用于地址转换,常用于网关路由器。
    • filter:用于包过滤,通常用于防火墙规则。
  • 规则链名包括:

    • INPUT:处理输入数据包。
    • OUTPUT:处理输出数据包。
    • FORWARD:处理转发数据包。
    • PREROUTING:用于目标地址转换(DNAT)。
    • POSTROUTING:用于源地址转换(SNAT)。

3. 动作

  • 动作包括:
    • accept:接受数据包。
    • DROP:丢弃数据包。
    • redirect:重定向、映射或透明代理。
    • SNAT:源地址转换。
    • DNAT:目标地址转换。
    • masquerade:IP 伪装(NAT),常用于 ADSL 网络。
    • LOG:日志记录。

4. 实例应用

清除已有规则

  • 使用以下命令清空iptables 规则:
    iptables -F  iptables -X  iptables -Z

开放指定端口

  • 允许本地访问本机:
    iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  • 允许已建立或相关连接:
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 允许所有本机向外访问:
    iptables -A OUTPUT -j ACCEPT
  • 允许特定端口访问:
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT  iptables -A INPUT -p tcp --dport 80 -j ACCEPT  iptables -A INPUT -p tcp --dport 21 -j ACCEPT  iptables -A INPUT -p tcp --dport 20 -j ACCEPT
  • 禁止未允许的访问:
    iptables -A INPUT -j reject

屏蔽 IP

  • 屏蔽单个 IP:
    iptables -I INPUT -s 123.45.6.7 -j DROP
  • 屏蔽整个 IP 段:
    iptables -I INPUT -s 123.0.0.0/8 -j DROP
  • 屏蔽特定 IP 段:
    iptables -I INPUT -s 124.45.0.0/16 -j DROP
  • 屏蔽特定 IP 段的网络:
    iptables -I INPUT -s 123.45.6.0/24 -j DROP

查看已有规则

  • 查看所有规则:
    iptables -L -n -v
  • 查看规则详情:
    iptables -L -n -v

删除规则

  • 根据规则序号删除:
    iptables -D INPUT 8

通过以上命令,您可以根据需求灵活配置 iptables 防火墙规则,实现网络安全防护。

转载地址:http://trkfk.baihongyu.com/

你可能感兴趣的文章
Linux系统用户和权限管理
查看>>
linux系统监控与硬盘分区/格式化/文件系统管理
查看>>
Linux系统突然所有命令都失效了,显示bash: xxxxx: command not found...
查看>>
Linux系统管理期末考试小结
查看>>
Linux系统终端与正确关机
查看>>
Linux系统编程:深入理解计算机软硬件体系和架构
查看>>
Linux系统调优实战
查看>>
Linux系统调用分析
查看>>
Linux系统轻量应用服务器CPU使用率高的排查与解决方案
查看>>
Linux系统通过netstat查看网络状态、端口状态
查看>>
Linux系统配置静态IP地址步骤
查看>>
linux系统重命名文件名,但文件名有空格如何处理
查看>>
linux线程
查看>>
linux线程同步的含义,Linux线程同步——条件变量
查看>>
Linux线程编程之生产者消费者问题
查看>>
linux终端 知乎,为 Linux 爱好者打造的极简 Mac 终端 | Linux 中国
查看>>
Linux终端调试大全(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Linux经典系统故障汇总与排障技巧及排障汇总表
查看>>
Linux经常使用命令(一) - ls
查看>>
Linux经常使用命令(十一) - more
查看>>