CentOS 7的Firewall基本/简单配置

本文详细介绍了Linux系统中如何使用firewall-cmd管理防火墙,包括检查防火墙状态、启用/关闭服务、查看网络区域、设置端口转发、创建自定义服务及开放指定IP端口等操作。同时,还讲解了利用hosts.allow和hosts.deny文件进行IP访问控制的方法,以确保系统安全。

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

基础命令

检查防火墙状态:firewall-cmd --state

启用/关闭Firewalld:systemctl start/stop firewalld ; systemctl enable/disable firewalld

查看默认区域:firewall-cmd --get-default-zone

检查网络接口使用的区域类型:firewall-cmd --get-active-zones

打印区域配置设置:firewall-cmd --zone=public --list-all

创建新的Firewalld服务:默认服务存储在/ usr / lib / firewalld / services目录中。 创建新服务的最简单方法是将现有服务文件复制到/ etc / firewalld / services目录,该目录是用户创建的服务的位置并修改文件设置。

重新加载Firewalld服务:firewall-cmd --reload

防火墙开启后,默认拒绝所有,除了ssh服务,所有只要添加permit策略即可!

使用Firewalld转发端口

要将流量从一个端口转发到另一个端口或地址,请首先使用--add-masquerade开关为所需区域启用伪装。 例如,要为外部区域类型启用伪装:

firewall-cmd --zone=external --add-masquerade

在同一服务器上将流量从一个端口转发到另一个端口

在以下示例中,我们将流量从端口80转发到同一服务器上的端口8080:

firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

将流量转发到其他服务器

在以下示例中,我们将流量从端口80转发到IP 192.168.1.2的服务器上的端口80:

firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.2

将流量转发到其他端口上的另一台服务器

在以下示例中,我们将流量从端口80转发到IP 192.168.1.2的服务器上的端口8080:

firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.2

如果你想使前锋永久性只是附加--permanent标志。

对指定IP开放指定 端口/协议

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.29.182" protocol value="ssh" accept"
# firewall-cmd --reload

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.29.182" port protocol="tcp" port="3306" accept"
# firewall-cmd --reload

 

删除某个规则

# firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.29.182" port protocol="tcp" port="3306" accept"
# firewall-cmd --reload

只允许某一IP/某段远程连接,使用hosts.allow , hosts.deny方法

修改/etc/hosts.allow文件

sshd:210.13.218.0/255.255.255.0  #允许210.13.218.网段的IP访问sshd服务

all:218.24.129.110 #表示接受110这个ip的所有请求.

sshd:all EXCEPT 192.168.0.0/255.255.255.0  #ALL匹配所有情况,EXCEPT匹配除了某些项之外的情况

httpd:all 

修改/etc/hosts.deny文件

sshd:all

sshd:45.55.173.117#表示拒绝117这个ip的sshd请求。 

ALL:ALL EXCEPT 192.168.0.1/255.255.255.0,192.168.1.21

一个IP请求连入,linux的检查策略是先看hosts.allow中是否允许,如果允许直接放行;如果没有,则再看hosts.deny中是否禁止,如果禁止那么就禁止连入。

hosts.allow和hosts.deny的配置不用重启就立即生效

举例

限制所有人的连接,除非从218.64.87.0/24访问

#vi /etc/hosts.deny

ALL:ALL

#vi /etc/hosts.allow

ALL:218.64.87.0/255.255.255.0


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. Sun_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值