简介

就是一个防火墙,用来替代iptables。

基本概念

Zones

区域,就是你电脑所在的区域,每个区域有一个基本规则。比如说你的电脑在家,那么各种共享端口是打开的。比如你在公共场所,不仅共享会禁用,而且ping也是不会响应。
然而,服务器建好就不会变更区域。所以只要选好一个区域,之后的规则都添加到这个区域中。
下面是系统自带的区域:

  • drop 丢掉所有入包,不返回任何响应,只能发出连接。
  • block 丢掉所有入包,返回icmp-host-prohibited或者icmp6-adm-prohibited
  • public 允许指定连接连入。
  • external 估计和public差不多。For use on external networks with masquerading enabled especially for routers. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
  • internal 内网中使用,信任内网中的电脑。允许指定连接。
  • dmz 内网中,一台与外界完全联通,允许部分连接内网其他电脑的电脑。允许指定连接连入。
  • work 工作场所使用,允许指定连接。
  • home 家中使用,允许指定连接。
  • trusted 允许所有连接。

规则

可以针对单个端口写一条规则,也可以把多个相关联的规则合并为一个服务,对服务进行启用和禁用,从而达到批量管理规则的目的。

生效时间

新建规则立即生效,无需重启服务。重启系统后立即失效。要是不小心把ssh端口关掉了,可以重启解决。

  • 加上--permanent 后,规则永久保存。

规则写法

  • 开启端口
    firewall-cmd --zone=public --add-port=5000/tcp

firewall-cmd --zone=public --permanent --add-port=4990-4999/udp

  • 关闭端口
    firewall-cmd --zone=public --add-remove=5000/tcp

firewall-cmd --zone=public --permanent --remove=4990-4999/udp

  • 查看打开的端口
    此处只能查看单条规则打开的E端口,看不到服务,也就是规则集合打开的端口。

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

  • 查看允许的服务(规则集)
    firewall-cmd --zone=public --list-services
  • 允许一个服务(规则集)
    firewall-cmd --zone=public --permanent --add-service=http
  • 禁用一个服务(规则集)
    firewall-cmd --zone=public --permanent --remove-service=http

服务(规则集)编写

<?xml version="1.0" encoding="utf-8"?>
<service>
 <short>此处填服务名称</short>
 <description>该服务是干嘛干嘛的,需要打开以下端口</description>
 <port protocol="udp" port="12345"/>
 <port protocol="tcp" port="12345"/>
 <port protocol="udp" port="12346"/>
 <port protocol="udp" port="12346"/>
 <module name="nf_conntrack_netbios_ns"/>
</service>

  • OFF : 不启用HTTPS。没有安全性需求的选这个。
  • Flexible SSL : 用户到Cloudflare是https,使用CF的证书。CF到网站是http。不折腾的选这个。
  • Full SSL : 用户到CF,CF到服务器都是https。但是服务器的可以是与你的域名不匹配或者是自签发的,用户直接访问的话,浏览器会提示不安全。通过CF换成它的证书来保证浏览器不会提示。没有证书但是又想用https的选这个。这年头谁还没个证书啊,letencrypt又不要钱。
  • Full SSL (strict) : 用户到CF,CF到服务器都是https。而且CF会对服务器的证书有效性进行检查。如果你有合法的证书选这个。

除了网上说的upload目录权限问题、Common里面的appEngine判定问题,还有个可能是安装了七牛附件插件,而配置不正确。重新配置即可。

IP段来源

这个网站提供了中国IP段的数据,提供txt格式的文件,可以直接拿来用。
http://ipblock.chacuo.net/view/c_CN

数据处理

添加到配置

在网站配置文件中include ./vhost/blockchina.conf即可。