今天,在使用fedora时,需要修改防火墙规则,一时间忘记了命令是什么,这里进行记录一下。 目前 fedora 28/ centos 7 使用 firewalld 作为防火墙软件;下面我就怎么简单管理防火墙规则进行记录,网上的例子很多,这里我列举我经常使用的命令,来进行备忘:

基本使用(使用这些命令需要管理员权限):

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
重启一个服务:systemctl restart firewalld.service
开机启用 : systemctl enable firewalld
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

firewall-cmd 管理防火墙:

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
更新防火墙规则: firewall-cmd --reload (在每次修改玩规则的时候,一定要使用命令来进行重新加载防火墙规则)
查看区域信息: firewall-cmd --get-active-zones
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
开启和关闭一个端口:
添加
firewall-cmd --zone=public --add-port=/tcp --permanent (--permanent永久生效,没有此参数重启后失效, --zone 此参数也可以不带,这样就是查看所有域, 注意:在修改过规则后,一定要进行重新加载规则)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=/tcp
删除
firewall-cmd --zone= public --remove-port=/tcp --permanent

打开特定服务:

查看可以打开的服务
# firewall-cmd --get-services
查看服务, 特定域
# firewall-cmd --zone=public --list-services
查看服务
# firewall-cmd --list-services
添加服务
# firewall-cmd --zone=public --add-service=http (可以不限制public域)注意:所有的规则在修改过后,一定要使用 reload 命令进行重新加载 firewall-cmd --reload
删除服务
# firewall-cmd --zone=public --remove-service=http

添加特定端口对应的服务:

自定义的服务,一般添加到 firewalld 的 /etc 中的配置文件夹之中:/etc/firewalld/services

当然也可以添加到 /usr/lib/firewalld/services 之中:

我们首先查看原有的服务,可见系统已经事先为我们配置好了很多知名的服务,如http, smtp, ftp 等:

root@yaowenxu /u/l/f/services# ls
amanda-client.xml elasticsearch.xml kadmin.xml nfs.xml redis.xml syslog.xml
amanda-k5-client.xml freeipa-ldaps.xml kerberos.xml nmea-.xml RH-Satellite-.xml telnet.xml
bacula-client.xml freeipa-ldap.xml kibana.xml nrpe.xml rpc-bind.xml tftp-client.xml
bacula.xml freeipa-replication.xml klogin.xml ntp.xml rsh.xml tftp.xml
bgp.xml freeipa-trust.xml kpasswd.xml openvpn.xml rsyncd.xml tinc.xml
bitcoin-rpc.xml ftp.xml kprop.xml ovirt-imageio.xml samba-client.xml tor-socks.xml
bitcoin-testnet-rpc.xml ganglia-client.xml kshell.xml ovirt-storageconsole.xml samba.xml transmission-client.xml
bitcoin-testnet.xml ganglia-master.xml ldaps.xml ovirt-vmconsole.xml sane.xml upnp-client.xml
bitcoin.xml git.xml ldap.xml pmcd.xml sips.xml vdsm.xml
ceph-mon.xml gre.xml libvirt-tls.xml pmproxy.xml sip.xml vnc-server.xml
ceph.xml high-availability.xml libvirt.xml pmwebapis.xml smtp-submission.xml wbem-https.xml
cfengine.xml https.xml managesieve.xml pmwebapi.xml smtps.xml xmpp-bosh.xml
cockpit.xml http.xml mdns.xml pop3s.xml smtp.xml xmpp-client.xml
condor-collector.xml imaps.xml minidlna.xml pop3.xml snmptrap.xml xmpp-local.xml
ctdb.xml imap.xml mongodb.xml postgresql.xml snmp.xml xmpp-server.xml
dhcpv6-client.xml ipp-client.xml mosh.xml privoxy.xml spideroak-lansync.xml zabbix-agent.xml
dhcpv6.xml ipp.xml mountd.xml proxy-dhcp.xml squid.xml zabbix-server.xml
dhcp.xml ipsec.xml mssql.xml ptp.xml ssh.xml
dns.xml ircs.xml ms-wbt.xml pulseaudio.xml syncthing-gui.xml
docker-registry.xml irc.xml murmur.xml puppetmaster.xml syncthing.xml
docker-swarm.xml iscsi-target.xml mysql.xml quassel.xml synergy.xml
dropbox-lansync.xml jenkins.xml nfs3.xml radius.xml syslog-tls.xml

我们查看 http.xml 文件的内容:

root@yaowenxu /u/l/f/services# cat http.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>WWW (HTTP)</short>
<description>HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.</description>
<port protocol="tcp" port=""/>
</service>

我们对新增服务进行举例:

