美文网首页
Linux防火墙命令

Linux防火墙命令

作者: 帅可儿妞 | 来源:发表于2018-06-26 17:43 被阅读26次

    一、防火墙管理中 systemctl 常用的命令

    1. 启动/关闭/重启防火墙:
      systemctl start/stop/restart firewalld.service
      
    2. 禁止开机启动防火墙:
      systemctl disable firewalld.service
      
    3. 查看服务运行状态:
      systemctl status firewalld
      

    二、防火墙控制台命令:firewall-cmd

    1. 查看8080端口是否已经开放:
      firewall-cmd --query-port=8080/tcp
      
    2. 永久开放TCP8080端口:
      firewall-cmd --zone=public --add-port=8080/tcp --permanent
      
    3. 永久移除TCP8080端口:
      firewall-cmd --zone=public --remove-port=8080/tcp --permanent
      
    4. 重新加载防火墙规则:
      firewall-cmd --reload
      
    5. 查看防火墙运行否:
      firewall-cmd --state
      
    6. 查看端口开放情况:
      firewall-cmd --list-all
      

    三、防火墙管理中 netstat 的应用

    1. 安装
      yum install net-tools
      
    2. 查看正在监听的端口
      netstat -lntp
      
    3. 检查端口8080被哪个进程占用
      netstat -lnp | grep 8080
      

    四、firewall-cmd 的高级用法

    1. 前面我们是通过直接开放端口的形式来放开对应的服务,这种就是典型的iptables的思路。在firewall中还提供了另外的一种思路,这就是使用开放服务的形式来开放对应的端口,如下:

      firewall-cmd --add-service=http #临时开放http服务
      firewall-cmd --add-service=http --permanent #永久开放http服务
      firewall-cmd --remove-service=http #临时移除http服务
      firewall-cmd --remove-service=http --permanent #永久移除http服务
      
    2. 查看开放的服务、端口

      firewall-cmd --list-services
      firewall-cmd --list-ports
      
    3. 开放、阻止端口

      firewall-cmd --add-port=3306/tcp --permanent #永久开放通过tcp访问3306
      firewall-cmd --add-port=233/udp --permanent  #永久开放通过udp访问233
      firewall-cmd --remove-port=80/tcp --permanent #永久阻止通过tcp访问3306
      
    4. IP伪装:防火墙可以实现伪装IP的功能

      firewall-cmd --query-masquerade # 检查是否允许伪装IP
      firewall-cmd --add-masquerade # 允许防火墙伪装IP
      firewall-cmd --remove-masquerade# 禁止防火墙伪装IP
      
    5. 端口转发

      • 可以在访问指定地址访问指定的端口时,将流量转发至指定地址的指定端口。如果在设置的时候任何一个不设置都使用来源的数据;如果配置好端口转发之后不能用,可以检查下面两个问题:
        • 如我将80端口转发至8080端口,首先检查本地的80端口和目标的8080端口是否开放监听了
        • 检查是否允许IP伪装,没允许的话要开启IP伪装
      • 几个端口转发的例子:
        • 将80端口转发至8080
          firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
          
        • 将80端口转发至192.168.1.0.1的80端口
          firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1
          
        • 将80端口转发至192.168.0.1的8080端口
          firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080
          
      • 端口转发的应用场景
        • 隐藏端口:当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。
        • 流量分发:一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。
    6. 其他常用命令

      firewall-cmd --get-zones #列出支持的zone
      firewall-cmd --get-services #列出支持的服务,在列表中的服务是放行的
      firewall-cmd --query-service ftp #查看ftp服务是否支持,返回yes或者no
      iptables -L -n #查看规则,这个命令是和iptables的相同的
      man firewall-cmd ##查看帮助
      

    相关文章

      网友评论

          本文标题:Linux防火墙命令

          本文链接:https://www.haomeiwen.com/subject/jjscsftx.html