博客
关于我
Linux防火墙-iptables
阅读量:797 次
发布时间: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/

你可能感兴趣的文章
nginx安装并配置实现端口转发
查看>>
nginx安装配置
查看>>
Nginx实战之1.1-1.6 Nginx介绍,安装及配置文件详解
查看>>
Nginx实战经验分享:从小白到专家的成长历程!
查看>>
nginx实现二级域名转发
查看>>
Nginx实现动静分离
查看>>
Nginx实现反向代理负载均衡
查看>>
nginx实现负载均衡
查看>>
Nginx将https重定向为http进行访问的配置(附Demo)
查看>>
nginx工作笔记004---配置https_ssl证书_视频服务器接口等
查看>>
nginx常用命令及简单配置
查看>>
Nginx常用屏蔽规则,让网站更安全
查看>>
nginx开机启动脚本
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>
nginx日志分割并定期删除
查看>>
Nginx日志分析系统---ElasticStack(ELK)工作笔记001
查看>>
Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
查看>>