Linux iptables 防火墙包过滤与端口转发

本文涉及的产品
云防火墙,500元 1000GB
简介: iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。

iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。

通俗来说,iptables是一个工具软件,可以控制到达当前linux系统的网络包,不限于删除网络包,修改网络包。而计算机网络之间的互通都是一个个的网络包,可以看出iptables的厉害之处,可以控制自己与其它计算机的通信。

概念

iptables主要通过存储在linux内核中的一个个表来控制IP包的。可以想象成excel表格。你可以自定义所需的iptables表。不过已经内置了三张表。

  • filter 这是默认的表,包含了内建的链INPUT(处理进入的包),FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)
  • nat 这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。
  • mangle 这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。
img_4347b574933fe53fdd6a4ba29aee2ac8.png
完整流程

根据颜色区分不同的iptables表

基本用法

Usage: 
      ###修改iptables链的具体内容,追加,插入,替换,删除表中的链的规则。
       iptables -[ACD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]

### 查看与清楚iptables中链的骨子额
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
### 改变链的默认操作,有DROP,ACCEPT等
       iptables -P chain target [options]
AI 代码解读

案例

  1. 查看某个表中的iptables规则,默认的是filter表
    iptables -t [table] -L


    img_4044aac41be4232310f5176d508c3693.png
    查看iptables表中的规则
  2. 将所有请求192.168.8.250:80的请求,转发到192.168.8.251上

iptables -t nat -I PREROUTING -p tcp --dport 80 -d192.168.8.250 -j DNAT --to 192.168.8.252
AI 代码解读
  1. 删除nat表中PREROUTING链的第一条规则
iptables -t nat -D PREROUTING 1
AI 代码解读
  1. 内容过滤
iptables -I FORWARD -s 192.168.3.159 -m string --string" -j DROP
iptables -I FORWARD -d 192.168.3.0/24 -m string --string "宽频影院" -j DROP
iptables -I FORWARD -s 192.168.3.0/24 -m string --string "色情" -j DROP
iptables -I FORWARD -p tcp --sport 80 -m string --string "广告" -j DROP
AI 代码解读
  1. 保存iptables与恢复规则
iptables-save
iptables-restore
AI 代码解读
  1. 删除所有的规则
iptables -F
AI 代码解读
  1. 阻塞某个IP地址
iptables -A INPUT -s 1.1.1.1 -j DROP   
iptables -A INPUT -s 1.1.1.1 -j REJECT  #明确的返回拒绝消息
AI 代码解读

最后

明白了iptables的表与链的规则,用法方面就简单很多,功能远比这强大,以上仅供参考

附录

目录
打赏
0
0
0
0
1130
分享
相关文章
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
313 28
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
110 1
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
298 73
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
83 0
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
107 1
linux关闭方防火墙的命令
linux关闭方防火墙的命令
134 2
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在Linux中,如何设置防火墙规则?
在Linux中,如何设置防火墙规则?
在Linux中,iptables和firewalld两种防火墙如何使用?
在Linux中,iptables和firewalld两种防火墙如何使用?

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等