iptables中增加/删除/查询/修改的基本操作

Jim Jim     2022-09-20     109

关键词:

虽然在Ubuntu使用了UFW来简化iptables的操作,但是UFW只针对防火墙方面,转发方面没有涉及,所以要弄懂其中的原理,还是必须回归到iptables中。CentOS也是如此。下面是针对iptables的基本操作,无论CentOS还是Ubuntu都是一致的。

前提:先熟悉iptables的基本命令参数:http://www.cnblogs.com/EasonJim/p/6847874.html

说明:经过测试,一些OUTPUT的规则使用下面命令是查看不到的,但是可以通过sudo iptables-save命令进行查看,是因为一些nat表的没给出来,可以使用sudo iptables -t tablename去查询,对于要知道哪些tablename时,可以使用man iptables进行查询。

操作:

1、查看

sudo iptables -nvL –line-number
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行反查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到

2、添加

添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。

当前规则:

sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.4          0.0.0.0/0

添加一条规则到尾部:

sudo iptables -A INPUT -s 192.168.1.5 -j DROP

再插入一条规则到第三行,将行数直接写到规则链的后面:

sudo iptables -I INPUT 3 -s 192.168.1.3 -j DROP

查看:

sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.3          0.0.0.0/0
4    DROP       all  --  192.168.1.4          0.0.0.0/0
5    DROP       all  --  192.168.1.5          0.0.0.0/0

可以看到192.168.1.3插入到第三行,而原来的第三行192.168.1.4变成了第四行。

3、删除

删除用-D参数

删除之前添加的规则(sudo iptables -A INPUT -s 192.168.1.5 -j DROP):

iptables -D INPUT -s 192.168.1.5 -j DROP

有时候要删除的规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-number找出该条规则的行号,再通过行号删除规则。

sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.3          0.0.0.0/0

删除第二行规则

sudo iptables -D INPUT 2

删除所有规则(慎用)

sudo iptables -F 
sudo iptables -X
sudo iptables -Z
#针对某张表(nat)进行删除
sudo iptables -F -t nat
sudo iptables -X -t nat
sudo iptables -Z -t nat

说明:要知道是哪张表时,可以使用sudo iptables-save输出全部规则,# Generated by下一行开头带星号的就是表面。

技巧:比如一些nat转发的规则不会展示,则查询时可以使用sudo iptables -nL --line-number -t nat查询,然后通过sudo iptables -D INPUT 2 -t nat进行删除。

4、修改

修改使用-R参数

先看下当前规则:

sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    DROP       all  --  192.168.1.5          0.0.0.0/0

将第三条规则改为ACCEPT:

sudo iptables -R INPUT 3 -j ACCEPT

再查看下:

sudo iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DROP       all  --  192.168.1.1          0.0.0.0/0
2    DROP       all  --  192.168.1.2          0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

第三条规则的target已改为ACCEPT。

 

参考:

http://blog.csdn.net/l241002209/article/details/43987933(以上内容转自此篇文章)

iptables规则备份和恢复

备份/恢复iptabels规则serviceiptabelssave默认会把规则保存在/etc/sysconfig/iptabels设置并查看规则保存并查看规则删除规则恢复规则firewalld查询、增加、修改、删除zone查看zone服务,查看某个zone的服务将某个服务加到某个zone中保存并查... 查看详情

数据的插入查询删除修改

...数据2.2查询表中部分字段2.3简单条件查询数据三、数据的删除基本语法:deletefrom表名[where条件]四、数据的修改一、数据的插入操作将数据以SQL的形式存储到指定的数据表(字段)里面1.1向表中指定字段插入数据基本... 查看详情

django中对数据查询删除修改(代码片段)

...果实现数据查询、删除、修改Django数据的查询1.在url中,增加访问路径path(‘getstudent/‘,views.getstudent)2.在views视图中,增加查询方法defgetstudent(request):"""查询学生信息"""students=Student.objects.all()#forstudentinstudents:#prin 查看详情

学生综合信息管理系统

...、学生)密码的修改②班级管理系统是实现对班级信息的增加、修改、删除、查询。③学生管理是实现对学生信息的增加、修改、删除、查询。④教师管理是实现对教师信息的增加、修改、删除、查询。⑤课程管理是实现对课程... 查看详情

