iptables 与 firewalld 防火墙

简介: iptables 与 firewalld 防火墙

iptables

iptables 是一款基于命令行的防火墙策略管理工具

四种防火墙策略

ACCEPT(允许流量通过)

流量发送方会看到响应超时的提醒,但是流量发送方无法判断流量是被拒绝,还是接收方主机当前不在线

REJECT(拒绝流量通过)

流量发送方会看到端口不可达的响应

LOG (记录日志信息)

DROP(拒绝流量通过)

iptables 中常用的参数以及作用

-P

设置默认策略

-F

清空规则链

-L

查看规则链

-A

在规则链的末尾加入新规则

-I num

在规则链的头部加入新规则

-D num

删除某一条规则

-s

匹配来源地址 IP/MASK ,加叹号“ ! ”表示除这个 IP 

-d

匹配目标地址

-i 网卡名称

匹配从这块网卡流入的数据

-o 网卡名称

匹配从这块网卡流出的数据

-p

匹配协议,如 TCP UDP ICMP

--dport num

匹配目标端口号

--sport num

匹配来源端口号

实验:

把INPUT规则链的默认策略设置为拒绝

[root@linuxprobe~]# iptables -P INPUT DROP

向INPUT链中添加允许ICMP流量进入的策略

[root@linuxprobe~]# iptables -I INPUT -p icmp -j ACCEPT

将INPUT链设置为只允许指定网段的主机访问本机的22端口

[root@linuxprobe~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@linuxprobe~]# iptables -A INPUT -p tcp --dport 22 -j REJECT

向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则

[root@linuxprobe~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT

想让配置的防火墙策略永久生效,还要执行保存命令

[root@linuxprobe~]# iptables-save

firewalld

firewalld服务是默认的防火墙配置管理工具,它拥有 基于 CLI(命令行界面)和基于 GUI (图形用户界面)的两种管理方式。

firewalld 中常用的区域名称及策略规则

trusted

允许所有的数据包

home

拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh mdns ipp-client 、 smba-client、 dhcpv6-client 服务相关,则允许流量

internal

等同于 home 区域

work

拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh ipp-client 与 dhcpv6-client 服务相关,则允许流量

public

拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh dhcpv6-client 服务相关, 则允许流量

external

拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量

dmz

拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量

block

拒绝流入的流量,除非与流出的流量相关

drop

拒绝流入的流量,除非与流出的流量相关

基于CLI(命令行界面)

firewall-cmd firewalld 防火墙配置管理工具的 CLI (命令行界面)版本,它的参数一般都是

以“长格式”来提供的。

firewall-cmd 命令中使用的参数以及作用

--get-default-zone

查询默认的区域名称

--set-default-zone=< 区域名称>

设置默认的区域,使其永久生效

--get-zones

显示可用的区域

--get-services

显示预先定义的服务

--get-active-zones

显示当前正在使用的区域与网卡名称

--add-source=

将源自此 IP 或子网的流量导向指定的区域

--remove-source=

不再将源自此 IP 或子网的流量导向某个指定区域

--add-interface=< 网卡名称>

将源自该网卡的所有流量都导向某个指定区域

--change-interface=<网卡名称>

将某个网卡与区域进行关联

--list-all

显示当前区域的网卡配置参数、资源、端口以及服务等信息

--list-all-zones

显示当前区域的网卡配置参数、资源、端口以及服务等信息

--add-service=< 服务名 >

设置默认区域允许该服务的流量

--add-port=< 端口号 / 协议 >

设置默认区域允许该端口的流量

--remove-service=< 服务名>

设置默认区域不再允许该服务的流量

--remove-port=< 端口号 / 协议>

设置默认区域不再允许该端口的流量

--reload

让“永久生效”的配置规则立即生效,并覆盖当前的配置规则

--panic-on

开启应急状况模式

--panic-off

关闭应急状况模式

使用 firewalld 配置的防火墙策略默认为 运行时(Runtime)模式 ,又称为当前生效模式,而且会随着系统的重启而失效。如果想让 配置策略一直存在,就需要使用 永久(Permanent)模式 了,方法就是在用 firewall-cmd 命令 正常设置防火墙策略时添加--permanent 参数

Runtime:当前立即生效,重启后失效。

Permanent:当前不生效,重启后生效。

实验

查看firewalld服务当前所使用的区域。

[root@linuxprobe~]# firewall-cmd --get-default-zone
public

查询指定网卡在firewalld服务中绑定的区域。

[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
public

把网卡默认区域修改为external,并在系统重启后生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=external --change-interface=ens160
The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@linuxprobe~]# firewall-cmd --permanent --get-zone-of-interface=ens160
external

把firewalld服务的默认区域设置为public。

[root@linuxprobe~]# firewall-cmd --set-default-zone=public
Warning: ZONE_ALREADY_SET: public
success
[root@linuxprobe~]# firewall-cmd --get-default-zone
public
[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
externa

启动和关闭firewalld防火墙服务的应急状况模式。

[root@linuxprobe~]# firewall-cmd --panic-on
success
[root@linuxprobe~]# firewall-cmd --panic-off
success

查询SSH和HTTPS协议的流量是否允许放行。

[root@linuxprobe~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTPS协议的流量设置为永久允许放行,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTP协议的流量设置为永久拒绝,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --remove-service=http
Warning: NOT_ENABLED: http
success
[root@linuxprobe~]# firewall-cmd --reload
success

把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。

[root@linuxprobe~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效。

firewall-cmd --permanent =-zone=<区域>,--add-forward-port=port=<源端口号>:proto=
<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[root@linuxprobe~]# firewall-cmd --reload
success

富规则的设置

富规则也叫复规则,表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。

拒绝

192.168.10.0/24 网段的所有用户访问本机的 ssh 服务( 22 端口):

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe~]# firewall-cmd --reload
success

在客户端使用 ssh 命令尝试访问 192.168.10.10 主机的 ssh 服务( 22 端口):

[root@client A~]# ssh 192.168.10.10
Connecting to 192.168.10.10:22...
Could not connect to '192.168.10.10' (port 22): Connection failed.

基于 GUI(图形用户界面)

firewall-config是 firewalld 防火墙配置管理工具的 GUI(图形用户界面)版本,几 乎可以实现所有以命令行来执行的操作

#yum install firewall-config   #下载工具
#firewall-config       #使用

linux系统中firewalld防火墙管理工具firewall-config:

相关文章
|
6月前
|
网络协议 网络安全 开发工具
iptables和防火墙1
iptables和防火墙1
27 0
|
11月前
|
存储 网络协议 安全
firewalld防火墙(一)
firewalld防火墙(一)
162 0
|
11月前
|
网络协议 安全 Linux
firewalld防火墙(二)
firewalld防火墙(二)
211 0
|
12月前
|
网络协议 安全 网络安全
|
12月前
|
网络安全 网络架构
|
运维 网络协议 Linux
|
Linux 应用服务中间件 网络安全
Firewalld防火墙(二。2)
⭐本文介绍⭐ 上一章介绍了Linux防火墙,并简单的编写了防火墙规则。Liunx防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,还提供了一些基本的网关应用。本文将介绍Linux防火墙的地址转换策略,分别掌握两个典型的应用:局域网共享一个公网IP地址接入Internet发布位于内网的应用服务器。
Firewalld防火墙(二。2)
|
网络协议 安全 Linux
Firewalld防火墙
⭐本文介绍⭐ 在Internet中,企业通过架设各种应用系统来为用户提供各种网站服务,如Wevb网站、电子邮件系统、FTP服务器、数据库系统等。那么,如何来保护这服务器,过滤企业非授权的访问,甚至是恶意的入侵呢?本文将介绍Linux系统中的防火墙——net filter和firewalld,包括防火墙的结构与匹配流程,以及如何编写防火墙规则。
Firewalld防火墙
|
网络协议 Linux 应用服务中间件
Firewalld防火墙(二。1)
⭐本文介绍⭐ 上一章介绍了Linux防火墙,并简单的编写了防火墙规则。Liunx防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,还提供了一些基本的网关应用。本文将介绍Linux防火墙的地址转换策略,分别掌握两个典型的应用:局域网共享一个公网IP地址接入Internet发布位于内网的应用服务器。
Firewalld防火墙(二。1)
|
网络安全
firewalld防火墙服务
firewalld防火墙服务
213 1