• RHEL8/CentOS8的基础防火墙配置

    发布时间:2019-10-08 09:07:17
    作者:ynkulusi
  • systemctl
    systemctl unmask firewalld                   #执行命令,即可实现取消服务的锁定
    systemctl mask firewalld                     #下次需要锁定该服务时执行
    systemctl start firewalld.service               #启动防火墙  
    systemctl stop firewalld.service               #停止防火墙  
    systemctl reload firewalld.service             #重载配置
    systemctl restart firewalld.service             #重启服务
    systemctl status firewalld.service             #显示服务的状态
    systemctl enable firewalld.service            #在开机时启用服务
    systemctl disable firewalld.service            #在开机时禁用服务
    systemctl is-enabled firewalld.service         #查看服务是否开机启动
    systemctl list-unit-files|grep enabled          #查看已启动的服务列表
    systemctl --failed                           #查看启动失败的服务列表            
    firewall-cmd
    firewall-cmd --state                         #查看防火墙状态  
    firewall-cmd --reload                        #更新防火墙规则,保留状态信息
    firewall-cmd --complete-reload               #重新加载防火墙规则,丢失状态信息
    firewall-cmd --runtime-to-permanent          #把当前运行设置为永久模式,通过运行时配置创建永久文件
    firewall-cmd --check-config                                   #检查永久性配置是否有错误  
    firewall-cmd --list-all                          #查看当前区域打开的所有类型服务
    firewall-cmd --list-ports                      #查看当前区域打开的端口
    firewall-cmd --list-interfaces                  #查看当前区域应用的接口  
    firewall-cmd --list-services                   #查看当前区域允许的所有服务  
    firewall-cmd --get-services                   #获取所有支持的服务
    firewall-cmd --panic-on                                           #启用紧急模式,禁用网络通信
    firewall-cmd --panic-off                                           #关闭紧急模式,启用网络通信
    firewall-cmd --query-panic                                     #查看是否启用紧急模式
    #区域相关
    firewall-cmd --get-zones                    #查看当前系统所有的区域名称
    firewall-cmd --list-all-zones                    #查看所有区域信息  
    firewall-cmd --get-active-zones                  #查看活动区域信息  
    firewall-cmd --set-default-zone=public           #设置public为默认区域  
    firewall-cmd --get-default-zone                  #查看默认区域信息
    firewall-cmd --zone=public --list-all              #查看public区域的详细信息
    firewall-cmd --zone=public --add-interface=eth0  #将接口eth0加入区域public
    firewall-cmd --zone=zone-name --change-interface=<interface-name>   #更改接口为指定区域,同时设定该区域为活动区域,区域设定即为永久,不需要--permanent指定
    firewall-cmd --new-zone=<zone-name> --permanent      #添加一个新区域(一般情况所有对区域的操作带--permanent参数,都在重启时才生效,不带的即刻生效,但重启消失)
    firewall-cmd --zone=trusted --add-source=192.168.1.0/24   #往指定区域中添加一个源网段
    firewall-cmd --zone=external --query-masquerade   #查看指定区域是否启用了IP伪装功能
    (IP伪装会在访问Internet时将单个计算机隐藏在网关后面。)如果打印yes和退出状态0则启用,否则打印no和退出状态1
    firewall-cmd --zone=<zone-name> --add-masquerade    #给指定区域开启IP伪装
    firewall-cmd --zone=<zone-name> --remove-masquerade   #给指定区域关闭IP伪装
    #服务相关
    firewall-cmd --add-service=<service>           #即时添加非永久服务,重启后消失
    firewall-cmd --add-service=<service> --permanent                #重启时添加永久服务
    firewall-cmd --remove-service=<service>        #即时删除服务,若是永久服务重启后恢复
    firewall-cmd --remove-service=<service> --permanent           #重启时删除永久服务
    firewall-cmd --add-service=ssh --timeot 15m      #ssh服务加入区域15分钟后删除,--timeout参数后面时间单位可是s,m,h。只可以跟有[T]标识的选项用,不能跟--permanent选项使用,重启该服务会被立马删除。
    firewall-cmd --zone=trusted --add-service=ssh      #往指定区域添加一个ssh服务
    firewall-cmd --zone=trusted --add-port=443/tcp     #往指定区域添加一个端口
    #接口相关
    firewall-cmd --zone=public --remove-interface=eth0    #从区域public中删除接口eth0  
    firewall-cmd --zone=default --change-interface=eth0  #修改接口eth0所属区域为default  
    firewall-cmd --get-zone-of-interface=eth0            #查看接口eth0所属区域  
    #端口控制
    firewall-cmd --add-port=port-nmber/port-type        #在进来的流量中添加一个端口
    firewall-cmd --remove-port=port-nmber/port-type     #在进来的流量中删除一个端口
    firewall-cmd --add-port=80/tcp --permanent               #永久添加80端口例外(全局)
    firewall-cmd --remove-port=80/tcp --permanent            #永久删除80端口例外(全局)
    firewall-cmd --add-port=90-99/tcp --permanent      #永久增加90-99例外(全局)  
    firewall-cmd --zone=public --add-port=80/tcp --permanent         #永久添加80端口例外(区域public)
    firewall-cmd --zone=public --remove-port=80/tcp --permanent      #永久删除80端口例外(区域public)
    firewall-cmd --zone=public --add-port=90-99/tcp --permanent   #永久增加90-99例外(区域public) 
    firewall-cmd --query-port=8080/tcp                              #查询指定端口是否开放
    firewall-cmd --add-forward-port=port=80:proto=tcp:toport=88    #本机端口转发
    firewall-cmd --add-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]]    #添加本区域跨主机端口转发
    firewall-cmd --remove-forward-port=port=port-number:proto=<tcp|udp>:toport=port-
    number:toaddr=<IP/mask>    #删除本区域跨主机端口转发
    firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8088:toaddr=192.168.1.15
    改用iptables.service
    yum install iptables-services           #安装iptables  
    systemctl stop firewalld.service        #停止firewalld  
    systemctl mask firewalld.service        #禁止自动和手动启动firewalld  
    systemctl start iptables.service        #启动iptables
    systemctl start ip6tables.service       #启动ip6tables  
    systemctl enable iptables.service       #设置iptables自启动  
    systemctl enable ip6tables.service      #设置ip6tables自启动
  • 分类:linux
    标签: firewall iptables
    评论数:0 阅读数:871