0x01 Centos7和Centos6 防火墙的区别:

使用的工具不一样了,Centos6 使用的是iptables,Centos7 使用的是filewall
iptables --> 用于过滤数据包,属于网络层防火墙。
firewall --> 能够允许哪些服务可用,那些端口可用,属于更高一层的防火墙。

0x02 常用命令:

vim /usr/lib/firewalld/services/ssh.xml
vim /usr/lib/firewalld/services/html.xml
systemctl enable firewalld.service
systemctl restart firewalld.servic
firewall-cmd --stat
firewall-cmd --list-all
firewall-cmd --zone=public --permanent --add-port=8502/tcp          
vim /etc/firewalld/zones/public.xml
    <port protocol="tcp" port="8502"/>
systemctl restart firewalld.service

0x03 firewall 配置

The configuration for firewalld is stored in various XML files in /usr/lib/firewalld and /etc/firewalld

注意:以下firewalld 的操作只有重启之后才有效:service firewalld restart

系统配置目录

目录中存放定义好的网络服务和端口参数,系统参数,不能修改!

/usr/lib/firewalld/services

用户配置目录

    /etc/firewalld/

如何自定义添加端口

用户可以通过修改配置文件的方式添加端口,也可以通过命令的方式添加端口,注意:修改的内容会在/etc/firewalld/目录下的配置文件中体现

命令的方式添加端口:

    firwall-cmd --permanent --add-port=9527/tcp

参数介绍:
firwall-cmd:是Linux提供的操作firewall的一个工具,
--permanent:表示设置为持久
--add-port:标识添加的端口
--zone=public:指定的zone为public,如果–zone=dmz 这样设置的话,会在dmz.xml文件中新增一条
另外,firewall中有Zone的概念,可以将具体的端口制定到具体的zone配置文件中

例如:添加8010端口
firewall-cmd --zone=public --permanent --add-port=8010/tcp

修改配置文件的方式添加端口

<?xml version="1.0" encoding="utf-8"?>
<zone>  
<short>Public</short>  
<description>For use in public areas.</description> <br><rule family="ipv4">    <br>  <source address="122.10.70.234"/>     <br>  <port protocol="udp" port="514"/>     <br>  <accept/>   <br></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;

0x04 firewall常用命令

重启、关闭、开启、firewalld.serverice 服务

service firewalld start  开启       
service firewalld stop  关闭
service firewalld restart 重启

systemctl status firewalld 查看服务状态

systemctl start firewalld 开启
systemctl stop firewalld  关闭
systemctl  restart firewalld 重启

systemctl  enleb firewalld  开机自动启动
systemctl  disable firewalld  关闭开机自动启动

查看状态

firewall-cmd --state

查看防火墙规则

firewall-cmd --list-all

0x05 Centos 切换为iptables防火墙

切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。

1.关闭firewall:

service firewalld stop systemctl disable firewalld.service

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

4.开启,并设置防火墙开机启动

service iptables start
systemctl enable iptables.service

最后修改:2022 年 04 月 26 日
-