首页 在线工具 VPS服务器 联系我们

CentOS 7中FirewallD的介绍和常用命令

发表时间:2019-08-27 17:00 | 分类:Linux | 浏览:194 次

在CentOS 7中默认安装有firewalld,如果没有安装的话可以使用yum安装。firewalld是iptables的包装器,可以更轻松地管理iptables规则,它不是iptables的替代品。和iptables相比,firewalld主要有两个区别:

1、iptables使用chain和rules,firewalld使用zones和services;

2、firewalld可以动态的管理更新规则,不会破坏现有的连接和会话;

一、启用关闭

启用

systemctl start firewalld
systemctl enable firewalld

关闭

systemctl stop firewalld
systemctl disable firewalld

查看状态,显示 running 或者 not running 。

firewall-cmd --state

载入配置

firewall-cmd --reload

二、配置集

firewalld有两个配置集,分别是 Runtime 和 Permanent ,runtime运行集重启机器或者firewalld配置就会失效,permanent会永久保存。例如添加http服务为可访问可以用这两个方法:

# 1
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=http
# 2
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

三、区域

zone是firewalld很重要的一个概念,可以针对不同场景定义不同的zone,例如home, public, trusted等,不同区域可以设置不同的service规则。默认firewalld zone是public。

# 1 查看默认zone
firewall-cmd --get-default-zone
# 2 设置默认zone
firewall-cmd --set-default-zone=internal
# 3 查看网卡在用的zone
firewall-cmd --get-active-zones
# 4 查看public 区域配置
firewall-cmd --zone=public --list-all
# 5 查看所有区域配置
firewall-cmd --list-all-zones

20190827152607

四、服务

firewalld预设了很多服务名,默认支持的服务的配置文件位于/usr/lib/firewalld/services,用户创建的服务文件位于/etc/firewalld/services中。

# 查看默认可用的服务
firewall-cmd --get-services
# 添加删除服务
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --remove-service=http --permanent

五、允许或拒绝任意端口/协议

例如:

firewall-cmd --zone=public --add-port=12345/tcp --permanent
firewall-cmd --zone=public --remove-port=12345/tcp --permanent

六、端口转发

转发80端口到本机的8080端口

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

转发到其他服务器的端口

firewall-cmd --zone=public --add-masquerade
firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=123.456.78.9

删除的话就把--add换成--remove

例如:

firewall-cmd --zone=public --remove-masquerade

七、常用命令举例

添加开启常见端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent

关闭禁止常见端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-port=21/tcp --permanent
firewall-cmd --zone=public --remove-port=53/udp --permanent

添加端口范围

firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent

重新载入

firewall-cmd --reload

参考:https://linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos/

本文标签:

本文链接:https://zhangnq.com/3094.html

欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

一键脚本 博客历程 留言本 文章归档 网站地图 谷歌地图 浙ICP备13025236号
托管于阿里云&七牛云 浙公网安备 33021202001057号
Copyright © 2010-2019 章郎虫博客 All Rights Reserved.