sed命令的增加删除修改查询

1.1sed查询1.1.1根据行号查询 Lastlogin:TueAug1519:46:482017from10.0.0.1 [[email protected]~]#cat>person.txt<<EOF>101,oldboy,CEO>102,zhangyao,CTO>103,Alex,COO>104,yy,CFO>1 查看详情

iptables详解:iptables实际操作之规则查询

...章之前,请确保你已经阅读了如下文章,如下文章总结了iptables的相关概念,是阅读这篇文章的基础。图文并茂理解iptables 如果你是一个新手,在阅读如下文章时,请坚持读到最后,读的过程中可能会有障碍,但是在读完以... 查看详情

basedao使用

BaseDao接口的过人之处在于:一般是提供从数据库增加、删除、修改记录、查询所有记录、查询符合某个条件记录、取得某条记录等方法的底层数据操作自定义类。由于我们可能操作多个数据库表,这样就需要为每个表提供一个... 查看详情

springboot集成redis—进行增加,更新,查询,批量删除等操作

前言:最近工作中使用到了redis缓存,故分享一点自己总结的东西,这篇文章使用的是StringRedisTemplate进行学习,这里值的说的是,(1)StringRedisTemplate在进行批量删除操作时我们需对template进行序列化,(2)更新操作与添加操作... 查看详情

c语言学生成绩管理系统

...均分,然后将学生成绩信息存储到一个二进制文件中。2.增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求继续保存至原文件,并提示用户选择是否继续进行增加操作。3.删除学生信息,提示用户输入要... 查看详情

redisredis哈希hash键值对集合操作(哈希hash键值对集合简介|查询操作|增加操作|修改操作)(代码片段)

...存在3、查询Hash中所有的键Field4、查询Hash中所有的值三、增加操作1、Redis中插入Hash键值对数据2、批量插入Hash键值对数据四、修改操作1、Hash中Field键对应值增减值2、设置Hash中Field键对应值一、哈希Hash键值对集合Redis中的Hash数据... 查看详情

转gethibernatetemplate()的用法

...ate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。... 查看详情

网页设计进度

...设置修改(这个周日再搞好了),登录后对图书可以进行增加,修改(在不打开查询页面的情况下直接进行),打开查询页面后,对查询到的图书可以进行删除和修改;对用户可以增加,删除用户,并对用户的密码进行更改;;... 查看详情

iptables的基本使用

1、iptables的组成:内核态:集成在内核里的功能。用户态:安装服务的软件包后提供的管理命令2、iptables服务的功能:查看,修改,删除,添加规则3、iptables的组成:功能表链ip包过滤:filterINPUT,FORWARD,OUTPUT网络地址转换:natPRERO... 查看详情

mybatis中添加查询修改删除

...据填入就修改那个数据,原来的数据不变)批量删除SQL的映射文件mybatsi在批量删除时,当传 查看详情

数据库的主要操作

...·数据库的查询操作:SELECT·数据库的更新操作:INSERT(增加)、UPDATE(修改,更新)、DELETE(删除)此时,为了保存原始的emp表的信息,在进行增加、修改、删除操作之前先将此表复制一份:CREATETABLEmyempASSELECT*FROMemp;·此语句执... 查看详情

iptablesiptables实际操作之规则查询

...障碍,但是在读完以后,你会发现你已经明白了。在进行iptables实验时,请务必在测试机上进行。之前在iptables的概念中已经提到过,在实际操作iptables的过程中,是以”表”作为操作入口的,如果你经常操作关系型数据库,那么... 查看详情

winform界面经常修改、增加、删除,而功能和处理的数据大致相同如何应对?

我当时估计是想了解代码的重用、维护和扩展。界面也就是winform窗体里对需要增删改查的数据进行数据合法验证然后到逻辑层进行数据拼装,做成对象传入到数据访问层,在数据访问层使用抽象工厂,根据传入的对象实例化一... 查看详情

[moka同学摘录]iptables防火墙规则的添加删除修改保存

文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html本文介绍iptables这个Linux下最强大的防火墙工具,包括配置iptables三个链条的默认规则、添加iptables规则、修改规则、删除规则等。 一、查看规则集  iptables--l... 查看详情