防火墙可以有效保护系统的安装,Linux的防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。下面良许教程网为大家分享一下Linux系统防火墙 的具体内容,有需要的朋友可以参考一下。
一、Linux防火墙简介
Linux的防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。
二、 Linux软件防火墙作用
防火墙可以单独/批量禁止/允许某个/多个端口的数据通过,也可以将某个端口的数据转发到另外一个端口/ip。
三、 Linux软件防火墙工具
在Centos 6中主要使用:
iptables(命令管理工具);操作较复杂。
在Centos 7中主要使用:
firewall-config(图形化管理工具);
firewall-cmd(命令管理工具),在生产环境中用的较多。
本文主要介绍Centos7 Firewalld防火墙。
四、Firewalld简介
(1)支持网络区域所定义的网络连接及接口安全等级的动态防火墙管理工具
(2)支持IPv4,IPv6防火墙设置
(3)支持服务或应用程序直接添加防火墙规则接口
(4)拥有两种配置模式,
运行时配置和永久配置。
4.1 firewalld防火墙区域介绍
为了简化管理,firewalld防火墙将所有的网络流量分为多个区域,每个区域都具有不同程度的规则,默认情况下,public公共区域是默认区域,包含所有接口网卡。
4.2 firewalld防火墙的工作流程
检查数据来源的源地址:
若源地址关联到特定的区域,则执行该区域所指定的规则;
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则;
若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定规则。
五、Firewalld防火墙的配置方法
5.1 运行时配置
实时生效,并持续至Firewalld重新启动或重新加载配置;
不中断现有连接;
不能修改服务配置。
5.2 永久配置
不立即生效,除非Firewalld重新启动或重新加载配置;
中断现有连接;
可以修改服务配置。
六、 Firewall-config图形工具
Firewal-config是firewalld防火墙自带的图形管理工具,可以直接使用命令firewall-config启动,可以简单的完成很多复杂的防火墙设置。
[root@localhost ~]# firewall-config 1
七、firewall-cmd 字符工具
firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置防火墙的各种规则。
特点:
(1)支持全部防火墙特性;
(2)–permanent参数:携带该参数表示永久配置,否则表示运行时配置;
(3)[–zone=]选项:不携带此选项表示针对默认区域操作,否则针对指定区域。
7.1 防火墙进程操作命令
[root@localhost ~]# systemctl 选项 firewalld 1
选项:start stop restart status(开启,停止,重启,状态)
常用指令如下:
7.2 防火墙区域操作命令
(1)显示所有区域及其规则
[root@localhost ~]# firewall-cmd --list-all-zones 1
(2)显示internal区域的所有规则
[root@localhost ~]# firewall-cmd --zone=internal --list-all 1
(3)显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --list-all 1
(4)显示网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --get-default-zone public 12
(5)设置网络连接或接口的默认区域为internal
[root@localhost ~]# firewall-cmd --set-default-zone=internal success [root@localhost ~]# firewall-cmd --get-default-zone internal '#默认区域已改为internal' [root@localhost ~]# 12345
(6)显示已激活的所有区域
激活条件:区域至少关联一个接口或一个源地址/网段
[root@localhost ~]# firewall-cmd --get-active-zones internal interfaces: ens33 [root@localhost ~]# 1234
(7)显示ens33网卡接口绑定的区域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33 internal '#绑定在默认区域' [root@localhost ~]# 123
(8)为work区域更改绑定的网络接口ens33
[root@localhost ~]# firewall-cmd --zone=work --change-interface=ens33 '#更改接口' The interface is under control of NetworkManager, setting zone to work. success [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33 '#显示接口绑定区域' work '#更改成功' 123456
(9)为work区域删除绑定的接口ens33
[root@localhost ~]# firewall-cmd --zone=work --remove-interface=ens33 '#删除接口' The interface is under control of NetworkManager, setting zone to default. success [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33 '#显示接口绑定区域' internal '#解绑成功' [root@localhost ~]# 1234567
(10)查询区域中是否包含ens33接口
[root@localhost ~]# firewall-cmd --zone=work --query-interface=ens33 no [root@localhost ~]# 1234
7.3 防火墙区域操作命令小结
7.4 防火墙端口操作命令
(1)启用internal区域22端口的TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m success 12
–timeout=5m:表示5分钟后删除该端口。
(2)显示internal区域内允许访问的端口号
[root@localhost ~]# firewall-cmd --zone=internal --list-ports 22/tcp 123
(3)禁用internal区域22端口的TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --remove-port=22/tcp success 12
(4)查询internal区域中是否启用了22端口TCP
[root@localhost ~]# firewall-cmd --zone=internal --query-port=22/tcp no 12
7.5 防火墙端口操作命令小结
7.6 防火墙阻塞ICMP操作命令
(1)为work区域设置阻塞echo-request类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --add-icmp-block=echo-request success 12
(2)显示work区域内阻塞的所有ICMP类型
[root@localhost ~]# firewall-cmd --zone=work --list-icmp-blocks echo-request [root@localhost ~]# 123
(3)删除work区域已阻塞的echo-request类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --remove-icmp-block=echo-request success 12
(4)查询work区域的echo-request类型的ICMP是否阻塞
[root@localhost ~]# firewall-cmd --zone=work --query-icmp-block=echo-request no 12
7.7 防火墙阻塞ICMP操作命令小结
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!