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

发表于:2018-1-17 10:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Real_man    来源:简书

  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
  3、删除nat表中PREROUTING链的第一条规则
  iptables -t nat -D PREROUTING 1
  4、内容过滤
  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
  5、保存iptables与恢复规则
  iptables-save
  iptables-restore
  6、删除所有的规则
  iptables -F
  7、阻塞某个IP地址
  iptables -A INPUT -s 1.1.1.1 -j DROP
  iptables -A INPUT -s 1.1.1.1 -j REJECT  #明确的返回拒绝消息
  最后
  明白了iptables的表与链的规则,用法方面就简单很多,功能远比这强大,以上仅供参考

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号