如何在两台机器之间同步 ipset 集?

如何在两台机器之间同步 ipset 集?

我想使用 rsync 或 btsync 或类似工具将 IPSet 集从一台机器 (server01) 复制到另一台机器 (server02)。可以吗?如果可以,我该怎么做?

这是在 server01 不可用的情况下采取的冗余措施。

答案1

您可以使用ipset saveipset restore复制您的 IP 集的当前状态。

例如(在 server01 上以 root 身份运行):

`ipset save | ssh server02 "ipset restore"`

不幸的是,没有像 rsync 这样的工具可以实现这一点。但对于主动/被动故障转移,上述示例应该可以工作。

答案2

如果您可以使用 将其写入 server01 上的文件ipset savelsyncd则每当 server01 的文件发生更改时,您都会更新 server02 上的文件(这就像在指定目录中的任何内容发生更改或更新时执行 rsync 一样),并且inotify可以运行脚本来在ipset restore文件被 更改时更新 server02 的 ipset lsyncd,从而使您完成大部分操作。

如果您正在寻找此功能,那么还缺少的一点就是,每当 server01 上的 ipset 发生更改时,都要保存它。好吧,那是大约 5 年前的答案。

相关内容