AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-541761

chrisl's questions

Martin Hope
chrisl
Asked: 2021-12-29 13:50:05 +0800 CST

在进行增量备份时, TERM 信号上的 tar 有什么行为?

  • 1

我使用tar(via subprocess) 在 python 中编写了一个备份脚本来对我的文件进行增量备份。由于一些完整备份相当大(例如我的图片文件夹)并且需要几个小时才能完成(通过网络到我的 NAS),我担心在服务器/PC 关闭/重新启动期间会发生什么备份。

我猜脚本会在关机/重启时收到一个 TERM 信号。是否tar优雅地处理增量备份的中断,以便下一次调用tar将成功添加所有丢失的文件,而不是重新传输所有以前的文件?

如果没有,这对我的 tar 文件和 tar 使用的快照文件(带有--listed-incremental选项)意味着什么?

我使用的确切命令是:

tar -vcpzf <target_file> --no-check-device -g <target_snapshot_file> <dir_to_backup>

注意:在我的 PC 上,我计划通过 anacron 运行脚本,但它会在执行时检查备份是否到期。

backup
  • 0 个回答
  • 40 Views
Martin Hope
chrisl
Asked: 2019-12-04 13:35:38 +0800 CST

Docker VPN 将内部流量路由到外部可用的容器

  • 2

我有一个运行多个 docker 容器的 VPS。我有一个 nextcloud 实例,它通过 nginx 代理(来自 Let'sEncrypt 的证书)终止 SSL/TLS。我有一个 openvpn 容器。在它的 docker 网络中,我还托管更多服务(自己的绑定 dns 服务器和 git 服务器),我可以通过 VPN 访问这些服务。

现在我还想通过 VPN 访问我的 nextcloud 实例。最初我认为这不会是一个问题,因为可以通过互联网访问 nextcloud 实例,并且 VPN 也可以连接到互联网。但不幸的是,我无法达到它。如果我通过 VPN 卷曲我的服务器(http 或 https),我会得到“端口 80/443:无主机路由”。在不连接 VPN 的情况下,连接可以正常工作。

如果我使用 traceroute,我可以看到它正确地到达了我的 VPS 的公共 IP。所以我得出结论,这是路由的问题。以我的 VPS 的公共 IP 上的端口 80/443 为目标的流量不会被转发/路由到 nginx 代理容器(暴露了上述端口)。

据我了解,docker 使用 firewalld/iptables 在容器之间路由流量。因此,其他规则适用于 VPN 流量,而不是来自互联网的流量。我需要如何配置,以便将到我的公共 IP 地址的 VPN 流量(服务器内部)正确转发到相应的容器?我想在 VPN 和无 VPN 状态之间保持恒定/不变的连接,这样我的 Nextcloud 应用程序就不会感到困惑。

我尝试过的: 我尝试了一种解决方法的可能性。我可以在我的 VPN DNS 服务器中为我的 nextcloud 实例添加一个自己的 DNS 条目,该条目指向 nextcloud 应用程序容器的 IP(我将在其中丢失 SSL/TLS 终止)或 nginx 代理的 IP。在最后一种情况下,nginx 代理不会将流量转发到 nextcloud 容器,因为它使用不同的主机名。如果可能的话,我想保持代理配置不变,因为它是在容器启动时/从letsencrypt伴随容器自动填充的。此外,证书与使用的 FQDN 不匹配。如果我尝试使用我的真实/公共 DNS 名称添加主区域(以便我可以使用与外部相同的 FQDN),则该 TLD 中的所有其他域不再被转发(是否有可能配置绑定为了那个原因?)。

TL;DR:从 docker 容器到公共 VPS IP 地址的流量不会像来自外部的流量那样转发到正确的 docker 容器。

如果您还需要有关使用的容器的更多信息,我将添加链接和我的 docker-compose 文件。

编辑:

[root@XXXXXXXX ~]# iptables -S FORWARD
-P FORWARD ACCEPT
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-7e5cecc96f4a -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-7e5cecc96f4a -j DOCKER
-A FORWARD -i br-7e5cecc96f4a ! -o br-7e5cecc96f4a -j ACCEPT
-A FORWARD -i br-7e5cecc96f4a -o br-7e5cecc96f4a -j ACCEPT
-A FORWARD -o br-fd56ce52983e -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-fd56ce52983e -j DOCKER
-A FORWARD -i br-fd56ce52983e ! -o br-fd56ce52983e -j ACCEPT
-A FORWARD -i br-fd56ce52983e -o br-fd56ce52983e -j ACCEPT
-A FORWARD -o br-f1ef60d84b48 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-f1ef60d84b48 -j DOCKER
-A FORWARD -i br-f1ef60d84b48 ! -o br-f1ef60d84b48 -j ACCEPT
-A FORWARD -i br-f1ef60d84b48 -o br-f1ef60d84b48 -j ACCEPT
-A FORWARD -o br-b396aa5a2d35 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-b396aa5a2d35 -j DOCKER
-A FORWARD -i br-b396aa5a2d35 ! -o br-b396aa5a2d35 -j ACCEPT
-A FORWARD -i br-b396aa5a2d35 -o br-b396aa5a2d35 -j ACCEPT
-A FORWARD -o br-83ac9a15401e -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-83ac9a15401e -j DOCKER
-A FORWARD -i br-83ac9a15401e ! -o br-83ac9a15401e -j ACCEPT
-A FORWARD -i br-83ac9a15401e -o br-83ac9a15401e -j ACCEPT
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_IN_ZONES_SOURCE
-A FORWARD -j FORWARD_IN_ZONES
-A FORWARD -j FORWARD_OUT_ZONES_SOURCE
-A FORWARD -j FORWARD_OUT_ZONES
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
routing
  • 1 个回答
  • 4146 Views
Martin Hope
chrisl
Asked: 2019-09-24 07:28:48 +0800 CST

没有 nf_conntrack 内核模块的 VPS 上的 firwalld

  • 1

我正在运行一家德国供应商的 VPS,并希望从 Ubuntu 切换到 CentOS。在那里我尝试安装firewalld(未预装),但它总是失败并出现错误

ERROR: Failed to load nf_conntrack module: modprobe: ERROR: could not find module by name='nf_conntrack'
modprobe: ERROR: could not insert 'nf_conntrack': Function not implemented
modprobe: ERROR: Error running install command for nf_conntrack
modprobe: ERROR: could not insert 'nf_conntrack': Operation not permitted

显然nf_conntrack没有找到内核模块。由于这是一个 VPS,我无法修改内核模块。在我的提供商的支持站点上,我找到了可用内核模块的列表,例如:

ip_conntrack_netbios_ns
ipt_conntrack   
ip_conntrack   
ip_conntrack_ftp   
ip_conntrack_irc

由于nf_conntrack此处未列出,这是否意味着我不能使用 firewalld?没有这个模块可以运行吗?

我想我可以使用 iptables,如果我愿意的话(它似乎运行正确)。但由于我对firewalld有更多的经验,我想坚持下去。


CentOS Linux 版本 7.7.1908(核心)

uname -a: Linux xxxxxx.xxxxxxxx.xxx 3.10.0-042stab140.1 #1 SMP Thu Aug 15 13:32:22 MSK 2019 x86_64 x86_64 x86_64 GNU/Linux

centos7
  • 2 个回答
  • 4026 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve