Linux防火墙之iptables(下)

这篇具有很好参考价值的文章主要介绍了Linux防火墙之iptables(下)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

承接上文,上文介绍了iptables的工作原理,四表五链,以及基本规则的增删改查。本文为上文的拓展,继续延申iptables规则设置的匹配方式。以及如何备份,还原iptables设置,还有修改iptables的初始化设置

内容预知

 1.通用匹配

1.1 协议匹配 

1.2 地址匹配 

1.3 接口匹配

 2.隐含匹配

 2.1 端口匹配

2.2 TCP标志位的匹配 

 2.3 ICMP的类型匹配

 2.3.1  请求规则设置

 2.3.2  回显匹配

2.3.3 显示目的不可达匹配 

 3.显示匹配

3.1  多端口匹配

3.2 IP范围匹配

3.3 MAC匹配

3.4 状态匹配

 4. 备份与还原iptables规则设置

 4.1   备份iptables设置

4.2  一键导出,设置为当前防火墙设置 

4.3 修改iptables的默认设置 


 文章来源地址https://www.toymoban.com/news/detail-803612.html

 1.通用匹配

 直接指定目的网段,IP地址,出入站网卡,从而直接对该类主机进行权限设置操作

 

 通用的匹配方式一般为三种:

 

协议匹配 -p 协议名
地址匹配 -s 源地址、-d 目的地址 。可以是IP、网段、域名、空(任何地址
接口匹配 -i 入站网卡、-o 出站网卡

1.1 协议匹配 

 

上文中运用的实例基本都是协议匹配完成,协议匹配中还存在一个取反匹配 

[root@localhost ~]#iptables -A  INPUT   ! -p icmp -j ACCEPT
[root@localhost ~]#iptables -nL

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

测试结果:


iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 

1.2 地址匹配 

 直接对IP地址,源地址,目的地址或则网段中的主机进行权限操作

[root@localhost ~]#iptables -A INPUT -s 192.168.73.110 -j DROP
[root@localhost ~]#iptables -nL

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 测试结果:

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

 

1.3 接口匹配

可以认为是对地址匹配的进一步设置,具体化到防火墙主机的网卡设置 。

 

[root@localhost ~]#iptables -A INPUT  -i ens33  -s 192.168.73.0/24  -j DROP

 

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 2.隐含匹配

 要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类 型等条件。

 

 2.1 端口匹配

 

--sport 源端口
--dport 目的端口

 

对于端口的指定可以为单一,也可以为一个范围

--sport 100    指定的就是匹配源端口100

--sport  100:200  就是指定100-200这个范围

--sport  100:  就是指定100及其100以上的端口

--sport  200:  就是指定200及其200以下的源端口 

 

 

[root@localhost ~]#iptables -A INPUT  -p tcp   --dport 20:21 -j REJECT

 iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

2.2 TCP标志位的匹配 

 

这里的防火墙规则运用到了TCP的三次握手规则,我在之前的博客中有详细记录三次握手: 

 一次性学会传输层协议相关内容(站在外面干啥呢?点进来看看啊)_站在这别动,我去给你买橘子的博客-CSDN博客https://blog.csdn.net/qq_62462797/article/details/125764066?spm=1001.2014.3001.5501

 --tcp-flags   TCP    标记

 

[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 --tcp-flags SYN,ACK,FIN,RST,URG,PSH  SYN,ACK  -j  REJECT
[root@localhost ~]# iptables -I OUTPUT -p tcp --dport 22 --tcp-flags SYN,ACK,FIN,RST,URG,PSH  SYN,ACK  -j  REJECT

 

 iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

 2.3 ICMP的类型匹配

 

 ICMP类型可以是字符串、数字代码:

ICMP类型 含义
Echo-Request (代码为8) 表示请求
Echo- -Reply (代码为0) 表示回显
Dest ination-Unreachable (代码为3) 表示目标不可达

 --icmp-type ICMP类型

 2.3.1  请求规则设置

[root@localhost ~]#iptables  -A INPUT -p  icmp   --icmp-type 8 -j REJECT

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

其他主机ping本机测试:

 iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

 2.3.2  回显匹配

 

[root@localhost ~]#iptables  -A INPUT -p  icmp   --icmp-type 0 -j REJECT

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

其他主机ping本机测试:

 iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

如果设置到出站数据包处理链(OUTPUT上),就是双方无法进行平命令,且没有信息的回显 

 

 

2.3.3 显示目的不可达匹配 

 

[root@localhost ~]# iptables -A INPUT -p icmp   --icmp-type 3     -j ACCEPT

 

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 3.显示匹配

 要求以“-m扩展模块”的形式明确指出类型,包括多端口、MAC地址、IP范围、数据包状态等条件

 

3.1  多端口匹配

 

  • -m multiport --sport 源端口列表
  • -m multiport --dport 目的端口列表
[root@localhost ~]#iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT
[root@localhost ~]#iptables -A INPUT -p udp -m multiport --dport 53 -j ACCEPT

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

 

3.2 IP范围匹配

 

  • -m iprange --src-range 源IP范围
  • -m iprange --dst-range 目的IP范围
[root@localhost ~]# iptables -A FORWARD  -p udp -m iprange --src-range 192.168.73.150-192.168.73.200 -j DROP

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 

3.3 MAC匹配

 

该方式范围过于有限,且操作不方便,所以并不受行内推崇使用 

  -m mac -- -mac- source MAC地址

iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
 #禁止来自某MAC地址的数据包通过本机转发

 

3.4 状态匹配

 

格式:

-m state --state连接状态

状态 含义
NEW 主机连接目标主机,在目标主机上看到的第一个想要连接的包
ESTABLISHED 主机已与目标主机进行通信,判断标准只要目标主机回应了第一个包,就进入该状态
RELATED 主机已与目标主机进行通信,目标主机发起新的链接方式,一般与ESTABLISHED配合使用
INVALID 无效的封包,例如数据破损的封包状态

 

[root@localhost ~]# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
[root@localhost ~]#iptables -A INPUT -p tcp -m multiport --dport 443,80,22,21,20,53 -j ACCEPT
[root@localhost ~]#iptables -A INPUT -p udp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@localhost ~]# iptables -P INPUT DROP

 

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

 最后一步设置为白名单:代表只有通过层层筛选最终能够建立联系的主机,才能够与本机进行所有端口的连接使用

 

 4. 备份与还原iptables规则设置

 我们对iptables命令行中的设置,都是临时设置,只要遇到服务器关机,或者服务重启时,所有的设置都会清空且还原为原本的设置。为此,我们可以对已经测试完毕符合我们需求的防火墙设置进行备份,在必要时,可以一键还原

 

 4.1   备份iptables设置

 

格式: iptables-save >/指定的文件 

[root@localhost ~]#iptables-save >/opt/iptables.bak

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

4.2  一键导出,设置为当前防火墙设置 

 

[root@localhost ~]#iptables-restore </opt/iptables.bak 

 

iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算 

4.3 修改iptables的默认设置 

 iptables的默认配置文件存在于    /etc/sysconfig/iptables

 iptables 白名单设置,Linux安全运维,linux中软件安装,linux,服务器,运维,云计算

 

 若想永久修改只需要将备份的iptables文件重定向输入到默认配置文件(覆盖)

 

cat /opt/iptables.bak >/etc/sysconfig/iptables

 

或则将当前的设置修改为默认配置:

 

iptables-save >/etc/sysconfig/iptables

 注意:无论时什么要修改方式,谨记修改重要配置先备份的原则,修改iptables默认设置前先进行备份

 

 

到了这里,关于Linux防火墙之iptables(下)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux防火墙白名单限制

    首先说一下事件的背景,公司护网期间,某用户的请求报一下的事件:  原因是服务器上的相关服务存在漏洞,未了防止不明用户的访问及攻击,现需要对服务器做一个白名单的限制。 接下来直接讲步骤,进到服务器后,先通过下面的命令 查看下现有防火墙的一个情况 :

    2024年02月15日
    浏览(38)
  • Linux下iptables防火墙配置

    目录 一.Linux防火墙基础 1.1 防火墙概述 1.2  四表五链 二. iptables--命令 2.1 iptables的安装 2.2 iptables的配置方法  三.配置Filter表防火墙 3.1 列出(fliter)表中的所有链  iptables -L 3.2 使用数字形式(fliter)表所有链显示输出结果iptables -nL  3.3 清空表中所有链iptables -t filter -F 3.4 添

    2024年02月05日
    浏览(40)
  • linux 防火墙 iptables 命令详解

    iptables 是Linux操作系统上的一个防火墙工具,它可以控制进入、离开、转发的数据流,是Linux服务器安全性的重要保障。下面是iptables命令的详解及相应的示例: 启动/停止/重启iptables服务: 启动: sudo systemctl start iptables 停止: sudo systemctl stop iptables 重启: sudo systemctl restart

    2024年02月06日
    浏览(46)
  • Linux防火墙之iptables(下)

    承接上文,上文介绍了iptables的工作原理,四表五链,以及基本规则的增删改查。本文为上文的拓展,继续延申iptables规则设置的匹配方式。以及如何备份,还原iptables设置,还有修改iptables的初始化设置  1.通用匹配 1.1 协议匹配  1.2 地址匹配  1.3 接口匹配  2.隐含匹配  2.

    2024年01月19日
    浏览(41)
  • linux iptables安全技术与防火墙

    一、入侵检测系统 二、防火墙 1.特点 2.防火墙分类 3.按实现方式划分 4.按网络协议划分 5.Netfilter 6.iptables 三、防水墙 四、tcpdump抓包 五、实验演示 1.SNAT                            是不阻断任何网络访问,量化、定位来自内外网络的威胁情况, 主要以提供报警和事后监督

    2024年02月08日
    浏览(42)
  • Linux_iptables防火墙学习笔记

    主机型 对主机进行保护 网络型 系统当作路由时使用,对网络进行保护 iptables是一个用户空间的应用,用来设置内核空间的netfilter iptables没有守护进程,不能算是真正意义上的服务,应该算是内核提供的功能 数据经过防火墙的流程 四表 filter表 负责过滤功能,防火墙;内核模块:ipta

    2024年04月16日
    浏览(53)
  • linux防火墙查看状态firewall、iptable

    1、iptables防火墙 查看防火墙状态  service iptables status 停止防火墙 service iptables stop 启动防火墙 service iptables start 重启防火墙 service iptables restart 永久关闭防火墙 chkconfig iptables off 永久关闭后重启 chkconfig iptables on 开启80端口 vim /etc/sysconfig/iptables 加入一下代码 -A INPUT -m state --s

    2024年01月16日
    浏览(59)
  • Linux防火墙查看及白名单添加

    一、临时白名单添加,执行即生效,重启防火墙后失效 查看防火墙状态: 查看白名单列表: 添加白名单:  查看白名单添加结果: 二、永久防火墙 添加白名单: 移除白名单: 重启防火墙后生效: firewall-cmd --reload

    2024年02月11日
    浏览(42)
  • Linux网络服务之iptables防火墙工具

    Netfilter是一个Linux内核功能,用于在网络数据包从网络堆栈进入或离开时进行包过滤和操作。 Netfilter内称为防火墙的“内核态”。 Firewalld和Iptables 都不是防火墙,是 防火墙管理工具 ,被称为防火墙的“用户态”。 Centos 7中默认管理防火墙规则的工具是firewalld。 由软件包ip

    2024年02月12日
    浏览(40)
  • Centos上 关闭Linux防火墙(iptables) 及 SELinux

    一、关闭防火墙 1、重启后永久性生效: 开启: chkconfig iptables on 关闭: chkconfig iptables off 2、即时生效,重启后失效: 开启: service iptables start 关闭: service iptables stop 在开启了防火墙时,做如下设置,开启相关端口,修改 /etc/sysconfig/iptables 文件,添加以下内容: -A INPUT

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包