达是酒中趣,琴上偶然音

CentOS 7 下 firewalld的基本操作

· Technology

这两天服务器升级,升级后发现有些服务不能用了。后来研究了一下,是因为防火墙的原因。之前调试,为了偷懒,把防火墙关了,就没启动过,现在想想裸奔了几个月,心真是大。

对外增加服务:

firewall-cmd --zone=public --add-port=80/tcp --permanent

对内设置安全区

firewall-cmd –permanent –zone=internal –change-interface=enp03s

firewall-cmd --zone=public --add-port=3306/tcp --permanent

最后,再重新加载firwalld策略

firewall-cmd --reload

以下转载:

http://qianxunclub.com/linux-centos-7-fang-huo-qiang-zhi-ju-you-ming-ling-xing-de-firewalldde-ji-ben-cao-zuo/

启动FirewallD服务:

?

1 2systemctl ``enable firewalld.service ``#设置开机启动 systemctl start firewalld.service ``#开启服务

查看防火墙状态:

?

1systemctl status firewalld

1. 区域管理

1.1. 网络区域简介

通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。有如下几种不同的初始化区域:

注:FirewallD的默认区域是public。

1.2. 显示支持的区域列表

?

1firewall-cmd --get-zones

1.3. 设置为家庭区域

?

1firewall-cmd --``set``-default-zone=home

1.4. 查看当前区域

?

1firewall-cmd --get-active-zones

1.5. 设置当前区域的接口

?

1firewall-cmd --get-zone-of-interface=enp03s

1.6. 显示所有公共区域(public)

?

1firewall-cmd --zone=public --list-all

1.7. 临时修改网络接口(enp0s3)为内部区域(internal)

?

1firewall-cmd --zone=internal --change-interface=enp03s

1.8. 永久修改网络接口enp03s为内部区域(internal)

?

1firewall-cmd --permanent --zone=internal --change-interface=enp03s

2. 服务管理

2.1. 显示服务列表

Amanda, FTP, Samba和TFTP等最重要的服务已经被FirewallD提供相应的服务,可以使用如下命令查看:

?

1firewall-cmd --get-services

2.2. 允许SSH服务通过

?

1firewall-cmd --``enable service=``ssh

2.3. 禁止SSH服务通过

?

1firewall-cmd --disable service=``ssh

2.4. 打开TCP的8080端口

?

1firewall-cmd --``enable ports=8080``/tcp

2.5. 临时允许Samba服务通过600秒

?

1firewall-cmd --``enable service=samba --timeout=600

2.6. 显示当前服务

?

1firewall-cmd --list-services

2.7. 添加HTTP服务到内部区域(internal)

?

1 2firewall-cmd --permanent --zone=internal --add-service=http firewall-cmd --reload ``#在不改变状态的条件下重新加载防火墙

3. 端口管理

3.1. 打开端口

?

1 2#打开443/TCP端口 firewall-cmd --add-port=443``/tcp

?

1 2 3 4 5#永久打开3690/TCP端口 firewall-cmd --permanent --add-port=3690``/tcp #永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了 #其它服务也可能是这样的,这个没有测试 firewall-cmd --reload

?

1 2#查看防火墙,添加的端口也可以看到 firewall-cmd --list-all

4. 直接模式

FirewallD包括一种直接模式,使用它可以完成一些工作,例如打开TCP协议的9999端口

?

1 2firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT firewall-cmd --reload

5. 关闭服务的方法

你也可以关闭目前还不熟悉的FirewallD防火墙,而使用iptables,命令如下:

?

1 2 3 4 5systemctl stop firewalld systemctl disable firewalld yum ``install iptables-services systemctl start iptables systemctl ``enable iptables