一.iptables介绍
iptables并不是真正意义上的防火墙,我们可以理解为一个客户端工具,用户通过ipatbles这个客户端,将用户 的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字?.NET?lter 。net?lter才是防火墙真正的安全框架,net?lter位于内核空间 。
iptables是一个命令行工具,位于用户空间,通过这个命令行工具来操作net?lter 。net?lter/iptables(简称为iptables)组成linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包 过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能
二.iptables的四表五链
说明
【iptables 命令实战详解】filter
过滤,防火墙
nat
网络地址转换 ;用于修改源ip或目标ip,也可以改端口
mangle
拆解报文,做出修改,并重新封装起来
raw
关闭nat表上启用的连接追踪机制
链(内置):
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
在实际使用中,我们通常是用表来操作,这里列出表和链的关系:
链
raw
PREROUTING,OUTPUT
mangle
PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat
REROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,
centos6中没有)
filter
INPUT,FORWARD,OUTPUT
文章插图
报文流向:
流入本机:PREROUTING --> INPUT
由本机流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING
三.iptables基本用法
规则格式:iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname [per-target-options]
-t table:
raw, mangle, nat, filter(默认)
COMMAND
链管理:
-F:flush,清空规则链:省略链,表示清空指定表上的所有的链;
-N:new, 自定义一条新的规则链;
-X: delete,删除自定义的规则链;
-Z: zero,清零,置零规则计数器;
注意:仅能删除 用户自定义的 引用计数为0的 空的 链;
-P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
-E: rEname 重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除;
规则管理
-A:Append,追加;
-I:insert, 插入,要指明位置,省略时表示第一条;
-D:delete,删除;
(1) 指明规则序号;
(2) 指明规则本身;
-R:replace,替换指定链上的指定规则;
-F:flush,清空指定的规则链;
-Z:zero,置零;
iptables的每条规则都有两个计数器:
(1) 匹配到的报文的个数;
(2) 匹配到的所有报文的大小之和
查看
-L:list, 列出指定鏈上的所有规则;
-n:numberic,以数字格式显示地址和端口号; -v:verbose,详细信息; -vv, -vvv -x:exactly,显示计数器结果的精确值;--line-numbers:显示规则的序号;
chainPREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
-j targetname(处理动作)
文章插图
常用规则匹配器
文章插图
命令用法总结
文章插图
四.iptables进阶用法
扩展匹配条件:
隐式扩展:在使用-p选项指明了特定的协议时,无需再同时使用-m选项指明扩展模块的扩展机制;
显式扩展:必须使用-m选项指明要调用的扩展模块的扩展机制;
推荐阅读
- 10种有用的Linux Bash_Completion 命令示例
- 计算机网络常见9个命令
- Linux中20个高级命令
- 运动|“吃鸡”橘柚军需实战来了,套装和皮肤很清凉,拖鞋终于能拆分!
- 玫瑰之战|苹果命令员工在9月5日之后至少线下复工三天
- Web端执行服务器的命令和脚本
- 电脑系统格式化磁盘硬盘分区批处理脚本 dos格式化命令
- 一篇讲解IPv4路由表
- 跟踪路由命令(路由跟踪tracert命令详解)
- 如何使用 Linux shred 命令安全地擦除磁盘和文件