zoukankan      html  css  js  c++  java
  • centos7之firewalld防火墙的配置与使用

    firewalld是centos7开始提供的管理防火墙工具,提供了一个动态管理的防火墙,当然低层仍然调用的是 netfilter 。

    一、区域(zone)
    firewalld将网卡对应到不同的区域(zone),zone默认共有9个,block,dmz,drop,external,home,internal,public,trusted,work。

    二、服务(services)
    /usr/lib/firewalld/services目录中,保存了另一类配置文件,每个文件对应一项具体的网络服务,如 ssh 服务。
    对应的配置文件中记录了各项服务所使用的 tcp/udp 端口,最新的 firewalld 中默认已经定义了 70 多种服务供我们使用。

    修改服务的配置只需将/usr/lib/firewalld/services中的配置文件复制到/etc/firewalld/services中修改即可。

    三、firewalld常用命令

    安装

    yum install firewalld

    启动

    systemctl start firewalld

    停止

    systemctl stop firewalld

    查看版本

    firewall-cmd --version

    查看状态

    firewall-cmd --state

    重新载入

    firewall-cmd --reload

    查看firewalld支持的service

    firewall-cmd --get-services

    查看当前zone加载的service

    firewall-cmd --list-services

    查看区域信息

    firewall-cmd --get-active-zone

    查看活动的区域

    firewall-cmd --get-active-zones

    查看指定接口所属区域

    firewall-cmd --get-zone-of-interface=ens33

    查看默认区域

    firewall-cmd --get-default-zone

    设置默认区域

    firewall-cmd --set-default-zone public

    获取所有的区域

    firewall-cmd --get-zones

    拒绝所有包

    firewall-cmd --panic-on

    取消拒绝状态

    firewall-cmd --panic-off

    查看是否拒绝

    firewall-cmd --query-panic

    将接口添加到区域

    firewall-cmd --zone=public --add-interface=eth0

    将接口从区域中删除

    firewall-cmd --zone=public --remove-interface=eth0

    修改接口所属区域

    firewall-cmd --zone=dmz --change-interface=eth0

    查询区域中是否包含某接口

    firewall-cmd --zone=public --query-interface=eth0
    

      

    四、打开端口 (最常用)

    查看区域打开的所有端口

    firewall-cmd --zone=public --list-ports

    加入一个端口到区域

    firewall-cmd --zone=public --add-port=8080/tcp

    从区域中删除一个端口

    firewall-cmd --zone=public --remove-port=8080/tcp

    永久生效加上 --permanent 然后 reload 防火墙
    注意,如果加上 --permanent 参数后,会把该配置写入到指定的区域配置文件中,比如:/etc/firewalld/zones/public.xml

    五、如何打开一个服务

    打开一个服务,类似端口可视化,服务需要在配置文件中添加,/etc/firewalld/services目录下。

    查询区域中启用的服务

    firewall-cmd --zone=public --list-services

    将ssh服务添加到public区域

    firewall-cmd --zone=public --add-service=ssh

    移除服务

    firewall-cmd --zone=public --remove-service=ssh
    

      

    六、如何设置端口转发

    要使用端口转发,需开启防火墙伪装

    firewall-cmd --add-masquerade --permanent

    如:我们想把访问本机192.168.1.222的3306端口转发到192.168.1.111主机的3306端口上

    1、先把本机的3306端口放开

    firewall-cmd --permanent --zone=public --add-port=3306/tcp

    2、把访问本地3306端口的请求转发到192.168.1.111主机的3306上

    firewall-cmd --permanent --zone=public --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.111:toport=3306

    这样当我们访问222主机的3306端口时,实际访问的是111主机的3306端口。

  • 相关阅读:
    使用Nginx实现反向代理
    nginx配置
    jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
    jsonp形式的ajax请求:
    面试题
    PHP设计模式_工厂模式
    Redis限制在规定时间范围内登陆错误次数限制
    HTTP 状态码简介(对照)
    Django 进阶(分页器&中间件)
    Django 之 权限系统(组件)
  • 原文地址:https://www.cnblogs.com/jkko123/p/11621958.html
Copyright © 2011-2022 走看看