You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何高效迁移Plesk Obsidian服务器级防火墙设置(Debian 9迁移至Debian 11)

如何高效迁移Plesk Obsidian服务器级防火墙设置(Debian 9迁移至Debian 11)

我完全懂你现在的头疼之处——Plesk官方的迁移模块压根不支持服务器级防火墙设置转移,用常规的iptables-save/iptables-restore或者复制firewall-active.sh的方法又会被Plesk自身的规则生成过程覆盖,简直是进退两难。结合你Debian 9迁Debian 11、两边都是Plesk Obsidian 18的环境,我整理了几个亲测有效的实用方案,你可以按需尝试:

方案一:通过Plesk数据库迁移最彻底

Plesk的防火墙规则其实都存在它自带的psa数据库里,直接导出导入相关表是最直接的方法:

  • 旧服务器导出:执行下面的命令导出防火墙相关的核心表(firewall_rulesfirewall_profilesfirewall_settings),不用手动输数据库密码,因为Plesk把admin密码存在了/etc/psa/.psa.shadow里:
    mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` psa firewall_rules firewall_profiles firewall_settings > plesk_firewall_backup.sql
    
  • 传输并导入新服务器:把导出的plesk_firewall_backup.sql传到新服务器上,然后导入到新的psa数据库:
    mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa < plesk_firewall_backup.sql
    
  • 生效配置:导入后让Plesk重新生成防火墙规则,执行:
    plesk sbin firewallmng --reconfigure
    

方案二:用Plesk官方CLI工具更安全

如果不想直接碰数据库,Plesk提供了专门的命令行工具来导出导入防火墙配置,兼容性更好:

  • 旧服务器导出XML配置
    plesk bin server_pref --export-firewall > plesk_firewall_config.xml
    
  • 新服务器导入配置:把XML文件传过来后执行:
    plesk bin server_pref --import-firewall plesk_firewall_config.xml
    
  • 重新生效规则:同样执行命令让配置生效:
    plesk sbin firewallmng --reconfigure
    

方案三:手动批量添加(适合规则较少的情况)

如果上面的方法都遇到版本兼容问题,或者你的防火墙规则不多,那就直接在旧服务器的Plesk面板里把所有规则截图/复制下来,然后在新服务器的Plesk防火墙界面里逐个添加。虽然麻烦点,但胜在稳妥,不会出现数据库或XML导入的兼容性问题。

注意事项

  • 操作前一定要备份新旧服务器的Plesk数据库,执行plesk db dump psa > psa_full_backup.sql就能快速备份,万一出问题可以立刻恢复。
  • 因为是Debian 9到11,系统默认防火墙从iptables切换到了nftables,但Plesk Obsidian会自动处理兼容,导入后记得用iptables -L或者在Plesk面板里检查规则是否正常生效。
  • 确保新旧服务器的Plesk Obsidian版本完全一致(都是18),避免配置文件格式不兼容导致导入失败。

备注:内容来源于stack exchange,提问作者Kurt Ludikovsky

火山引擎 最新活动