iptables详解(2)表中规则管理(增删改查)
我们定义了四张表:raw表、mangle表、nat表、filter表,不同的表有不同的功能
filter表用来过滤,允许哪些ip、端口访问,禁止哪些ip、端口访问,表中会有很多链
①禁止ip地址访问我们主机------>发往本机的经过PREROUTING,但是PREROUTING不在filter表中,因此PREROUTING没有过滤能力,只能定义在INPUT链
②转发到另一个地方 则需要在FORWARD链或者OUTPUT链中定义
一、基本操作
1、查看
iptables -t表名 -nvL –line-number
iptables --line -t filter -nvxL INPUT
-t 加表名-L加链名
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数 -L加上链名
-n 不对ip地址进行反查,直接显示ip地址,加上这个参数显示速度会快很多
-v 输出详细信息,verbose显示详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
-x精确计算
参数解释:
root@ROUTER:~# iptables --line -nvL INPUT
Chain INPUT (policy ACCEPT 6177 packets, 579K bytes)
num pkts bytes target prot opt in out source destination
1 14778 1394K wan_input_chain all -- * * 0.0.0.0/0 0.0.0.0/0
2 14778 1394K lan_input_chain all -- * * 0.0.0.0/0 0.0.0.0/0
policy 表示链的默认策略,默认是ACCEPT,该策略收到了6177个包,iptables -nvxL 可以将省略的k信息显示出来
2、添加
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
1 Append
在指定表的指定链的指定尾部添加一条规则,-A表示在对应链的末尾添加规则,省略-t选项,表示默认操作filter表
命令语法:iptables -t 表名 -A 链名 匹配条件 -j 动作
示例:iptables -t filter -A INPUT -s 192.168.1.146 -j DROP
2 Insert
在指定链的指定首部添加一条规则,-I默认是表示在对应链的开头添加规则,加上序号后则表示为在当前的序号位置添加一条规则,则底下的规则会往下移一位
命令语法:iptables -t 表名 -I 链名 规则序号 匹配条件 -j 动作
示例:iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT
示例操作:
步骤①加入append
iptables -A INPUT -s 192.168.23.242 -j DROP
步骤② 插入insert
iptables -I INPUT 2 -s 192.168.23.242 -j ACCEPT
3、删除
1 具体匹配规则删除
命令语法:iptables -t 表名 -D 链名 匹配条件 -j 动作
示例:iptables -t filter -D INPUT -s 192.168.1.146 -j DROP
2 按--line按删除规则,-D表示删除对应链中的规则
命令语法:iptables -t 表名 -D 链名 规则序号
示例:iptables -t filter -D INPUT 3
3 清空指定表和链中的所有规则
命令语法:iptables -t 表名 -F 链名
示例:iptables -t filter -F INPUT
4 清空表中的所有规则
命令语法:iptables -t 表名 -F
示例:iptables -t filter -F 或者
iptables –flush
示例操作:
步骤① 删除匹配条件的规则
iptables -D INPUT -s 192.168.23.242 -j ACCEPT
步骤② 按照 --line 的行号去删除(省去写一大串规则的时间)
iptables -D INPUT 3
4、修改
1 修改指定表中指定链的指定规则,-R要指定对应的链和规则对应的序号和原本匹配的条件
命令语法:iptables -t 表名 -R 链名 规则序号 规则原本的匹配条件 -j 动作
示例:iptables -t filter -R INPUT 3 -s 192.168.1.146 -j ACCEPT
注意:如果省略-s 等条件则当前的规则的源地址会变成0.0.0.0/0
也可先删掉当前规则,再在同样的位置再 添加同不一样的规则
2 修改指定表的指定链的默认策略(默认动作),并非修改规则
命令语法:iptables -t 表名 -P 链名 动作
示例:iptables -t filter -P FORWARD ACCEPT
示例操作
步骤① 修改规则
iptables -R INPUT 3 -j ACCEPT
注意 如果要进行更改规则一定要指定-s 源地址 ,如果有多个匹配规则 则都需要指定
因为在前面的-R 没有指定对应的地址,所以当前的修改地址都变成0.0.0.0/0
DROP动作直接是卡住没有响应,然后REJECT则会给出Destination Port Unreachable的回应
②修改默认规则
每张表的每条链中都有自己的默认策略,当报文没有被链中任何规则匹配,或者链中没有任何规则,则当前按照默认动作处理报文
iptables -t filter -P FORWARD DROP
-t 加表名 -P加链名
DROP(丢弃) 和 REJECT(拒绝) 有什么不同的呢?REJECT的时候会显示Destination Port Unreachable 但是DROP则会直接卡在那边不动
5、保存规则-----永久生效
在默认的情况下我们对防火墙所做的修改都是临时的,当服务器重启或者iptables服务重启后,所有的规则操作都会消失。
① CentOS6, RedHat
# 保存iptables规则
service iptables save
# 重启iptables服务
service iptables stop
service iptables start/restart
查看当前规则:
cat /etc/sysconfig/iptables
② Centos7
不使用init风格的脚本启动服务,使用unit文件,yum源安装iptables和iptables-services
#配置好yum源以后安装iptables-service
# yum install -y iptables-services
#停止firewalld
# systemctl stop firewalld
#禁止firewalld自动启动
# systemctl disable firewalld
#启动iptables
# systemctl start iptables
#将iptables设置为开机自动启动,以后即可通过iptables-service控制iptables服务
# systemctl enable iptables
上述配置只需要一次,以后即可在centos7中愉快地使用service iptables save命令保存iptables规则
============通用方法=============
iptables-save 可以把之前修改的命令输出到屏幕但是并不能保存命令
所以要使用 iptables-save > /etc/sysconfig/iptables 将修改的规则重定向到这个文件中
iptables详解(2)表中规则管理(增删改查)的更多相关文章
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- 详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
- mysql--对行(表中数据)的增删改查
一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插 ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- mysql对库,表及记录的增删改查
破解密码 #1.关闭mysqlnet stop mysqlmysql还在运行时需要输入命令关闭,也可以手动去服务关闭 #2.重新启动mysqld --skip-grant-tables跳过权限 #3m ...
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- 五 Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)
一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈 node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...
- Oracle学习总结_day01_day02_表的创建_增删改查_约束
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...
- 数据库中简单的增删改查(CRUD)
一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...
随机推荐
- [转]Office 安装卸载太麻烦?用这个工具帮你解决:Office Tool Plus
原文链接:https://sspai.com/post/43839 Office Tool官方网站:https://otp.landian.vip/zh-cn/ 真的很好用,发一个安装的截图:
- 在网页中嵌入Base64编码文件
大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAk ...
- BGP 实验
一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1. 掌握 BGP 的基本配置方法. 2. 掌握如何查看 BGP 的各种配置信息. 3. 掌握基于回环口的 BGP ...
- Vmware player--打开vmdk; 导出系统;
https://www.cnblogs.com/wxdblog/p/7091496.html 用vmware player打开已经存在的VMDK的方法: https://jingyan.baidu.c ...
- java常用的工具类
包装类 https://www.cnblogs.com/benjieqiang/p/11305777.html Arrays类(数组工具类) package day02.com.offcn.test; ...
- 修改织梦DedeCMS投票漏洞
织梦/dedecms系统我们都知道是有很多漏洞的,我在调试投票功能的时候正好要用到投票功能,这不就出现了漏洞,下面我就给大家展示如何修复这个织梦投票漏洞 首先我们打开//dedevote.class. ...
- Linux基础-14-ssh服务、apache服务
1. ssh服务 ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ssh服务端 ...
- docker 实践十一:docker 跨主机通讯
在上一篇了解了关于 docker 的网络模型后,本篇就基于上一篇的基础来实现 docker 的跨主机通信. 注:环境为 CentOS7,docker 19.03. 本篇会尝试使用几种不同的方式来实现跨 ...
- oracle-3-Linux-11g安装-图形安装
在安装系统时就安装了图形桌面 参考博客地址:https://www.cnblogs.com/tibit/p/6134150.html 未参考,只是感觉不错:https://blog.csdn.net/ ...
- Bipartite Checking CodeForces - 813F (线段树按时间分治)
大意: 动态添边, 询问是否是二分图. 算是个线段树按时间分治入门题, 并查集维护每个点到根的奇偶性即可. #include <iostream> #include <sstream ...