一、 Centos7和Centos6 防火墙的区别:
使用的工具不一样了。Centos6 使用的是iptables,Centos7 使用的是filewall
iptables 用于过滤数据包,属于网络层防火墙。
firewall 能够允许哪些服务可用,那些端口可用...属于更高一层的防火墙。
二、常用命令:
vim /usr/lib/firewalld/services/ssh.xml
vim /usr/lib/firewalld/services/http.xml
systemctl enable firewalld.service
systemctl restart firewalld.service
firewall-cmd --state 查看状态
firewall-cmd --list-all 查看过滤的列表信息
firewall-cmd --zone=public --permanent --add-port=8502/tcp 添加一个协议为tcp的8502端口过滤
vim /etc/firewalld/zones/public.xml <port protocol="tcp" port="8502"/>
systemctl restart firewalld.service
三、firewall 配置
配置介绍:
The configuration for firewalld is stored in various XML files
in /usr/lib/firewalld and /etc/firewalld
This allows a great deal of flexibility as the files can be edited, written to, backed up, used as templates for other installations and so on.
firewalld的配置存储在各种XML文件中
在/usr/lib/firewalld和/etc/firewalld中
这允许极大的灵活性,因为文件可以被编辑、写入、备份、用作其他安装的模板等等。
注意:以下firewalld 的操作只有重启之后才有效:service firewalld restart
1、系统配置目录(/usr/lib/firewalld/services)
目录中存放定义好的网络服务和端口参数,系统参数,不能修改。
2、用户配置目录(/etc/firewalld/)
image.png3、如何自定义添加端口
用户可以通过修改配置文件的方式添加端口,也可以通过命令的方式添加端口,注意:修改的内容会在/etc/firewalld/目录下的配置文件中体现。
3.1 、命令的方式添加端口:
firwall-cmd --permanent --add-port=9527/tcp
参数介绍:
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
另外,firewall中有Zone的概念,可以将具体的端口制定到具体的zone配置文件中。
例如:添加8010端口
firewall-cmd --zone=public --permanent --add-port=8010/tcp
--zone=public:指定的zone为public;
如果--zone=dmz 这样设置的话,会在dmz.xml文件中新增一条。
3.2、修改配置文件的方式添加端口
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas.</description>
<rule family="ipv4">
<source address="122.10.70.234"/>
<port protocol="udp" port="514"/>
<accept/>
</rule>
<rule family="ipv4">
<source address="123.60.255.14"/>
<port protocol="tcp" port="10050-10051"/>
<accept/>
</rule>
<rule family="ipv4">
<source address="192.249.87.114"/> 放通指定ip,指定端口、协议
<port protocol="tcp" port="80"/>
<accept/>
</rule>
<rule family="ipv4"> 放通任意ip访问服务器的9527端口
<port protocol="tcp" port="9527"/>
<accept/>
</rule>
</zone>
上述的一个配置文件可以很好的看出:
1、添加需要的规则,开放通源ip为122.10.70.234,端口514,协议tcp;
2、开放通源ip为123.60.255.14,端口10050-10051,协议tcp;
3、开放通源ip为任意,端口9527,协议tcp;
四、firewall常用命令
1、重启、关闭、开启、firewalld.serverice 服务
Service firewalld restart 重启
Service firewalld start 开启
Service firewalld stop 关闭
systemctl status firewalld 查看状态
systemctl stop firewalld 关闭
systemctl start firewalld 开启
systemctl restart firewalld 重启
systemctl disable firewalld 关闭开机启动
2、查看状态
firewall-cmd --state
3、查看防火墙规则
firewall-cmd --list-all
五、Centos 切换为iptables防火墙
提示:切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。
1、关闭firewall:
systemctl stop firewalld.service
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙:
yum install iptables-services #安装
3、编辑iptables防火墙配置:
vim /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! #保存退出
service iptables start 或 systemctl start iptables.service #开启
systemctl enable iptables.service #设置防火墙开机启动
网友评论