Centos7防火墙配置

1、查看firewall服务状态

systemctl status firewalld

2、查看firewall的状态

firewall-cmd --state

3、开启、重启、关闭、firewalld.service服务

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

4、查看防火墙规则

firewall-cmd --list-all 

5、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口8080
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

注意:
在centOS7+中 使用firewalld代替以前的 iptables ;

在centOS7+中 使用firewalld代替以前的 iptables ;

常用命令:

   systemctl stop firewalld.service             #停止firewall

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

   firewall-cmd --zone=public --add-port=1521/tcp --permanent  //开启端口

   firewall-cmd --reload  //重启防火墙 (一般我们在开放完新的端口后,需要重新启动防火墙)

开启端口命令的含义:

    --zone #作用域

    --permanent #永久生效,没有此参数重启后失效

firewall其他常用命令:

   firewall-cmd --state                           ##查看防火墙状态,是否是running
   firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
   firewall-cmd --get-zones                       ##列出支持的zone
   firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
   firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
   firewall-cmd --add-service=ftp                 ##临时开放ftp服务
   firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
   firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
   firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
   iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的

   man firewall-cmd                               ##查看帮助

1、firewalld的基本使用

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

那怎么开启一个端口呢

#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    
#(--permanent永久生效,没有此参数重启后失效)
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone= public --query-port=80/tcp
#删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

如何启动、关闭和设置ubuntu防火墙

就这句话就够了,下面的可以不看

sudo  ufw enable|disable

由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。

ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。

最简单的一个操作:sudo ufw status可检查防火墙的状态,我的返回的是:不活动

sudo ufw version防火墙版本:
ufw 0.29-4ubuntu1
Copyright 2008-2009 Canonical Ltd.

ubuntu 系统默认已安装ufw.

1.安装

sudo apt-get install ufw

2.启用

sudo ufw enable

sudo ufw default deny

运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。

3.开启/禁用

sudo ufw allow|deny [service]

打开或关闭某个端口,例如:

sudo ufw allow smtp
#允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 
#允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 
#允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 
#允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
#允许192.168.0.1-192.168.0.2访问本机53端口    
sudo ufw deny smtp 
#禁止外部访问smtp服务
sudo ufw delete allow smtp 
#删除上面建立的某条规则

4.查看防火墙状态

sudo ufw status

一般用户,只需如下设置:

sudo apt-get install ufw

sudo ufw enable

sudo ufw default deny

以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。

开启/关闭防火墙 (默认设置是’disable’)

sudo  ufw enable|disable

转换日志状态

sudo  ufw logging on|off

设置默认策略 (比如 “mostly open” vs “mostly closed”)

sudo  ufw default allow|deny

许 可或者屏蔽端口 (可以在“status” 中查看到服务列表)。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:

sudo  ufw allow|deny [service]

显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。

sudo  ufw status

UFW 使用范例:

#允许 53 端口
sudo ufw allow 53
#禁用 53 端口
sudo ufw delete allow 53
#允许 80 端口
sudo ufw allow 80/tcp
#禁用 80 端口
sudo ufw delete allow 80/tcp
#允许 smtp 端口
#sudo ufw allow smtp
#删除 smtp 端口的许可
sudo ufw delete allow smtp
#允许某特定 IP
sudo ufw allow from 192.168.254.254
#删除上面的规则
sudo ufw delete allow from 192.168.254.254

linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。

但是iptables的规则稍微有些“复杂”,因此ubuntu提供了ufw这个设定工具,以简化iptables的某些设定,其后台仍然是 iptables。ufw 即uncomplicated firewall的简称,一些复杂的设定还是要去iptables。

ufw相关的文件和文件夹有:

/etc /ufw/:里面是一些ufw的环境设定文件,如 before.rules、after.rules、sysctl.conf、ufw.conf,及 for ip6 的 before6.rule 及 after6.rules。这些文件一般按照默认的设置进行就ok。

若开启ufw之后,/etc/ufw/sysctl.conf会覆盖默认的/etc/sysctl.conf文件,若你原来的/etc/sysctl.conf做了修改,启动ufw后,若/etc/ufw/sysctl.conf中有新赋值,则会覆盖/etc/sysctl.conf的,否则还以/etc /sysctl.conf为准。当然你可以通过修改/etc/default/ufw中的“IPT_SYSCTL=”条目来设置使用哪个 sysctrl.conf.

/var/lib/ufw/user.rules 这个文件中是我们设置的一些防火墙规则,打开大概就能看明白,有时我们可以直接修改这个文件,不用使用命令来设定。修改后记得ufw reload重启ufw使得新规则生效。

下面是ufw命令行的一些示例:

ufw enable/disable
#打开/关闭ufw
ufw status
#查看已经定义的ufw规则
ufw default allow/deny
#外来访问默认允许/拒绝
ufw allow/deny 20
#允许/拒绝 访问20端口,20后可跟/tcp或/udp,表示tcp或udp封包。
ufw allow/deny servicename
#ufw从/etc/services中找到对应service的端口,进行过滤。
#ufw allow proto tcp from 10.0.1.0/10 to 
#本机ip port 25:允许自10.0.1.0/10的tcp封包访问本机的25端口。
#ufw delete allow/deny 20
#删除以前定义的"允许/拒绝访问20端口"的规则
Last modification:July 4th, 2020 at 11:18 pm
如果觉得我的文章对你有用,请随意赞赏