但是,在安装完 AnyConnect 之后我明明使用了 iptables-save 保存过了啊,找到 /etc/sysconfig/iptables 看了下,发现里面有那些转发规则啊。进一步确认到是重启的时候没有载入 iptables 规则。

针对 CentOS 7 搜索了一下,发现它引入了 firewalld 来管理防火墙规则,那么问题就在这了,它在启动的时候不载入保存在 /etc/sysconfig/iptables 的规则。

好在 CentOS 7 提供了回退回 iptables 的办法,步骤如下:

  1. 首先,停止并取消 firewalld 的启动

    systemctl stop firewalld
    systemctl mask firewalld
  2. 然后,安装 iptables-services

    yum install iptables-services
  3. 保存 iptables 规则

    service iptables save
  4. 重启 iptables

    service iptables restart

PS. 说句题外话,引入 firewalld 感觉有点多余,它更适合工作站而不是服务器。