继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

MYYA
关注TA
已关注
手记 430
粉丝 75
获赞 326

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(修改路由之前本地的包)。

完整流程

根据颜色区分不同的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]

案例

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


    查看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
  1. 删除nat表中PREROUTING链的第一条规则

iptables -t nat -D PREROUTING 1
  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
  1. 保存iptables与恢复规则

iptables-save
iptables-restore
  1. 删除所有的规则

iptables -F
  1. 阻塞某个IP地址

iptables -A INPUT -s 1.1.1.1 -j DROP   iptables -A INPUT -s 1.1.1.1 -j REJECT  #明确的返回拒绝消息

最后

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

附录



作者:Real_man
链接:https://www.jianshu.com/p/6bedd2261942

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP