防火墙的配置————firewalld
来源:互联网 发布:seo专业知识 编辑:程序博客网 时间:2024/05/29 18:41
FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:
注意:FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。
这篇我们主要讲firewalld服务
系统提供了图像化的配置工具firewall-config、
提供命令行客户端firewall-cmd,
用于配置 firewalld永久性或非永久性运行时间的改变
一.概述
1.启动服务,并在系统引导时启动该服务
2.配置文件
firewalld将配置储存在/usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种XML文件里,除非是非常特殊的配置,你不必处理它们,而应该使用firewall-cmd
。
/usr/lib/FirewallD
下保存默认配置,如默认区域和公用服务。 避免修改它们,因为每次 firewall 软件包更新时都会覆盖这些文件。/etc/firewalld
下保存系统配置文件。 这些文件将覆盖默认配置。
3.图形管理
二.使用图形管理firewalld
三.命令行参数解析
source
指定源地址,可以是一个ipv4/ipv6的地址或网段,不支持使用主机名。
destination
指定目的地址,用法和source相同。
service
服务名称是 f irewalld 提供的其中一种服务。要获得被支持的服务的列表,输入以下命令:
firewall-cmd --get-services
命令为以下形式: service name=service_name
port
端口既可以是一个独立端口数字,又或者端口范围,例如,5060-5062。协议可以指定为 tcp 或 udp 。命令为以下形式: port port=number_or_range protocol=protocol
protocol
协议值可以是一个协议 ID 数字,或者一个协议名。预知可用协议,请查阅 /etc/protocols。命令为以下形式: protocol value=protocol_name_or_ID
icmp-block
用这个命令阻绝一个或多个ICMP类型。IC MP 类型是 firewalld支持的ICMP类型之一。要获得被支持的ICMP类列表,输入以下命令: firewall-cmd --get-icmptypes
icmp-block在内部使用 reject 动作,因此不允许指定动作。命令为以下形式: icmp-block name=icmptype_name
masquerade
打开规则里的 IP 伪装。用源地址而不是目的地址来把伪装限制在这个区域内。不允许指定动作。
forward-port
从一个带有指定为 tcp 或 udp 协议的本地端口转发数据包到另一个本地端口,或另一台机器,或另一台机器上的另一个端口。port 和 to-port 可以是一个单独的端口数字,或一个端口范围。而目的地址是一个简单的 IP 地址。不允许指定动作,命令使用内部动作
accept
命令为以下形式: forward-port port=number_or_range protocol=protocol /
to-port=number_or_range to-addr=address
log
注册含有内核记录的新连接请求到规则中,比如系统记录。你可以定义一个前缀文本,
记录等级可以是 emerg、alert、crit、error、warning、notice、info 或者 debug 中的一个。命令形式: log [prefix=prefix text] [level=log level] limit value=rate/duration (等级用正的自然数 [1, ..] 表达,持续时间的单位为 s 、 m 、 h 、 d 。 s 表示秒, m 表示 分钟, h表示小时, d 表示天。最大限定值是 1/d ,意为每天最多有一条日志进入。)
audit
审核为发送到 aud i td 服务的审核记录来注册提供了另一种方法。审核类型可以是 ACCEPT、REJECT或DROP中的一种,但不能在 audit命令后指定,因为审核类型将会从规 则动作中自动收集。审核不包含自身参数,但可以选择性地增加限制。审核的使用是可选 择的。选择 accept 所有新的连接请求都会被允许。选择 reject ,连接将被拒绝,连接来源 将接到一个拒绝信息。拒绝的类型可以被设定为使用另一种值。选择 drop , 所有数据 包会被丢弃,并且不会向来源地发送任何信息
四.使用命令行接口配置防火墙
查看防火墙管理的设备
[root@route ~]# firewall-cmd --get-active-zones
查看防火墙生效的区域
[root@route ~]# firewall-cmd --get-default-zone
查看防火墙所有的区域
[root@route ~]# firewall-cmd --get-zones
列出关于public区域的服务设置
[root@route ~]# firewall-cmd --zone=public --list-all
列出关于trusted区域的服务设置
[root@route ~]# firewall-cmd --zone=trusted --list-all
列出可使用的服务
[root@route ~]# firewall-cmd --get-services
修改默认区域为trusted
[root@route ~]# firewall-cmd --set-default-zone=trusted
修改默认区域为public
[root@route ~]# firewall-cmd --set-default-zone=public
临时添加服务(默认的区域)
[root@route ~]# firewall-cmd --add-service=https
临时删除服务(默认的区域)
[root@route ~]# firewall-cmd --remove-service=https
永久添加服务(默认的区域)
[root@route ~]# firewall-cmd --add-service=https --permanent
永久删除服务(默认的区域)
[root@route ~]# firewall-cmd --remove-service=https --permanent
临时添加端口(默认的区域)
[root@route ~]# firewall-cmd --add-port=8080/tcp
临时删除端口(默认的区域)
[root@route ~]# firewall-cmd --remove-port=8080/tcp
永久添加端口(默认的区域)
[root@route ~]# firewall-cmd --add-port=8080/tcp --permanent
永久删除端口(默认的区域)
[root@route ~]# firewall-cmd --remove-port=8080/tcp --permanent
添加接口(默认的区域)
[root@route ~]# firewall-cmd --add-interface=eth1
删除接口(默认的区域)
[root@route ~]# firewall-cmd --remove-interface=eth1
临时拒绝主机172.25.254.99的所有网络连接
[root@route ~]# firewall-cmd --add-source=172.25.254.99 --zone=block
永久拒绝主机172.25.254.99的所有网络连接
[root@route ~]# firewall-cmd --add-source=172.25.254.99 --zone=block --permanent
不中断连接,重启防火墙策略
[root@route ~]# firewall-cmd --reload
中断连接,重启防火墙策略
[root@route ~]# firewall-cmd --complete-reload
关闭上述
[root@route ~]# firewall-cmd --remove-source=172.25.254.99 --zone=block
[root@route ~]# firewall-cmd --remove-source=172.25.254.99 --zone=block --permanent
服务端:临时只拒绝主机99到本机的ssh服务
[root@route ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.99 -p tcp --dport 22 -j REJECT
服务端:恢复主机99到本主机的ssh服务
方式一:[root@route ~]# firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.99 -p tcp --dport 22 -j REJECT
方式二:[root@route ~]# systemctl restart firewalld
服务端:临时只允许主机99使用lftp服务
[root@route ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.99 -p tcp --dport 21 -j REJECT
[root@router-server yum.repos.d]# links http://172.25.254.100
五. 伪装和端口转发
地址伪装:
将172.25.99.100主机使用sshd访问172.25.254.100主机时访问的是172.25.254.14主机
思想:
1、需要一个双网卡的主机充当路由器,此路由器必须与172.25.99.100和172.25.254.99可以进行通信
2、172.25.99.100主机将可以与他进行通信的路由器的端口设置成网关(172.25.99.1)
路由
[root@router-server yum.repos.d]# firewall-cmd --add-masquerade ##添加火墙伪装功能
[root@router-server yum.repos.d]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.14 ##将连接到本机的主机转接到14主机
- 防火墙的配置————firewalld
- RHEL7中防火墙firewalld的配置
- RHEL7中防火墙firewalld的配置(1)
- Linux防火墙的配置方法(firewalld服务)
- RHEL7中防火墙firewalld的配置(1)
- 防火墙的配置--firewalld与iptables
- CentOS7防火墙firewalld配置
- Centos7的防火墙FirewallD
- centos 7 配置防火墙 firewalld
- centos7中firewalld防火墙配置
- Linux中防火墙firewalld的配置与基本命令解释
- CentOS 自带防火墙 Firewalld 的安装与配置
- firewalld防火墙的一些操作
- centos7的防火墙(firewalld)
- RHEL7中防火墙firewalld基础使用配置
- CentOS7防火墙firewalld容易配置和使用
- CentOS7防火墙firewalld容易配置和使用
- firewalld防火墙
- NOIP 2017 Day2 总结
- JSONArray转list
- 树莓派:指令学习
- js SHA1加密
- Idea快捷键(一)-编辑操作
- 防火墙的配置————firewalld
- Linux查找软件安装路径以及查看Ubuntu版本
- 快速理解JS闭包
- Eclipse 使用maven构建web项目
- git 回滚到指定版本并推送到远程分支
- 人工智能、5G时代、物联网、网络安全……全球互联网大咖口中的高频词将如何影响我们生活?
- 1017. A除以B (20)
- 蓝桥杯 算法提高 排列数
- 30本关于asp.net相关的经典书籍推荐