博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
firewalld-cmd命令
阅读量:3941 次
发布时间:2019-05-24

本文共 4689 字,大约阅读时间需要 15 分钟。

  • 对于运维工程师来说,我们可以使用 firewalld-cmd 命令来管理我们的防火墙规则,安装 firewalld 这个软件包,系统就会提供该命令工具,其语法格式如下:

命令描述:firewalld 防火墙规则管理工具

用法:firewalld-cmd [OPTIONS…]
选项:

--get-default-zone									# 获取默认 zone 信息	--set-default-zone=
# 设置默认 zone --get-active-zone # 显示当前正在使用的 zone --get-zone # 显示系统预定义的zone --get-services # 显示系统预定义的服务名称 --get-zone-of-interface=
# 查询某个接口与哪个 zone 匹配 --get-zone-of-source=
[/
] # 查询某个原地址与哪个 zone 匹配 --list-all-zones # 显示所有的 zone 信息的所有规矩 --add-service=
# 向 zone 中添加允许访问的服务 --add-port=
[-
]/
# 向 zone 中添加允许访问的端口 --add-interface=
# 将接口与 zone 绑定 --add-source=
[/
] # 将源地址与 zone 绑定 --list-all # 列出某个 zone 的所有规则信息 --remove-service=
# 从 zone 中移除允许某个服务的规则 --remove-port=
[-
]/
# 从 zone 中移除允许某个端口的规则 --remove-source=
[/
] # 将 源地址与 zone 解除绑定 --permanent # 设置永久有效规则,默认情况规则都是临时的 --reload # 重新加载防火墙规则
  • 查看默认 zone 结果为 trusted
[root@server ~]# firewall-cmd --get-default-zone public
  • 设置默认 zone 为 trusted
[root@server ~]# firewall-cmd --set-default-zone=trusted success
  • 显示当前正在使用的 zone 信息
[root@server ~]# firewall-cmd --get-active-zones trusted  interfaces: ens33
  • 显示系统预定义的 zone 默认为九个 zone
[root@server ~]# firewall-cmd --get-zones block dmz drop external home internal public trusted work
  • 显示系统预定义的服务名称:
[root@server ~]# firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
  • 查询 ens33 接口与哪个 zone 匹配,网卡与 trusted 匹配,则该网卡的流量执行 ens33 中定义的规则,默认将允许访问所有服务
[root@server ~]# firewall-cmd --get-zone-of-interface=ens33trusted
  • 显示所有 zone 及其对应的规则信息
[root@server ~]# firewall-cmd --list-all-zones block  target: %%REJECT%%  icmp-block-inversion: no  interfaces:   sources:   services:   ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules: 	dmz  target: default  icmp-block-inversion: no  interfaces:   sources:   services: ssh  ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules: 部分内容省略... ... ...
  • 在 public 这个 zone 中添加允许访问 FTP 服务的规则:
[root@server ~]# firewall-cmd --add-service=ftp --zone=public success
  • 在 public 这个 zone 中删除允许访问 FTP 服务的规则:
[root@server ~]# firewall-cmd --remove-service=ftp --zone=public success
  • 在 public 这个 zone 中添加允许访问 3306 端口的规则:
[root@server ~]# firewall-cmd --add-port=3306/tcp --zone=public success
  • 从 public 这个 zone 中删除允许访问 3306 端口的规则:
[root@server ~]# firewall-cmd --remove-port=3306/tcp --zone=public success
  • 将 ens33 网卡与 public 绑定,以后从该接口进入的流量,匹配 public 中的规则:
[root@server ~]# firewall-cmd --add-interface=ens33 --zone=public The interface is under control of NetworkManager, setting zone to 'public'.success
  • 将 ens33 网卡接口与 public 解除绑定
[root@server ~]# firewall-cmd --remove-interface=ens33 --zone=trusted The interface is under control of NetworkManager, setting zone to default.success
  • 将源 IP 地址 6.6.6.7 与 public 绑定,以后该主机访问本机时匹配 public 中的规则:
[root@server ~]# firewall-cmd --add-source=6.6.6.7 --zone=public success
  • 查看默认 zone 的规则列表:
[root@server ~]# firewall-cmd --list-alltrusted (active)  target: ACCEPT  icmp-block-inversion: no  interfaces: ens33  sources:   services:   ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules:
  • 查看 public 这个 zone 的规则列表:
[root@server ~]# firewall-cmd --list-all --zone=public public (active)  target: default  icmp-block-inversion: no  interfaces:   sources: 6.6.6.7  services: ssh dhcpv6-client  ports:   protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules:
  • 在 public 这个 zone 中添加一条永久规则(允许访问 3306 端口),该规则再重启防火墙后依然有效:
[root@server ~]# firewall-cmd --permanent --add-port=3306/tcp --zone=public success
  • 重新加载读取防火墙规则:
[root@server ~]# firewall-cmd --reloadsuccess

转载地址:http://bhnwi.baihongyu.com/

你可能感兴趣的文章
SQL Server Union等操作时解决不同数据库字符集冲突的问题
查看>>
Linq GroupJoin(二)
查看>>
递归:访问页面的控件或文件夹的下文件
查看>>
DataGridView分頁控件
查看>>
Linq 使用entity framework查询视图返回重复记录的问题(转)
查看>>
项目中得到执行文件版本或其它信息
查看>>
WinForm DatagridView绑定大量数据卡顿的问题
查看>>
DataGridView或 DataTable导出到excel
查看>>
Ilist To DataTable
查看>>
SQL @@IDENTITY, IDENT_CURRENT,SCOPE_IDENTITY
查看>>
簡單工廠模式
查看>>
SQL Server的數據類型
查看>>
允許文本框輸入數字,退格鍵,小數點,負號
查看>>
SOLR的一些错误
查看>>
Linux下python升级步骤
查看>>
关于mongodb ,redis,memcache
查看>>
DEDECMS BUG汇总
查看>>
html5 常用
查看>>
node-webkit:开发桌面+WEB混合型应用的神器
查看>>
Hybird APP 开发 总结
查看>>