博客
关于我
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/

你可能感兴趣的文章
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
ngrok内网穿透可以实现资源共享吗?快解析更加简洁
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>