Linux:CentOS7下配置 iptables

news/2024/7/6 1:39:42

iptables也叫netfilter,是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,他的功能十分强大,使用也非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。但是iptables在CentOS7的版本上已经被阉割掉了,我们需要自行安装,以下是在CentOS7下安装iptables和使用方式。
一、安装iptables
1.1、查看是否安装成功

命令:systemctl status iptables


输出结果表示没有iptables的相关服务,我们需要安装
1.2、安装iptables

命令:yum install iptables-services


1.3、检查是否安装成功

命令:systemctl status iptables


输出结果表示已经安装了iptables但是还没有启动
1.4、启动iptables

命令:systemctl start iptables.service


再次查看状态,输出结果表示已经成功启动iptables
1.5、关闭SELINUX

这里需要关闭SELINUX,因为当SELINUX不关闭时,iptables不读取配置文件,关于如何关闭SELINUX建议大家浏览我的原创博文Linux:CentOS7下关闭SELINUX
二、命令
2.1、系统命令

systemctl start iptables #启动

systemctl status iptables #查看运行状态

systemctl restart iptables.service #重启

systemctl stop iptables.service #停止

systemctl enable iptables.service #设置开机启动

systemctl disable iptables.service #禁止开机启动
2.2、常用命令

iptables -h #查询帮助

iptables -L -n #列出(filter表)所有规则

iptables -L -n --line-number #列出(filter表)所有规则,带编号

iptables -L -n -t nat #列出(nat表)所有规则

iptables -F #清除(filter表)中所有规则

iptables -F -t nat #清除(nat表)中所有规则

service iptables save #保存配置(保存配置后必须重启iptables)

systemctl restart iptables.service #重启
三、语法
3.1、filter表解析

    filter表是iptables默认使用的表,负责对流入、流出本机的数据包进行过滤,该表中定义了3个链,分别是:INPUT、OUTPUT、FORWARD

INPUT:过滤进入主机的数据包

OUTPUT:处理从本机出去的数据包

FORWARD:负责转发流经本机但不进入本机的数据包,起到转发作用
3.2、iptables常用语法

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

-D:删除记录

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

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

-j:(jump)指定要跳转的目标,常见的目标有:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(重定向)三种,但是一般不适用重定向,会带来安全隐患
四、常见案例
4.1、IP过滤
4.1.1、禁止192.168.1.3 IP地址的所有类型数据接入

iptables -A INPUT ! -s 192.168.1.3 -j DROP
4.2、开放端口
4.2.1、开放端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放80端口
4.2.2、开放端口范围

iptables -I INPUT -p tcp --dport 22:80 -j ACCEPT #开发22-80范围的端口
4.2.3、不允许80端口流出

iptables -I OUTPUT -p tcp --dport 80 -j DROP
————————————————
版权声明:本文为CSDN博主「???^_^12138」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qzc70919700/article/details/79784566


http://www.niftyadmin.cn/n/3268086.html

相关文章

java 调用企查查API查询企业信息

效果图: 首先需要设置token,API中要求token的格式为keyTimespanSecretKey组成的32位md5加密的大写字符串,所以我也附赠了MD5加密的工具类。token要放在http的header 头中,所以我在get请求的工具类中增加了一个header。 //添加hea…

聊聊rocketmq的AsyncAppender

序 本文主要研究一下rocketmq的AsyncAppender AsyncAppender org/apache/rocketmq/logging/inner/LoggingBuilder.java public static class AsyncAppender extends Appender implements Appender.AppenderPipeline {public static final int DEFAULT_BUFFER_SIZE 128;private…

微信公众号群发消息java

首先贴上官方文档: https://mp.weixin.qq.com/wiki?tresource/res_main&idmp1445241432 私以为这份文档写的还是很不错的,在开发的时候没有给我造成多大的困扰,比微信支付的文档好的不要太多。当然也可能是因为我调用的功能太少&#xf…

TensorFlow --- 01初识

由于博客园对Markdown支持不够友好,阅读此文请前往云栖社区:TensorFlow --- 01初识转载于:https://www.cnblogs.com/God-Li/p/9467957.html

公众号群发消息

权限 只有认证的的订阅号 和 服务号,可以群发消息。自己申请的测试号,或者没认证的订阅号、服务号,没有权限。 在这里插入图片描述 样子 发出去的文字消息、图片消息等于普通消息无差,我就不多说了。发送出去的图文消息是这样子…

公众号开发文章

微信公众号(一)获取access_token这里是引用 https://blog.csdn.net/FORLOVEHUAN/article/details/81512556 微信公众号(二)获取用户列表https://blog.csdn.net/FORLOVEHUAN/article/details/82760618 微信公众号群发(三)群发消息 https://blog.csdn.…

WPF不明内存泄露已解决,白头发也没了

原文:WPF不明内存泄露已解决,白头发也没了在使用OpenExpressApp进行WPF应用开发过程中遇到多个内存泄漏的地方,在上一篇中求助了一个内存泄露问题【WPF不明内存泄露原因,头发都白了几根】,本篇与大家分享一下如何解决此问题的过程…

Jenkins与Docker的自动化CI/CD实战

在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署、交付(CD)。本文基于JenkinsDockerGit实现…