就要新建一个服务,在/usr/lib/firewalld/services,随便拷贝一个xml文件到一个新名字,比如myservice.xml,把里面的short改为想要名字(这个名字只是为了人来阅读,没有实际影响。重要的是修改 protocol和port。修改完保存。重启firewalld服务。否则可能提示找不到刚才新建的service。

然后把新建的service添加到firewalld:

firewall-cmd --permanent --add-service=myservice

firewall-cmd --reload 后生效。


保持更新,转载请注明出处。如果对您有帮助,请点击右下角的推荐进行支持。

fedora 28 , firewalld 防火墙控制,firewall-cmd 管理防火墙规则的更多相关文章

  1. Centos7 使用firewall管理防火墙

    一.Centos7使用firewall的管理防火墙 1.firewalld基本使用 启动:systemctl start firewalld 关闭:systemctl stop firewalld 状 ...

  2. firewalld管理防火墙常用命令

    1.查看防火墙的状态 [root@localhost HMK]# firewall-cmd --state 查看防火墙的运行状态 not running [root@localhost HMK]# s ...

  3. [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机

    实验说明: 往后的许多实验都将以Linux平台下的 KVM虚拟机为主,所以不可少的就是 Virt-Manager 虚拟机管理器. 本章将对如何安装和使用Virt-Manager管理器进行讲解,并且会对 ...

  4. CentOS7 防火墙(firewall)的操作命令

    CentOS7 防火墙(firewall)的操作命令 安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查 ...

  5. 龙芯 Fedora 28 设置 VNC

    系统为龙芯版Fedora28 (床28) Fedora防火墙默认阻止了VNC所需的端口的访问,导致VNC客户端一直无法连接. 安装VNC Server sudo dnf install tigervn ...

  6. C#操作防火墙控制电脑某些软件联网

    问题: 目前公司软件刚由单机软件更改为联网软件,许多客户反映希望能够有一个功能来控制电脑上某些必用软件,如qq,公司软件联网,而其他不必要的如网页,游戏等软件不允许联网,于是向公司反映希望可以有一个功 ...

  7. fedora 28 安装 wine 运行 uTorrent 解决linux 端,pt 资源下载问题

    fedora 28 仓库中,资源比较多.使用 wine 运行windows 程序,可以一定程度上解决软件跨平台问题. 搜索: Last metadata expiration check: :: ag ...

  8. Fedora 28 打印机配置 ( HP pro 1136M ,基于Windows 打印服务器使用 smb 协议)

    Fedora 28 本身是没有打印服务的.我们需要安装下列软件: System-Config-Printer Common Unix Printing System - CUPS hplip.x86_ ...

  9. gnome extensions 推荐 (fedora 28 常用gnome 插件备份)

    当我们进行重新安装系统(fedora 28)的时候,需要初始安装一些 gnome 插件,来进行完善我们的使用. 首先我们应该进行安装 gnome-tweak 工具来进行定制化系统. tweak 可以进 ...

随机推荐

  1. Ubuntu16.04安装Anaconda (转)

    一. Anaconda下载 Anaconda 官方下载链接: https://www.continuum.io/downloads 根据自己的系统选择下载32位还是64位.   二. 进入下载目录 如 ...

  2. 关于JS的一些东西

    1.声明Js代码域    1.在head标签中使用script声明js代码域    <head>        ....        <!--声明js代码域-->       ...

  3. bus总线

    有时候两个组件也需要通信(非父子关系).当然Vue2.0提供了Vuex,但在简单的场景下,可以使用一个空的Vue实例作为中央事件总线. eventBus.js放在assets import Vue f ...

  4. Redis缓存使用技巧

    缓存能够有效加速应用的访问速度,同时可以降低后端负载,在应用架构中起着至关重要的作用,本文主要介绍缓存使用的一些技巧. 缓存更新策略 LRU/LFU/FIFO算法剔除 场景:数据一致性要求较低 原理: ...

  5. Hyperledger Fabric密码模块系列之BCCSP(五) - 国密算法实现

    Talk is cheap, show me your code. 代码也看了,蛋也扯了,之后总该做点什么.响应国家政策,把我们的国密算法融合进去吧--  先附两张bccsp下国密算法的设计实现图. ...

  6. Django组件之cookie与session

    一.引子 http协议是无状态的,就是它不会记录请求和响应的任何信息,比如你访问一个服务器的一个网页时,先要你登录一下,然后进入网页,但当你要进入这个服务器的另一个网页时,它照常不会知道刚才你已经登录 ...

  7. typeof() 和 GetType()区是什么

    1.typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称. 2.GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof() ...

  8. Java基础——Ajax(一)

    学习之前举一个简单的小栗子,让我们简单了解一下Ajax的应用与好处.一般网站都会有自己的数据库,用来单独存储用户的个人信息,平时我们在注册账号的时候会遇到信息输入的页面,假设第一个输入信息是用户名的填 ...

  9. Django Rest framework 之 节流

    RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...

  10. Django框架理解和使用常见问题

    1.什么是中间件? 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出. 中间件一般做认证或批量请求处理,django中的中间 ...