当前位置: 首页 > news >正文

iptables常用命令汇总

今天分享一下iptables知识点和常用命令。

现在redhat系统默认使用firewalld,ubuntu默认使用ufw防火墙,为什么还要学iptables呢,

还有其他应用场景,比如容器环境,Docker 默认直接管理 iptables 规则来实现网络隔离和端口映射。即便使用 firewalld,Docker 也会绕过它直接插入 iptables 规则(除非做特别配置)

接下来将详细介绍一下iptables:

官网: https://www.netfilter.org/

iptables全称为netfilter/iptables, 是linux平台下自带的的开源包过滤防火墙。

1 iptables结构

四张表作用

  • filter: 实现对数据包的过滤

  • nat: 主要修改数据包的地址和端口,实现网络转换功能,例如源地址或目标地址

  • mangle:对数据包进行修改,例如给数据包打标记MARK

  • raw:关闭nat表上启用的连接追踪机制

五条链作用

  • INPUT: 进来的包

  • OUTPUT: 出去的包

  • FORWARD: 经过的包

  • PREROUTING: 路由选择前, 主要用于DNAT

  • POSTROUTING: 路由选择后, 主要用于SNAT

2 Iptables基本语法

2.1 常见语法格式:

2.2 常见参数表

常见参数说明
-t后接表名,指定对哪张表进行操作。如果不加-t指定表,则默认为filter表
-A后接链名,指定对哪个链增加一条规则。默认增加在最后一条。
-I(大写i)后接链名,指定对哪个链插入一条规则。默认插入在最前面,也可以指定插入在某一行。
-D删除规则,指定删除某一条规则
-L列表规则。可以与-n结合使用,将规则以数字方法显示
-F清空规则,删除一个表的所有规则
-p指定协议(包过滤常见条件)
-s或-d指定源IP或目标IP(包过滤常见条件)
--dport指定目标端口(包过滤常见条件)
--sport指定源端口
-i接网卡接口, 进入的网卡接口(用于DNAT)
-o接网卡接口, 出去的网卡接口(用于SNAT)
-j后接动作
-P修改默认策略

2.3 常见动作表

-j后接的动作类型说明
ACCEPT允许
DROP丢弃
REJECT拒绝,REJECT会返回错误信息,DROP不会
SNAT源地址转换,它与MASQUEREAD的区别是SNAT是接一个固定IP
MASQUEREADIP地址伪装,使用NAT转换成外网IP,可以PPP拔号(外网IP不固定情况)
DNAT目标地址转换

3 常用命令

3.1 查看iptables规则

1、查看所有规则

【查】看对应表的所有规则,-t 选项指定要操作的表,省略" -t 表名"时,默认表示操作filter表,-L表示列出规则,即查看规则,格式如下:

iptables -t 表名 -L

2、查看指定表的指定链中的规则

iptables -t 表名 -L 链名

3、查看指定表的所有规则,并且显示更详细的信息(-v 更多字段)

iptables -t 表名 -v -L

4、表示查看表的所有规则(-n 不解析IP地址)

表示查看表的所有规则,并且在显示规则时,不对规则中的IP或者端口进行名称反解,-n选项表示不解析IP地址。

iptables -t 表名 -n -L

3.2 iptables规则

【温馨提示】添加规则时,规则的顺序非常重要。

1、指定表的指定链的尾部添加一条规则(-A)

【温馨提示】省略-t选项时,表示默认操作 filter表中的规则

iptables -t 表名 -A 链名 匹配条件 -j 动作iptables -t filter -A INPUT -s 10.0.0.100 -j DROP

2、指定表的指定链的首部添加一条规则(-I)

iptables -t 表名 -I 链名 匹配条件 -j 动作iptables -t filter -I INPUT -s 10.0.0.100 -j ACCEPT

3、在指定表的指定链的指定位置添加一条规则

iptables -t 表名 -I 链名 规则序号 匹配条件 -j 动作iptables -t filter -I INPUT 5 -s 10.0.0.100 -j REJECT

4、指定表的指定链的默认策略(默认动作),并非添加规则

iptables -t 表名 -P 链名 动作iptables -t filter -P FORWARD ACCEPT

【温馨提示】上例表示将filter表中FORWARD链的默认策略设置为 ACCEPT

3.3 删除iptables规则

【温馨提示】注意点:如果没有保存规则,删除规则时请慎重。

1、按照规则序号删除规则

按照规则序号删除规则,删除指定表的指定链的指定规则,【-D】选项表示删除对应链中的规则。

iptables -t 表名 -D 链名 规则序号# 删除filter表中INPUT链中序号为3的规则
iptables -t filter -D INPUT 3

2、按照具体的匹配条件与动作删除规则,删除指定表的指定链的指定规则

iptables -t 表名 -D 链名 匹配条件 -j 动作# 删除filter表中INPUT链中源地址为10.0.0.100并且动作为DROP的规则。
iptables -t filter -D INPUT -s 10.0.0.100 -j DROP

