Linux防火墙之具有命令行的FirewallD的基本操作

2015-05-12  来源:本站原创  分类:RedHat Enterprise Linux 7  人气:1374 

启动FirewallD服务:

systemctl enable firewalld.service        #设置开机启动
systemctl start firewalld.service            #开启服务

查看防火墙状态:

systemctl status firewalld

1. 区域管理

1.1. 网络区域简介

通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。有如下几种不同的初始化区域:

  • 阻塞区域(block):任何传入的网络数据包都将被阻止。
  • 工作区域(work):相信网络上的其他计算机,不会损害你的计算机。
  • 家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。
  • 公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。
  • 隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
  • 信任区域(trusted):所有的网络连接都可以接受。
  • 丢弃区域(drop):任何传入的网络连接都被拒绝。
  • 内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
  • 外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。

注:FirewallD的默认区域是public。

1.2. 显示支持的区域列表

firewall-cmd --get-zones

1.3. 设置为家庭区域

firewall-cmd --set-default-zone=home

1.4. 查看当前区域

firewall-cmd --get-active-zones

1.5. 设置当前区域的接口

firewall-cmd --get-zone-of-interface=enp03s

1.6. 显示所有公共区域(public)

firewall-cmd --zone=public --list-all

1.7. 临时修改网络接口(enp0s3)为内部区域(internal)

firewall-cmd --zone=internal --change-interface=enp03s

1.8. 永久修改网络接口enp03s为内部区域(internal)

firewall-cmd --permanent --zone=internal --change-interface=enp03s

2. 服务管理

2.1. 显示服务列表

Amanda, FTP, Samba和TFTP等最重要的服务已经被FirewallD提供相应的服务,可以使用如下命令查看:

firewall-cmd --get-services

2.2. 允许SSH服务通过

firewall-cmd --enable service=ssh

2.3. 禁止SSH服务通过

firewall-cmd --disable service=ssh

2.4. 打开TCP的8080端口

firewall-cmd --enable ports=8080/tcp

2.5. 临时允许Samba服务通过600秒

firewall-cmd --enable service=samba --timeout=600

2.6. 显示当前服务

firewall-cmd --list-services

2.7. 添加HTTP服务到内部区域(internal)

firewall-cmd --permanent --zone=internal --add-service=http
firewall-cmd --reload     #在不改变状态的条件下重新加载防火墙

3. 端口管理

3.1. 打开端口

#打开443/TCP端口
firewall-cmd --add-port=443/tcp
#永久打开3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp
#永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了
#其它服务也可能是这样的,这个没有测试
firewall-cmd --reload
#查看防火墙,添加的端口也可以看到
firewall-cmd --list-all

4. 直接模式

FirewallD包括一种直接模式,使用它可以完成一些工作,例如打开TCP协议的9999端口

firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload

5. 关闭服务的方法

你也可以关闭目前还不熟悉的FirewallD防火墙,而使用iptables,命令如下:

systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl enable iptables
相关文章
  • Linux防火墙之具有命令行的FirewallD的基本操作 2015-05-12

    启动FirewallD服务: systemctl enable firewalld.service #设置开机启动 systemctl start firewalld.service #开启服务 查看防火墙状态: systemctl status firewalld 1. 区域管理 1.1. 网络区域简介 通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流.例如,互联网是不可信任的区域,而内部网络是高度信任的区域.网络安全模型可以在安装,初次启动和首次建

  • Linux Shell 常见的命令行格式简明总结 2013-11-20

    这篇文章主要介绍了Linux Shell 常见的命令行格式简明总结,非常实用,需要的朋友可以参考下 #在后台执行 cmd 指令 cmd & #命令序列. 在同一行执行多个命令 cmd1 ; cmd2 #在当前 shell 中以一组的形式执行多个命令 { cmd1 ; cmd2 ; } #在子 shell 中以一组的形式执行多个命令 (cmd1 ; cmd2) #管道. 以 cmd1 的执行输出作为 cmd2 的输入 cmd1 | cmd2 #命令替换. 以 cmd2 的执行输出作为 cmd1 的

  • 怎么样称得上是Linux下优秀的命令行计算器 2014-12-07

    每个现代的Linux桌面发行版都预装着一个带有图形界面的计算器程序.不过如果你的工作区中全是命令行窗口,那么你一定会在其中的一个命令行窗口中处理一些数字相关的问题.或许你在寻找一款基于命令行的计算器程序.如果是这样的话,GNU bc("basic calculator"的缩写)会是你不二的选择.当然Linux下有很多基于命令行的计算器应用,我认为GNU bc是功能最强大和最有用的. 在GNU时代之前,bc实际上是一个著名的精密计算语言.它的诞生要追溯到70年代的Unix时期了.最初bc

  • linux中改变目录在命令行下显示颜色的方法 2010-05-27

    #---改变目录色彩---# Linux在命令行方式中,默认的目录显示颜色为蓝色,在黑色背景下难以看清.现介绍一种修改显示颜色的方法: 1.将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors. cp -af /etc/DIR_COLORS ~/. dir_colors 2.编辑.dir_colors文件,找到"DIR 01;34 # directory",将34改为36. 你可以找到文件的两行注释: # Text color codes: # 30=bla

  • Linux下多线程,断点续传,命令行下载工具axel 2012-02-03

    Debian sudo apt-get install axel CentOS下安装axel wget http://alioth.debian.org/frs/download.php/3015/axel-2.4.tar.gz tar zxvf axel-2.4.tar.gz cd axel-2.4 ./configure make make install 下载 axelget.conf and axelget.py # wget http://cnfreesoft.googlecode.c

  • Linux下使用命令行开发Android应用程序 2014-04-16

    本文将讲述如何在 Linux 平台下使用命令行开发 Android 应用程序,以及如何创建 PhoneGap 的 android 项目,如果你对这此感兴趣,请就继续阅读本文. 首先,让我们安装 Android SDK(我假设你已经安装了 JDK 和 Ant).你可以从在这里安装 SDK 到你的开发平台上.由于我使用的是 Ubuntu,所以我下载 Linux 平台下的 SDK 到我的主目录.解压缩下载文件,并设置加载可执行文件的路径: 1 2 3 $ tar xvf android-sdk_r16

  • Linux命令行之逗趣无极限 转载 2013-04-23

    Linux命令行之逗趣无极限 Linux命令行往往令管理员们头疼不已,但其实Linux系统的命令行奥妙无穷,并不总是件严肃古板的事情.你完全可以用它自娱自乐,这样也可以帮助你更深入地理解这些命令行的功效.如果你还知道更多诸如此类的有趣命令,不妨留言跟大家一起分享吧! [2013年4月18日 51CTO外电头条]你有没有在Linux命令行中见过一辆火车呢?"猫跟老鼠"呢?编辑Linux命令行其实并不总是件严肃古板的事情.你完全可以用它自娱自乐.下面我们就跟大家一起讨论一下Linux命令行

  • Linux防火墙之FirewallD简介 2015-05-12

    FirewallD提供了支持网络/防火墙区域定义网络链接以及接口安全等级的动态防火墙管理工具.它支持IPv4,IPv6防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项.它也支持允许服务或者应用程序直接添加防火墙规则的接口.system-config-firewall/lokkit防火墙模型是静态的,每次修改都要求防火墙完全重启(注:system-config-firewall就是iptables的图形界面管理工具,而Firewalld是由Red Hat的Thomas Woerner为F

  • 用命令行方式关闭CentOS防火墙 2013-09-10

    用命令行方式关闭CentOS防火墙 2012-07-06 11:32:05| 分类: Linux | 标签:firewall |字号 订阅 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #/etc/rc.d/init.d/iptables save 重启计算机后,防火墙默认已经开放了80和22两个端口. 临时性的完全关闭防火墙,可以

  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库) 2013-11-04

    为使用阿里云主机,没有装ftp,也没有装phpmyadmin,所以一切都得靠命令行.转移网站的重要一步就是转移数据库,这里简单介绍一下如何在这种情况下导入sql文件 因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这

  • Linux命令行修改IP.网关.DNS的方法 2014-02-10

    这篇文章主要介绍了Linux中在命令行中修改IP.网关.DNS的方法,需要的朋友可以参考下 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.168.0.1 netmask 255.255.255.0 网关修改为 102.168.0.254 复制代码 代码如下: route add default gw 102.168.0.254 Linux命令行修改DNS 复制代码 代码如下: echo "nameserver 202.202.202.20 "&g

  • 如何在Linux命令行下收听网络电台 2014-04-16

    对于花大量时间在Linux屏幕前的系统管理员和Linux爱好者来说,网络/本地电台上的音乐可以极大提高生产力,你们知道吗?不管你们相信与否,,在工作环境中有适当的声音,如音乐或者闲聊声包围,都可以提高我们的创造力.如果你喜欢在音乐环境中工作,这个教程也许会对你有用.我将会向你展示如何在命令行中收听潘多拉(Pandora)在线电台(LCTT译注:Pandora Internet Radio是一个仅为美国.澳大利亚和新西兰提供自动音乐推荐的系统.详细介绍Prandoea电台) 正如你已经知道的,Pa

  • PHP调用Linux的命令行执行文件压缩命令 2014-04-28

    一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前几天工作中,需要将3个txt文件,打包成*.zip down到本地-- 一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是这样的: /*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt*/ $zip=new ZipArchi

  • 如何在Linux命令行中创建以及展示演示稿 2014-05-11

    你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲稿只为传达特定的信息. 而这个,使用文本信息足以完成.在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片. 在Linux的世界里,有几个不同的方式供你选择来做演讲.比如带有大量多媒体展示.视觉冲击效果极佳的Impress.js,专为L

  • 利用shell编程实现DOS风格的Linux命令行 2014-07-27

    如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时,一定会感到无所适从.你所熟悉的DOS命令再Linux中基本不存在.摆在你面前的是一大堆要记背的命令. 一种替代方案是利用强大的Linux外壳命令编写shell脚本,让你在Linux下也能用DOS命令.下面告诉你怎么做. shell脚本编写基础 从定时备份到执行简单命令,Linux的shell脚本可以执行各种功能.几乎所有的程序都可以用shell脚本来运行.在脚本中甚至可以包含一些简单的条件选择.shell脚本的基本

  • 12款最佳Linux命令行终端工具 2014-09-11

    如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端. Tilda 这是一款可配置的雷神之锤风格的终端工具,也就是说,当用户敲击配置好的热键(缺省是F1)时,这个终端会从屏幕的顶端滑出,就跟雷神之锤游戏中的效果一样. 它的安装方法: apt-get install tilda Tilda跟其它下拉风格的终端比起来有更丰富的自定义选项.包括

  • 28个Unix/Linux的命令行神器 2014-09-30

    下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道.本篇文章还在Hacker News上被讨论,你可以过去看看.我以作者的原文中加入了官网链接和一些说明. dstat & sar iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在<性能调优攻略>中提到过那三个xxstat工具). 官方网站:http://d

  • linux命令行下使用curl命令查看自己机器的外网ip 2015-02-08

    Linux命令行下使用curl命令查看自己机器的外网ip,大家参考使用吧 Linux命令行下如何查看自己机器的外网ip?可以在命令行下使用curl命令实现这个功能,试一下下面的命令吧 curl ifconfig.me 输入此条命令,就可以获取到本机的外网ip.

  • linux shell命令行参数用法详解 2015-03-13

    本文介绍了linux shell命令行参数的具体用法,用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始.用户可以在提示符后面输入任何命令及参数. 习惯使用linux命令行来管理linux系统,例如: $ date 二 11 23 01:34:58 CST 1999 $ 用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统. 命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如

  • Linux命令行性能检测工具 2014-09-24

    ※注:下面附图的命令输出信息,以红旗DC Server 5.0 for x86 Sp1为基础平台,可能在不同的操作系统或核心版本有较大区别,对比时请留意. 一.uptime Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average).load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量.如果进程要求CPU时间被阻塞(意味着CPU没有时