Centos7设置IPtables

本文介绍在CentOS 7下将防火墙从firewall改为iptables的方法,包括关闭firewall、安装iptables、编辑配置文件、重启服务等步骤。还阐述了iptables的系统命令、常用命令、语法,以及IP过滤、开放端口等常见案例,如禁止特定IP接入、开放指定端口等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自
https://www.cnblogs.com/lijiasnong/p/4991015.html

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

#Firewall configuration written by system-config-firewall

#Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

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

转载自 https://blog.youkuaiyun.com/qzc70919700/article/details/79784566

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

作者:???_12138
来源:优快云
原文:https://blog.youkuaiyun.com/qzc70919700/article/details/79784566
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值