添加规则时的考量点:
(1)要实现哪种功能:判断添加在哪张表上;
(2)报文流经的路径:判断添加在哪个链上;

链上规则的次序:
(1)同类规则(访问同一应用),匹配范围小的放上面;
(2)不同类规则(访问不同应用),匹配到报文频率较大的放上面;

功能的优先级次序:raw --> mangle --> nat --> filter

安装:

[root@bogon ~]# yum install -y iptables-services

启动:

[root@bogon ~]# systemctl start iptables

[root@bogon ~]# systemctl enable iptables

查看所有规则:

[root@bogon ~]# iptables -vnL

[root@bogon ~]# cat /etc/sysconfig/iptables

常用选项:

-A:追加到规则的最后一条

-D:删除记录

-I:添加到规则的第一条

-P:修改表默认策略

-s:源ip地址或ip网段

--sport:源端口

-d:目的ip地址或ip网段

--dport:目的端口

-p:(proto)规定通信协议,常见的协议有:tcp、udp、icmp、all

-t:(table)指定表,不指定默认为filter表,可选的表有:filter,raw,mangle,nat

-i:进入的网卡,可配搭的链有:PREROUTING,INPUT, FORWARD

-o:出去的网卡,可配搭的链有:POSTROUTING,OUTPUT,FORWARD

-m:模块,可选模块有:state,mac

-j:(jump)指定要跳转的目标,常见的目标有:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(拒绝),LOG(记录日志)

增加规则

放通22端口:

[root@bogon ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许ping:

[root@bogon ~]# iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT

允许lo接口所有数据:

[root@bogon ~]# iptables -A INPUT -i lo -j ACCEPT

放通tcp10000-20000端口:

[root@bogon ~]# iptables -I INPUT -p tcp --dport 10000:20000

允许所有已建立连接或已建立连接相关连接的数据包:

[root@bogon ~]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

删除某个规则:

首先显示已有规则及序号:

[root@bogon ~]# iptables -vnL --line-numbers

删除序号为2的规则:

[root@bogon ~]# iptables -D INPUT 2

设置默认入站策略:

[root@bogon ~]# iptables -P INPUT DROP

清空规则:

清空规则之前先设置默认允许所有:

[root@bogon ~]# iptables -P INPUT ACCEPT

清空所有除默认规则以外的规则:

[root@bogon ~]# iptables -F

清空所有自定义链:

[root@bogon ~]# iptables -X

重置所有计数器

[root@bogon ~]# iptables -Z

保存规则:

[root@bogon ~]# service iptables save

保存规则版本:

[root@bogon ~]# iptables-save > /etc/sysconfig/iptables.20191018

恢复指定版本规则:

[root@bogon ~]# iptables-restore /etc/sysconfig/iptables.20191018

CentOS7 iptables安装及操作的更多相关文章

  1. CentOS7下安装Docker-Compose操作记录

    Docker-Compose是一个部署多个容器的简单但是非常必要的工具.安装Docker-Compose之前,请先安装 python-pip 一.安装 python-pip [root@workben ...

  2. centos7上安装iptables

    centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...

  3. centos 6x系统下源码安装mysql操作记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

  4. CentOS7下安装MySQL并配置远程连接

    一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...

  5. centos7.2安装完成的基本操作

    系统是centos7.2,安装完成的基本操作 1 修改网卡为eth02 更新系统3 给/etc/rc.local添加执行权限4 添加用户hequan5 禁用selinux6 关闭防火墙安装iptabl ...

  6. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  7. Centos7.4安装elasticsearch6.3+kibana6.3集群

    Centos7.4安装elasticsearch+kibana集群 Centos7.4安装elasticsearch+kibana集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 ...

  8. Centos7.5安装kafka集群

    Tags: kafka Centos7.5安装kafka集群 Centos7.5安装kafka集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 安装zookeeper 安装kafk ...

  9. Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包)

    Tags: Hadoop Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包) Centos7.5安装分布式Hadoop2.6.0+Hbase ...

随机推荐

  1. 【洛谷P2398】GCD SUM

    题目大意:求 \[\sum\limits_{i=1}^n\sum\limits_{j=1}^ngcd(i,j)\] 题解: 最重要的一步变换在于. \[\sum\limits_{k=1}^n k \s ...

  2. java:投个票程序

    投票城市用到了:system.in, 正则pattern,matcher,排序接口comparable 复写compareTo排序方法 一个班级在选班长,按序号进行投票,并将票数最高的放在第一位显示 ...

  3. 对webpack从零配置

    一.新建配置文件,文件名一般为webpack.config.js: 二.配置文件目录,一般为根目录,一般会放在./build文件夹下 三.配置文件格式一般为module.exports={}, 四.结 ...

  4. 内存泄露问题改进(转自vczh)

    参考:http://www.cppblog.com/vczh/archive/2010/06/22/118493.html 参考:https://www.cnblogs.com/skynet/arch ...

  5. IO流,字节流复制文件,字符流+缓冲复制文件

    JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节 ...

  6. delphi 10.3.1 android沉浸式透明状态栏

    从10.2升级上来, 之前的沉浸状态栏在android手机上不透明了, 添加二个发布文件,remote path分别设为 res\values-v21和 res\values-v19 style.xm ...

  7. SQL server 字段合并CAST(org_no AS VARCHAR(20))+CAST(page_no AS VARCHAR(20))+CAST(djlb_no AS VARCHAR(20)))

    sql server 字段合并(CAST) ---------------------- select (CAST(org_no AS VARCHAR(20))+CAST(page_no AS VAR ...

  8. qs的两个用途

    qs是npm安装的库 1.qs.stringify()   将对象序列化成URL的形式,以&进行拼接 const Qs = require('qs'); let obj= { method: ...

  9. sublime格式化

    https://nodejs.org/dist/v6.2.0/node-v6.2.0-x64.msi sublime格式化

  10. GeoServer-2.12安装MbTiles扩展插件