Iptables防火墙自定义链表实现方式

目录
  • 1.为什么要自定义链
  • 2.自定义链的基本应用
  • 3.删除自定义的链

1.为什么要自定义链

为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在INPUT链中,那么当我们要对其中的一条规则进行调整了,就会发现上下有关联性,修改起来不是那么容器,因为这个INPUT链中还有其他的服务规则。

基于这种情况,我们就可以去自定义一张新的链,在这个链中,只定义这一类程序的防火墙规则。

自定义链的规则优先级:

  • 请求首先到达默认的链匹配相应的规则。
  • 当发现请求是要转发到自定义的链时,去自定义链中按照上下顺序进行规则的匹配。
  • 当自定义链中没有合适的匹配规则时,会继续执行默认链中的规则。

2.自定义链的基本应用

1)创建一个自定义链

[root@jxl-1 ~]# iptables -t filter -N IN_HTTP

2)在自定义的链中添加防火墙规则

添加了一条防火墙规则,来自192.168.20.21源地址的客户端禁止访问192.168.20.20主机的80端口。

[root@jxl-1 ~]# iptables -t filter -I IN_HTTP -s 192.168.20.21 -d 192.168.20.20 -p tcp --dport 80 -j DROP

3)应用自定义的链

虽然已经创建了自定义链,链中也有具体的防火墙规则,但是实际上没有任何作用,因为发过来的请求依旧会进入到INPUT链,还需要在Iptables中应用一下自定义的链,使请求转发到自定义的链上。

应用自定义的链其实就是在INPUT链插入一条规则,这条规则就是将数据报文转发给自定义的链。

将所有来自80端口的数据报文转发到IN_HTTP链。

[root@jxl-1 ~]# iptables -t filter -I INPUT -p tcp --dport 80 -j IN_HTTP

3)查看设置的防火墙规则

4)测试效果

192.168.20.21无法请求192.168.20.20主机的80端口。

3.删除自定义的链

首先删除自定义链中的规则,然后删除应用自定义链的规则,最后删除自定义的链。

1.删除自定义链中的规则
[root@jxl-1 ~]# iptables -t filter -D IN_HTTP 1
2.删除应用自定义链的规则
[root@jxl-1 ~]# iptables -t filter -D INPUT 1
3.删除自定义链
[root@jxl-1 ~]# iptables -t filter -X IN_HTTP

以上就是Iptables防火墙自定义链表实现方式的详细内容,更多关于Iptables防火墙自定义链表的资料请关注我们其它相关文章!

(0)

