Linux之CentOS7下如何配置iptables

 更新时间:2024年02月01日 09:23:57   作者:Java秦老师  
这篇文章主要介绍了Linux之CentOS7下如何配置iptables问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Centos7.4 zabbix3.4.7源码安装的方法步骤

    Centos7.4 zabbix3.4.7源码安装的方法步骤

    这篇文章主要介绍了Centos7.4 zabbix3.4.7源码安装的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • linux系统中通过rsync+inotify实现网页自动同步

    linux系统中通过rsync+inotify实现网页自动同步

    这篇文章主要介绍了linux系统中通过rsync+inotify实现网页自动同步,需要的朋友可以参考下
    2014-11-11
  • Linux ssh远程连接断开问题处理办法解决

    Linux ssh远程连接断开问题处理办法解决

    本篇文章主要介绍了Linux ssh远程连接断开问题处理办法解决,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03
  • vi与vim如何修改tab为4个空格方法示例

    vi与vim如何修改tab为4个空格方法示例

    在Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活,下面这篇文章主要给大家介绍了关于vi与vim如何修改tab为4个空格的相关资料,需要的朋友可以参考下
    2018-07-07
  • linux top下的 minerd 木马清除方法

    linux top下的 minerd 木马清除方法

    下面小编就为大家带来一篇linux top下的 minerd 木马清除方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • centos 6.5下修改SSH端口及禁用root远程登录的方法

    centos 6.5下修改SSH端口及禁用root远程登录的方法

    Linux各发行版中SSH端口默认为22,如果正式做站或其它用途,为了提高安全性就需要修改掉默认的SSH端口号,防止被有心人穷举密码。这篇文章主要给大家介绍了在centos 6.5系统下修改SSH端口及禁用root远程登录的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Linux中利用Vim对文件进行密码保护的方法详解

    Linux中利用Vim对文件进行密码保护的方法详解

    这篇文章主要给大家介绍了在Linux中利用Vim对文件进行密码保护的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    本文为大家分享了如何在Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境,部署方法非常详细
    2018-10-10
  • Linux系统中如何将普通用户权限提升至root权限

    Linux系统中如何将普通用户权限提升至root权限

    首先,使用普通用户登录并通过命令su-切换到临时Root状态,接着,设置root用户密码并使用命令su切换到root用户,编辑/etc/sudoers文件,修改必要的权限设置,并保存退出,然后,修改/etc/passwd文件中的用户ID从1000改为0,最后,重启Linux系统
    2024-10-10
  • linux下查看so或可执行程序的依赖库

    linux下查看so或可执行程序的依赖库

    今天小编就为大家分享一篇关于linux下查看so或可执行程序的依赖库,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04

最新评论