CentOS7中firewall防火墙分析和配置以及切换为iptables

CentOS7中默认使用firewalld
 
firewall配置
ASP站长网注意:以下firewalld 的操作只有重启之后才有效:service firewalld restart 重启
 
系统配置目录
/usr/lib/firewalld/services
目录中存放定义好的网络服务和端口参数,系统参数,不能修改。
 
用户配置目录
/etc/firewalld/
如何自定义添加端口
用户可以通过修改配置文件的方式添加端口,也可以通过命令的方式添加端口,注意,修改的内容会在/etc/firewalld/ 目录下的配置文件中还体现。
命令的方式添加端口
firewall-cmd --permanent --add-port=9527/tcp 
参数介绍:
 
1、firewall-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;
[root@app-test zones]# more public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <port protocol="tcp" port="8082"/>
  <port protocol="tcp" port="8080"/>
  <port protocol="tcp" port="8081"/>
</zone>
如果–zone=dmz 这样设置的话,会在dmz.xml文件中新增一条。
 
修改配置文件的方式添加端口
<?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常用命令
重启、关闭、开启firewalld.service服务
service firewalld restart 重启
service firewalld start 开启
service firewalld stop 关闭
查看firewall服务状态
systemctl status firewall 
查看firewall的状态
firewall-cmd --state
查看防火墙规则
firewall-cmd --list-all 
[root@app-test firewalld]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp8s0
  sources:
  services: ssh dhcpv6-client
  ports: 8082/tcp 8080/tcp 8081/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
CentOS切换为iptables防火墙
切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。
 
关闭firewall
service firewalld stop
systemctl disable firewalld.service #禁止firewall开机启动
安装iptables防火墙
yum install -y iptables-services #安装
编辑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 #设置防火墙开机启动
使用命令开启INPUT服务端口
 
iptables -I INPUT -p tcp --dport 8011 -j ACCEPT #开启8011端口 
/etc/rc.d/init.d/iptables save #保存配置 
/etc/rc.d/init.d/iptables restart #重启服务 
/etc/init.d/iptables status #查看端口是否已经开放

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。