一 、控制端口/服务

可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放http服务就是开放了80端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp还是udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。

firewall-cmd --add-service=mysql # 开放mysql端口
firewall-cmd --remove-service=http # 阻止http端口
firewall-cmd --list-services  # 查看开放的服务
firewall-cmd --add-port=3306/tcp # 开放通过tcp访问3306
firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306
firewall-cmd --add-port=233/udp  # 开放通过udp访问233
firewall-cmd --list-ports  # 查看开放的端口

二、伪装IP

防火墙可以实现伪装IP的功能,下面的端口转发就会用到这个功能。

firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --permanent --add-masquerade # 允许防火墙伪装IP
firewall-cmd --permanent --remove-masquerade# 禁止防火墙伪装IP

三、端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定ip的话就默认为本机,如果指定了ip却没指定端口,则默认使用来源端口。

如果配置好端口转发之后不能用,可以检查下面两个问题:

  • 比如我将80端口转发至8080端口,首先检查本地的80端口和目标的8080端口是否开放监听了
  • 其次检查是否允许伪装IP,没允许的话要开启伪装IP
# 将80端口的流量转发至8080
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
# 将80端口的流量转发至
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1192.168.0.1
# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080

  • 当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。
  • 端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。
查询端口号80 是否开启:firewall-cmd --query-port=80/tcp永久开放80端口号:firewall-cmd --permanent --zone=public --add-port=80/tcp重新加载防火墙规则:firewall-cmd --reload移除80端口号:firewall-cmd --permanent --zone=public --remove-port=80/tcp--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效--reload  #配合--permanent参数永久保存

查看防火墙状态
systemctl status firewalld.service
启动|关闭|重新启动  防火墙
systemctl [start|stop|restart] firewalld.service

来自:https://blog.csdn.net/slovyz/article/details/78487182

https://blog.csdn.net/tongdengquan/article/details/79923706

转载于:https://www.cnblogs.com/luck666/p/10449087.html

CentOS 7下用firewall-cmd相关推荐

  1. CentOS 7 下的 Firewall

    CentOS 7 默认实用的用Firewalld作为防火墙,摒弃了原先的iptables.但是内核还是使用iptable作为管理 参考文档 https://access.redhat.com/docu ...

  2. Linux(CentOS)下,各种协议,端口号

    Linux(CentOS)下,各种配置文件如下: DNS:cat /etc/resolv.conf 主机名:cat etc/sysconfig/network 私有主机名:cat /etc/hosts ...

  3. CentOS 7下安装Nextcloud搭建个人网盘

    [转载自 https://www.linuxidc.com/Linux/2018-11/155310.htm] 该方法是在linxu公社中发布的.感谢作者! 本人亲测,此方法可行,我在手机.电脑上都可 ...

  4. Fabric学习笔记(一)- Centos 7下的Fabric 2.3.2环境搭建

    Centos 7下的Fabric 2.3.2环境搭建 一. 环境准备 (一).在VMware Workstation 15 安装一个Centos 7的虚拟环境,切换到图形化界面 (二).打开终端,安装 ...

  5. 玩PT需要SeedBox,关于在CentOS系统下架设SeedBox软件Transmission

    原文转载自http://www.ziliaoboke.com/pt-seedbox-transmission.html 最近喜欢上了玩PT,喜欢上了高清电影,在大概从4月29号开始起,大概20天的时间 ...

  6. Windows下100个CMD常用命令(1)

    Windows下100个CMD常用命令(1) 前言 一.第一组 1.appwiz.cpl:程序和功能 2.calc:启动计算器 3.chkdsk.exe:Chkdsk磁盘检查 4.cleanmgr: ...

  7. 【傻瓜教程】CentOS 7 下 LNMP 环境搭建过程

    1.安装MariaDB CentOS 7 下,推荐使用MariaDB(MySQL的一种开源分支),且建议用yum安装. 安装命令 yum -y install mariadb mariadb-serv ...

  8. CentOS(linux) 下JDK的安装

    CentOS(linux) JDK的安装 第一篇博客有不足之处,请大家多指教.^_^ linux下装JDK的文章网上有一大堆我就不照搬了. 本文讲新手如何取巧的在linux下安装JDK. CentOS ...

  9. 使用 yum 安装Docker(CentOS 7下)

    使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname ...

  10. CentOS 6下编译安装Nginx

    CentOS 6下编译安装Nginx  By:老宁 一.准备make环境  yum -y install gcc gcc-c++ automake autoconf libtool make 二.准备 ...

最新文章

  1. Linux Android 多点触摸协议 原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/71/12306571.shtml
  2. PyCharm个性化设置及注意事项
  3. 学习笔记(58):Python实战编程-Combobox
  4. 超形象!流体版的勾股定理演示动图...
  5. Day Two(Beta)
  6. c# mysql 连接串_c# – 如何形成一个正确的MySQL连接字符串?
  7. Java执行系统命令策略
  8. Cocos2d-x 发布 Android
  9. mcem r语言代码_生态学数据处理常用R语言代码
  10. docker elasticsearch安装
  11. C#数组和list集合的区别
  12. 软件设计师教程 第5版 下载
  13. 关于命运(详细娱乐诠释)
  14. Excel如何批量添加邮箱后缀
  15. 3D结构光摄像头深度算法
  16. Single image dehazing (Fattal)
  17. Schema是什么?
  18. Ping++和BeeCloud的比较
  19. 具有对称性质的单参数混沌镜像系统的切换控制
  20. Camstar 开发:缓存的作用与分析

热门文章

  1. [Objective-C] Copy 和 MutableCopy
  2. linux安装jdk1.7
  3. vs2015使用GIt连接git.oschina.net/
  4. 掌握 PHP 中的正则表达式 二
  5. Ibatisnet示例:npetshop学习一
  6. 支持向量机(理论+opencv实现)
  7. ADO.NET知识学习总结
  8. MyEclipse快捷键与插件大全
  9. 妙用Windows安全模式执行杀毒
  10. 【android9.0】system/core下的usbhost模块无法输出log到logcat