Linux里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。
firewalld跟iptables比起来至少有两大好处:
1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。
firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
一个重要的概念:区域管理
通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。有如下几种不同的初始化区域:
阻塞区域(block):任何传入的网络数据包都将被阻止。
工作区域(work):相信网络上的其他计算机,不会损害你的计算机。
家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。
公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。
隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
信任区域(trusted):所有的网络连接都可以接受。
丢弃区域(drop):任何传入的网络连接都被拒绝。
内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
注:FirewallD的默认区域是public。
firewalld默认提供了九个zone配置文件:block.xml、dmz.xml、drop.xml、external.xml、 home.xml、internal.xml、public.xml、trusted.xml、work.xml,他们都保存在“/usr/lib /firewalld/zones/”目录下。
配置方法
firewalld的配置方法主要有三种:firewall-config、firewall-cmd和直接编辑xml文件,其中 firewall-config是图形化工具,firewall-cmd是命令行工具,而对于linux来说大家应该更习惯使用命令行方式的操作,所以 firewall-config我们就不给大家介绍了。
安装配置
安装firewalld
# yum install firewalld firewall-config
安装iptables
# yum install iptables
iptables防火墙
1、基本操作
查看防火墙状态:service iptables status
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
停止防火墙:service iptables stop
启动防火墙:service iptables start
重启防火墙:service iptables restart
永久关闭防火墙:chkconfig iptables off
永久关闭后重启:chkconfig iptables on
2、查看防火墙状态,防火墙处于开启状态并且只开放了22端口
3、开启80端口
vim /etc/sysconfig/iptables
加入如下代码,比着两葫芦画瓢 :)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存退出后重启防火墙
service iptables restart
firewall防火墙
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态
firewall-cmd --state
3、基本操作
启动服务:systemctl start firewalld.service
关闭服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
显示服务的状态:systemctl status firewalld.service
开机自动启动:systemctl enable firewalld.service
禁用开机自动启动:systemctl disable firewalld.service
4、查询、开放、关闭端口
查看所有打开的端口: firewall-cmd --zone=public --list-ports
查询端口是否开放:firewall-cmd --query-port=8080/tcp
开放80端口:firewall-cmd --permanent --add-port=80/tcp
开放多个端口:firewall-cmd --zone=public --add-port=80-85/tcp --permanent
移除8080端口:firewall-cmd --permanent --remove-port=8080/tcp
5、其他操作
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state (显示running表示正常启动)
查看防火墙规则:firewall-cmd --list-all
更新防火墙规则: 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
参数解释
1. firwall-cmd:是Linux提供的操作firewall的一个工具;
2. --permanent:表示设置为持久;
3. --add-port:标识添加的端口;
参考网址:
https://www.cnblogs.com/grimm/p/10345693.html
https://www.cnblogs.com/wdp-home/p/11651855.html
转载请注明: ITTXX.CN--分享互联网 » linux 防火墙的基本操作
最后更新:2020-04-30 10:45:46