3、删除指定表的指定链中的所有规则(-F)

【-F】选项表示清空对应链中的规则,执行时需三思。

iptables -t 表名 -F 链名iptables -t filter -F INPUT

4、删除指定表中的所有规则

iptables -t 表名 -Fiptables -t filter -F

3.4 iptables规则

【温馨提示】如果使用-R选项修改规则中的动作,那么必须指明原规则中的原匹配条件,例如源IP,目标IP等。

1、修改指定表中指定链的指定规则(-R)

修改指定表中指定链的指定规则, -R选项表示修改对应链中的规则,使用 -R选项时要同时指定对应的链以及规则对应的序号,并且规则中原本的匹配条件不可省略。

iptables -t 表名 -R 链名 规则序号 规则原本的匹配条件 -j 动作iptables -t filter -R INPUT 3 -s 10.0.0.100 -j ACCEPT

表示修改filter表中INPUT链的第3条规则,将这条规则的动作修改为ACCEPT, -s 10.0.0.100为这条规则中原本的匹配条件,如果省略此匹配条件,修改后的规则中的源地址可能会变为0.0.0.0/0。

其他修改规则的方法:先通过编号删除规则,再在原编号位置添加一条规则。

2、修改指定表的指定链的默认策略(默认动作)

iptables -t 表名 -P 链名 动作iptables -t filter -P FORWARD ACCEPT

3.5 保存iptables规则

保存规则命令如下,表示将iptables规则保存至 /etc/sysconfig/iptables文件中,如果对应的操作没有保存,那么当重启iptables服务以后就不存在了。

service iptables save

或者使用下面方法保存

iptables-save > /etc/sysconfig/iptables

3.6 基本匹配条件

1、用于匹配报文的源地址(-s)

iptables -t filter -I INPUT -s 192.168.1.111,192.168.1.118 -j DROP
iptables -t filter -I INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -t filter -I INPUT ! -s 192.168.1.0/24 -j ACCEPT

2、用于匹配报文的目标地址(-d)

iptables -t filter -I OUTPUT -d 192.168.1.111,192.168.1.118 -j DROP
iptables -t filter -I INPUT -d 192.168.1.0/24 -j ACCEPT
iptables -t filter -I INPUT ! -d 192.168.1.0/24 -j ACCEPT

3、用于匹配报文的协议类型(-p)

iptables -t filter -I INPUT -p tcp -s 10.0.0.100 -j ACCEPT
iptables -t filter -I INPUT ! -p udp -s 10.0.0.100 -j ACCEPT

4、用于匹配报文是从哪个网卡接口流入本机的(-i)

iptables -t filter -I INPUT -p icmp -i eth4 -j DROP
iptables -t filter -I INPUT -p icmp ! -i eth4 -j DROP

iptables实际是很复杂的,四表五链都需要理解一阵子,还要记住参数和动作,需要不断是实际工作中去尝试,由于篇幅问题,还有很多实际的案例没列出来,后续再进行分享,先学习基础的。

http://www.dtcms.com/a/530294.html

相关文章:

  • 企业网站建设合同百度文库工业设计 做自己的网站 知乎
  • 机械公司网站模板wordpress网页播放器插件
  • 商城网站大概多少钱建设一个公司网站多少钱
  • 太原网站建设丿薇网架加工图
  • 沈阳网站seowordpress登录查看
  • 如何高效率的建设网站黄页88网怎么推广
  • 男女情感类网站做视频网站要什么
  • 湿疹的应对与祛湿建议
  • 建设网站公司哪儿济南兴田德润有活动吗上海短视频seo优化网站
  • 建设一个网站要多少费用吗优化方案物理必修三电子版
  • 做酒店经理的一些网站wordpress手机版侧栏导航栏
  • 建一个网站大约花多少钱给公司建立网站
  • 网站开发岗位内容和要求网站不同颜色
  • 广州空港经济区门户网站做网站交互效果用什么软件
  • 网站建设收费标准策划wordpress免费公司官网主题
  • 怎么制作网站封面用插件做网站
  • 华宁县住房和城乡建设局网站数字营销专业就业前景
  • 重庆荣昌网站建设报价服装设计怎么学
  • ISO18000-6C协议UHF6C超高频RFID读写C#源码
  • 泉州网站建设推广企业电子商务网站建设的目的是开展网络营销
  • (五)Gradle 依赖传递与冲突处理
  • 百度建站企业年报查询
  • js 网站制作信誉好的品牌网站建设
  • Java事故排查
  • 阿里云建网站步骤房地产开发建设工程口碑好
  • 手机网站开发有前途建设网站需要什么
  • 网站建设课程性质免费诶网站建设
  • 网站开发需求预算重庆市建设工程信息网安全标准化评价系统
  • 南宁做网站推广nnsomwordpress如何网址大全
  • 亿网万联佛山seo优化评价