相关推荐

  • Iptables防火墙string模块扩展匹配规则

    Iptables防火墙string模块扩展匹配规则 String模块的作用是来匹配请求报文中指定的字符串,经常应用于拦截用户访问某些网站的场景,将防火墙当做路由器使用,例如上班时间不允许用户访问淘宝网站等等场景. String模块的常用参数: --string pattern:指定要匹配的字符串. ! --string pattern:反向匹配. --algo:指定匹配的查询算法,有bm和kmp两种算法. 可以在参数前面加!号表示去反. 案例:当用户请求的数据报文中包含taobao.com,则拒

  • Iptables防火墙四表五链概念及使用技巧详解

    目录 1.链的概念 2.Iptables五种链的概念 3.Iptables数据流向经过的表 4.Iptables防火墙四种表的概念 5.Iptables防火墙表与链之间的优先级概念 6.Iptables防火墙表和链之间的使用技巧 **问题1:** **问题2:** 结论: 7.Iptables防火墙几种动作 1.链的概念 在防火墙中,用户想要成功进入内网环境,就需要发送请求报文,请求报文要和防火墙设置的各种规则进行匹配和判断,最后执行相应的动作(放行或者拒绝),一个防火墙中通常针对不同的来源设置

  • Iptables防火墙tcp-flags模块扩展匹配规则详解

    目录 Iptables防火墙tcp-flags模块扩展匹配规则 **案例:** 1)编写具体的防火墙规则 2)查看设置的防火墙规则 3)查看效果 Iptables防火墙tcp-flags模块扩展匹配规则 tcp-flags模块的作用是判断TCP协议数据报文标志位的返回值的,在TCP的三次握手中,第一次握手客户端向服务器发送syn=1的数据报文,第二次握手服务端向客户端发送sync和ack=1的报文,第三次握手客户端向服务端发送ack=1的报文. tcp-flags模块就是来判断发送报文中指定的标

  • Iptables防火墙基本匹配条件应用详解

    目录 引言 基本匹配条件案例一 **需求:** 1)实现该需求的防火墙规则如下 2)查看设置的防火墙规则 3)测试结果 基本匹配条件案例二 1)实现该需求的防火墙规则如下 2)查看设置的防火墙规则 3)测试结果 基本匹配条件案例三 1)实现该需求的防火墙规则如下 2)查看设置的防火墙规则 3)测试结果 引言 @[TOC] 应用匹配条件时,经常会用到以下几个参数. -p:指定要操作的协议类型,不指定-p参数声明是那种协议,默认是all,也就是所有协议. -s:指定源地址. -d:指定目标地址. -

  • Iptables防火墙limit模块扩展匹配规则详解

    目录 Iptables防火墙limit模块扩展匹配规则 @[TOC] 1.限制每分钟接收10个ICMP数据报文 2.允许10个数据报文快速通过,然后限制每分钟接收1个个ICMP数据报文 3.限速案例,限制网络传输的带宽不可以超过500k/s Iptables防火墙limit模块扩展匹配规则 @[TOC] limit模块的作用是针对报文的速率进行限制,限制的单位有秒.分钟.小时.天等,例如一分钟内只接收10个请求报文,多余的报文则会被丢弃. limit模块的常用参数: --limit rate[/

  • Iptables防火墙connlimit与time模块扩展匹配规则

    目录 Iptables防火墙connlimit模块扩展匹配规则 connlimit模块常用参数: Iptables防火墙time模块扩展匹配规则 time模块的常用参数: Iptables防火墙connlimit模块扩展匹配规则 connlimit模块的作用是限制请求报文对特定服务的并发连接数限制的,例如Telnet服务,默认情况下没有并发连接数的限制,可以允许n个客户端同时连接,如果应用了connlimit模块,可以对并发连接数进行限制. connlimit模块常用参数: --connlimi

  • Iptables防火墙iprange模块扩展匹配规则详解

    目录 Iptables防火墙iprange模块扩展匹配规则 案例: 1)编写防火墙规则 2)查看添加的规则 3)测试效果 Iptables防火墙iprange模块扩展匹配规则 iprange模块可以同时设置多个IP或者设置IP的某一段连续的范围,通过iprange模块可以对多个来源地址同时设置策略. iprange模块的参数: --src-range:指定源地址范围. --dst-range:指定目标地址范围. ! --src-range:非指定的源地址. ! --dst-range:非指定的目

  • Iptables防火墙自定义链表实现方式

    目录 1.为什么要自定义链 2.自定义链的基本应用 3.删除自定义的链 1.为什么要自定义链 为什么需要自定义链呢?默认的四表五链不满足基本使用吗?其实并不是,四表五链完全满足使用,但是当我们同一类程序有很多个防火墙规则时,例如都写在INPUT链中,那么当我们要对其中的一条规则进行调整了,就会发现上下有关联性,修改起来不是那么容器,因为这个INPUT链中还有其他的服务规则. 基于这种情况,我们就可以去自定义一张新的链,在这个链中,只定义这一类程序的防火墙规则. 自定义链的规则优先级: 请求首先到

  • linux服务中开启防火墙的两种方式

    存在以下两种方式: 一.service方式 查看防火墙状态: [root@centos6 ~]# service iptables status iptables:未运行防火墙. 开启防火墙: [root@centos6 ~]# service iptables start 关闭防火墙: [root@centos6 ~]# service iptables stop 二.iptables方式 先进入init.d目录,命令如下: [root@centos6 ~]# cd /etc/init.d/

  • 一键配置CentOS iptables防火墙的Shell脚本分享

    手里几台VPS配置iptables太繁琐,看到了朱哥的LNMP脚本里有一个自动配置iptables防火墙的脚本,借来改了一下,给需要的人用: 只提供常用端口的设置,如果你有特殊需求只需自行添加或减少相应的端口即可: 使用方法: 复制代码 代码如下: chmod +x iptables.sh ./iptables.sh 设置iptables开机自动启动: 复制代码 代码如下: chkconfig --level 345 iptables on 完整Shell: 复制代码 代码如下: #!/bin/

  • 自定义jQuery插件方式实现强制对象重绘的方法

    本文实例讲述了自定义jQuery插件方式实现强制对象重绘的方法.分享给大家供大家参考.具体实现方法如下: jQuery.fn.redraw = function(){ jQuery(this).each(function(){ this.style.display='none'; this.offsetHeight; // no need to store this anywhere, the reference is enough this.style.display='block'; });

  • CentOS 7.0关闭默认防火墙启用iptables防火墙的设置方法

    CentOS在7.0之前貌似都是用的iptables为防火墙的,在7.0以后都是firewall,其实我也不知道为嘛,但是大部分人都是用iptables,so我也用它了. 下面通过本文给大家分享CentOS 7.0关闭默认防火墙启用iptables防火墙的设置方法,具体内容详情如下所示: 操作系统环境:CentOS Linux release 7.0.1406(Core) 64位 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firew

  • LINUX中IPTABLES防火墙的基本使用教程

    前言 对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List). 这里可以使用Linux防火墙netfilter的用户态工具 iptables有4种表:raw–>mangle(修改报文原数据)–>nat(定义地址转换)–>filter(定义允许或者不允许的规则) 每个表可以配置多个链: * 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT * 对于nat来讲一般也只能做在3个链上:PR

  • Mysql服务添加 iptables防火墙策略的方案

    如果你的Mysql数据库安装在centos7的系统上,并且你的操作系统启用了防火墙.应用要访问mysql数据库,你有2个解决方案. 方案一:停止防火墙服务 方案二:在防火墙中添加策略,让应用能正常访问mysql服务端口 停止Centos7防火墙 查看防火墙运行状态 [root@mysql ~]# firewall-cmd --state running 停止防火墙服务 [root@mysql ~]# systemctl stop firewalld.service 启动Centos7防火墙 查看

  • 基于Vue实现自定义组件的方式引入图标

    前言 在项目开发中,使用图标的方式有很多种,可以在iconfont上面找到合适的图标,通过http或者直接下载使用,这里我分享一种通过实现自定义组件的方式引入图标. 搭建环境 这里通过@vue/cli 4.5.13新建项目,并且需要安装依赖svg-sprite-loader,用来处理对应的svg图标,方便我们使用. 安装: npm install --save-dev svg-sprite-loader 配置vue.config.js 在安装svg-sprite-loader后,新建vue.co

  • mybatis自动扫描和自定义类注解方式

    目录 mybatis自动扫描和自定义类注解 Spring mybatis自动扫描dao 解决方案 mybatis自动扫描和自定义类注解 以往都是使用自定义注解实现Dao层mapper.java和mapper.xml文件的装载,今天在搭建MyBatis的过程,使用了MyBatis的自动扫描进行Dao层mapper.java和mapper.xml文件的装载过程中不断报错扫描不到,当时配置文件如下 最后找出原因是因为开启自动扫描的时候不能使用自定义注解类,否则spring默认是使用自定义类的方式进行文

随机推荐