Centos7 防火墙常用配置及说明

时间:2023-03-08 17:08:28

一、 Centos7和Centos6 防火墙的区别:

使用的工具不一样了。Centos6 使用的是iptables ,Centos7 使用的是filewall

iptables 用于过滤数据包,属于网络层防火墙。

firewall 能够允许哪些服务可用,那些端口可用...属于更高一层的防火墙。

二、常用命令:

vi /usr/lib/firewalld/services/ssh.xml

vi /usr/lib/firewalld/services/html.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

vi /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

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

1、系统配置目录

/usr/lib/firewalld/services

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

Centos7 防火墙常用配置及说明

2、用户配置目录

/etc/firewalld/

Centos7 防火墙常用配置及说明

3、如何自定义添加端口

用户可以通过修改配置文件的方式添加端口,也可以通过命令的方式添加端口,注意:修改的内容会在/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文件中新增一条。

l  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:

service firewalld stop systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

3、编辑iptables防火墙配置

vi /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 enable iptables.service #设置防火墙开机启动