Linux 防火墙firewalld
1、列出所有支持的 zone 和查看当前的默认 zone:
[root@lxjtest ~]# systemctl start firewalld
[root@lxjtest ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
[root@lxjtest ~]# firewall-cmd --get-default-zone
public
区域(zone)说明如下:
iptables service 在 /etc/sysconfig/iptables 中储存配置
firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里
2、在/etc/firewalld/的区域设定是一系列可以被快速执行到网络接口的预设定。列表并简要说明如下:
drop(丢弃)
任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
block(限制)
任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
public(公共)
在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
external(外部)
特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
dmz(非军事区)
用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
work(工作)
用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
home(家庭)
用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
internal(内部)
用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
trusted(信任)
可接受所有的网络连接。
指定其中一个区域为默认区域是可行的。当接口连接加入了 NetworkManager,它们就被分配为默认区域。安装时,firewalld 里的默认区域被设定为公共区域。
3、每加载一项 service 配置就意味着开放了对应的端口访问,使用下面的命令分别列出所有支持的 service 和查看当前 zone 种加载的 service:
[root@lxjtest services]# firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 .....
[root@lxjtest services]# firewall-cmd --list-services
dhcpv6-client ssh
4、动态添加一条防火墙规则
[root@lxjtest services]# firewall-cmd --add-port=12345/tcp --permanent
success
如果需要使规则保存到 zone 配置文件,则需要加参数 –permanent
[root@lxjtest services]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
<port protocol="tcp" port="12345"/>
<forward-port to-addr="192.168.1.9" to-port="22" protocol="tcp" port="123"/>
<rule family="ipv4">
<source address="192.168.10.0/24"/>
<service name="ssh"/>
<reject/>
</rule>
</zone>
[root@lxjtest services]#
5、防火墙启停及状态查询
[root@lxjtest services]# systemctl start firewalld.service
[root@lxjtest services]# systemctl stop firewalld.service
[root@lxjtest services]# systemctl enable firewalld.service --添加到系统服务
[root@lxjtest services]# systemctl disable firewalld.service --从系统服务移除
[root@lxjtest services]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2017-08-10 12:40:05 EDT; 1min 1s ago
Main PID: 7007 (firewalld)
CGroup: /system.slice/firewalld.service
└─7007 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Aug 10 12:40:04 lxjtest.rusky.com systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 10 12:40:05 lxjtest.rusky.com systemd[1]: Started firewalld - dynamic firewall daemon.
6、重新加载配置文件
重新加载防火墙,并不中断用户连接,即不丢失状态信息:
[root@lxjtest services]# firewall-cmd --reload
重新加载防火墙并中断用户连接,即丢弃状态信息:
[root@lxjtest services]# firewall-cmd --complete-reload
注意:通常在防火墙出现严重问题时,这个命令才会被使用。比如,防火墙规则是正确的,但却出现状态信息问题和无法建立连接。
7、获取所有支持的ICMP类型
[root@lxjtest services]# firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement.....
8、其它常用命令
查看Firewalld服务当前所使用的zone区域:
# firewall-cmd --get-default-zone
查询eno16777728网卡在Firewalld服务中的zone区域:
# firewall-cmd --get-zone-of-interface=eno16777728
把Firewalld防火墙服务中eno16777728网卡的默认区域修改为external,重启后再生效:
# firewall-cmd --permanent --zone=external --change-interface=eno16777728
# firewall-cmd --get-zone-of-interface=eno16777728
# firewall-cmd --permanent --get-zone-of-interface=eno16777728
把Firewalld防火墙服务的当前默认zone区域设置为:
# firewall-cmd --set-default-zone=
# firewall-cmd --get-default-zone
启动/关闭Firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用。):
# firewall-cmd --panic-on
# firewall-cmd --panic-off
查询在区域中的ssh与https服务请求流量是否被允许:
# firewall-cmd --zone= --query-service=ssh
# firewall-cmd --zone= --query-service=https
把Firewalld防火墙服务中https服务的请求流量设置为永久允许,并当前立即生效:
# firewall-cmd --zone= --add-service=https
# firewall-cmd --permanent --zone= --add-service=https
# firewall-cmd --reload
把Firewalld防火墙服务中http服务的请求流量设置为永久拒绝,并当前立即生效:
# firewall-cmd --permanent --zone= --remove-service=http
# firewall-cmd --reload
把Firewalld防火墙服务中8080和8081的请求流量允许放行,但仅限当前生效:
# firewall-cmd --zone= --add-port=8080-8081/tcp
# firewall-cmd --zone= --list-ports
把原本访问本机888端口号的请求流量转发到22端口号,要求当前和长期均有效:
流量转发命令格式:firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
# firewall-cmd --permanent --zone= --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
# firewall-cmd --reload
# firewall-cmd --permanent --zone= --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
# firewall-cmd --reload
Linux 防火墙firewalld的更多相关文章
- Linux防火墙firewalld安全设置
背景描述 防火墙是具有很好的保护作用.入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机.在公司里数据安全是最重要的,要求安全部门进行全公司进行服务器防火墙安全搭建,在原有的基础上进行安全的防火墙 ...
- linux 防火墙--firewalld学习
firewalld是centos7默认的防火墙,相比于iptables重要的优势: 1 支持动态更新: 2 不用重启服务: 同时增加了防火墙的“zone”概念,具体差异没做过多了解,这篇文章只记录fi ...
- 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞
前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- iptables 简单介绍及应用 Linux防火墙
iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...
- linux 防火墙基本使用
写在最前面 由于工作后,使用的Linux就是centos7 所以,本文记录是是centos7的防火墙使用. 从 centos7 开始,系统使用 firewall 进行防火墙的默认管理工具. 基本使用 ...
- Linux防火墙firewall和iptables的使用
防火墙是整个数据包进入主机前的第一道关卡. Linux中有两种防火墙软件,ConterOS 7.0以上使用的是 firewall,ConterOS 7.0以下使用的是 iptables,本文将分别介绍 ...
- linux防火墙学习
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置.语法: iptables(选项)(参数)1,命令选项-t<表 ...
- iptables实用知识 ,一文学会配置linux防火墙
目录 1.防火墙的概念 2. linux防火墙 3.linux数据包处理流程 3.1 linux 防火墙将以上流程,固定区分为5个流程节点 3.2 数据流程 4 linux防火墙的实现机制 4.1 i ...
随机推荐
- apache+jetty 配置web jsp服务器负载均衡
首先,查找中文资料,貌似很少,有一个网友写了点,但是1版本过老,2有些地方有错误. 经过我自己摸索,记录一下.这个图很简洁明了 第一阶段 ,配置jetty 首先从 http://download.ec ...
- Linux 动态链接库(.so)的使用
1. 背景 库:就是已经编写好的,后续可以直接使用的代码. c++静态库:会合入到最终生成的程序,使得结果文件比较大.优点是不再有任何依赖. c++动态库:动态库,一个文件可以多个代码同时使用内存中只 ...
- 基于S3C2440的嵌入式Linux驱动——看门狗(watchdog)驱动解读
本文将介绍看门狗驱动的实现. 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行"喂狗“,如 ...
- 初识C#程序结构
一.编写第一个C#程序.注释: 1.编写程序 static void Main(string[] args)//在Mian方法下编写代码输出数据 { C ...
- (转)PlayerPrefs在Windows下存到哪里去了?
自:http://www.unitymanual.com/blog-77510-2971.html?_dsign=ec64b1e5 测试脚本 saveData.cs 附着在MainCamera上. ...
- 【Python】列表(数组)的引用和拷贝
# Python里对象赋值传递的引用 arr=[1,2,3,4,5] newArr=arr arr[1]=9 print('arr='+str(arr)) print('newArr='+str(ne ...
- (纪录片)鸟瞰中国 China from Above
简介: 类型: 纪录片官方网站: natgeotv.com/uk/china-from-above制片国家/地区: 美国语言: 英语集数: 2单集片长: 44分钟IMDb链接: tt4872012 主 ...
- 一些常用&实用的Linux命令
这些指令还是很常用的,最起码有些我每天都要用.当然,很多东西还是写成shell脚本用起来更方便. man 命令(查看一个命令的详细帮助信息) 命令 --help(显示一个命令的简单帮助信息) 命令 | ...
- ext js/Ext.Net_演示 htmleditor 上传&插入图片
本文内容 解决方案结构 HtmlEditor_Upload.js 脚本 HtmlEditorUploadImg.ashx 上传图片到服务器 演示 htmleditor 控件添加插入图片功能 解决方 ...
- iOS SDK 从配置文件里读SDK。转化成class 可同时加载多个SDK
首先在工程中加入XXX plist 配置文件. 然后在key 输入名字比如allsdk value 里填写.a 文件的名字 NSString *plistPath = [[NSBundle mai ...