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-298746

Tilman Schmidt's questions

Martin Hope
Tilman Schmidt
Asked: 2021-10-26 06:06:41 +0800 CST

如何调试 Squid ERR_DNS_FAIL

  • 0

我正在全球分布的多个位置管理几个在 Ubuntu 20.04LTS 上运行 Squid 4.10 的网络代理。其中一个人养成了偶尔无法访问网页的坏习惯。用户会收到一个错误页面,上面写着:

Hmmm... can't reach this page
It looks like the webpage at <URL> might be having issues,
or it may have moved permanently to a new web address.
ERR_TUNNEL_CONNECTION_FAILED

按照此邮件列表帖子中的建议添加%err_code/%err_detail到相关内容的末尾后,失败访问的 Squid access.log 条目如下所示:logformat

1635169354.239    171 10.72.1.103 NONE/503 0 CONNECT ad.360yield.com:443 - HIER_
NONE/- - ERR_DNS_FAIL/-

Squid 状态是NONE/503,错误代码和详细信息总是ERR_DNS_FAIL/-。时间戳、客户端 IP 地址和请求的 URL 当然会有所不同。

每次出现问题都会影响单个 FQDN 或极少数 FQDN,通常都来自同一组织(例如 lm.licenses.adobe.com 和 cc-api-data.adobe.io,均来自 Adob​​e。)所有其他访问继续正常工作。一个事件通常持续五到十分钟。在此期间,所有尝试访问该 FQDN 的客户端都会受到影响。在此之前和之后,相同的 FQDN 可以正常工作。受影响的 FQDN 没有明显的规律性。

一些事件伴随着如下消息:

2021/10/25 15:42:34 kid1| ipcacheParse No Address records in response to 'ad.360yield.com'

但在/var/log/squid/cache.log大多数情况下,那里没有任何记录。

我怎样才能找出那里出了什么问题?

domain-name-system squid
  • 1 个回答
  • 1308 Views
Martin Hope
Tilman Schmidt
Asked: 2020-12-11 06:24:13 +0800 CST

当源文件相同但分开时,rsync 是否会保留目标上的硬链接?

  • 0

我正在运行一个(基于 Linux 的)rsync 服务器来进行软件分发。我无法控制的(基于 Windows 的)源存储库服务器通过 rsync 将软件包推送到它,全球大约有一百个卫星服务器从它那里拉出,也通过 rsync。

源存储库包含许多大的重复文件。我想通过硬链接替换这些重复项来减少卫星服务器上的磁盘空间和带宽消耗。源存储库的管理员不愿意或无法在源上这样做,所以我试图在分发服务器上这样做。我创建了一个简单的 bash 脚本,基于fdupes命令查找重复组并将其替换为指向单个文件的硬链接。由于 -H 选项,rsync 传输到卫星服务器会根据需要保留这些硬链接。但是,从源存储库进行的传输会产生不一致的结果。有时会保留重复数据删除。有时,源服务器会重新传输去重组的所有文件,即使源文件没有更改,去重也会中断。

因此我的问题是: rsync 的官方行为是什么,以防它被要求同步两个相同但独立的文件,并且这些文件确实已经存在于目标中并且具有正确的内容,但是作为同一个文件的硬链接?重新传输文件的确切标准是什么?有没有办法确保在这种情况下保留目标中的硬链接,即使源中不存在硬链接?

rsync hardlink
  • 2 个回答
  • 634 Views
Martin Hope
Tilman Schmidt
Asked: 2020-05-30 06:29:46 +0800 CST

带有来自 LocationMatch 的字符串替换的 Apache ProxyHTMLURLMap

  • 0

我正在尝试构建一个 Apache 反向代理,以使一组服务器可以通过单点访问进行访问。这些服务器都在端口 3000 上提供了一个 Web 管理界面,我打算将它们都显示为反向代理上的目录。接口包含本地链接,当然必须重写这些链接才能转到代理上正确服务器的子目录。

我可以为每个服务器单独使用这样的配置片段来实现所需的行为:

<Location /testadmin-warsaw/>
        ProxyPass http://warsaw.example.com:3000/
        ProxyPassReverse /
        ProxyHTMLEnable  On
        ProxyHTMLURLMap  / /testadmin-warsaw/ L
        RequestHeader    unset Accept-Encoding
</Location>

由于随着服务器的来来去去,这变得相当乏味且容易出错,因此我的目标是动态配置。根据 Apache 文档,以下应该可以工作:

<LocationMatch "^/testadmin-(?<OFFICENAME>\w+)/(.*)$">
        ProxyPassMatch   http://$1.example.com:3000/$2
        ProxyPassReverse /
        ProxyHTMLEnable  On
        ProxyHTMLInterp  On
        ProxyHTMLURLMap  / /testadmin-${env:MATCH_OFFICENAME|unknown}/ VL
        RequestHeader    unset Accept-Encoding
</LocationMatch>

<LocationMatch>将环境变量设置MATCH_OFFICENAME为目录的办公室名称部分,ProxyHTMLURLMap并将此名称插入到重写链接的适当位置。

但是,当我测试该配置时,最初指向的链接会/other/page.html被重写,/testadmin-unknown/other/page.html而不是/testadmin-warsaw/other/page.html按预期进行。换句话说,ProxyHTMLURLMap就像MATCH_OFFICENAME未设置环境变量一样。

如果我省略该env:部分并/testadmin-${MATCH_OFFICENAME}/按照 to 模式放置,Apache 会记录一个警告:“AH00111:未定义配置变量 ${MATCH_OFFICENAME}”。

我的错在哪里?

reverse-proxy mod-proxy apache-2.4
  • 1 个回答
  • 352 Views
Martin Hope
Tilman Schmidt
Asked: 2017-12-25 04:25:23 +0800 CST

ldconfig 创建错误的符号链接

  • 5

我已经从存储库https://build.opensuse.org/package/show/home%3AXimi1970%3AopenSUSE%3AExtra/bacula在https://software.opensuse.org上的 openSUSE Leap 42.3 系统上安装了 Bacula 7.4.4 /package/bacula . 这些包使用 openSUSE 的替代机制来配置 DMBS 以用于目录 - 在我的例子中是 MySQL。不幸的是,这个包有点错误。安装 bacula-director 和 bacula-mysql 软件包后,/usr/lib64 中 libbaccats 库的符号链接如下所示:

libbaccats.so -> /etc/alternatives/libbaccats.so
libbaccats-mysql.so -> libbaccats-mysql-7.4.4.so
libbaccats-stub.so -> libbaccats-7.4.4.so
libbaccats-7.4.4.so -> libbaccats-stub-7.4.4.so

最后两个显然是无稽之谈,会导致任何尝试运行 director 或 dbcheck 实用程序失败并显示错误消息:

致命错误:请将此空 libbaccats 库替换为适当的库。

这当然很容易通过发出命令来解决:

ln -sf libbaccats-stub-7.4.4.so libbaccats-stub.so
ln -sf /etc/alternatives/libbaccats-7.4.4.so libbaccats-7.4.4.so

产生所需的结果:

libbaccats.so -> /etc/alternatives/libbaccats.so
libbaccats-7.4.4.so -> /etc/alternatives/libbaccats-7.4.4.so
libbaccats-mysql.so -> libbaccats-mysql-7.4.4.so
libbaccats-stub.so -> libbaccats-stub-7.4.4.so

这允许 /etc/alternatives 中的符号链接:

libbaccats.so -> /usr/lib64/libbaccats-mysql.so
libbaccats-7.4.4.so -> /usr/lib64/libbaccats-mysql-7.4.4.so

正确地将 libbaccats 引用指向 MySQL 变体。

但是,每次ldconfig(8)运行该命令时,它都会重置 /usr/lib64/libbaccats-7.4.4.so 符号链接以再次指向 libbaccats-stub-7.4.4.so,从而破坏 Bacula。由于ldconfig在各种情况下由系统自动运行,这很烦人。

来自存储库https://download.opensuse.org/repositories/home:/cristyde/openSUSE_Leap_42.3/的 Bacula 9.0.6 也存在同样的问题。

我怎样才能解决ldconfig这个符号链接应该指向的想法?

linux
  • 1 个回答
  • 968 Views
Martin Hope
Tilman Schmidt
Asked: 2016-10-12 10:22:54 +0800 CST

“yum history”中的用户名从何而来?

  • 5

在我们的一台服务器上,yum history报告:

[tschmidt@sl-was01p ~]$ sudo yum history
Loaded plugins: product-id, search-disabled-repos, security, subscription-
              : manager
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    30 | <dlewandowski>           | 2016-10-07 11:18 | E, I, U        |   38 EE
    29 | <dlewandowski>           | 2016-09-16 16:13 | Erase          |    3   
[...]

但是报告的登录用户发誓他当时不在机器附近(物理上或逻辑上),并且last似乎支持这一点:

[tschmidt@sl-was01p ~]$ last|grep dle
dlewando pts/0        al-dlewandowski. Tue Oct 11 09:01 - 09:23  (00:22)    
dlewando pts/0        al-dlewandowski. Tue Oct 11 08:37 - 08:40  (00:02)    
dlewando pts/1        al-dlewandowski. Tue Oct  4 11:04 - 11:09  (00:04)    
dlewando pts/0        al-dlewandowski. Tue Oct  4 10:50 - 11:11  (00:21)    

Syslog 也不会报告sudo与该用户有关的yum活动相关的任何活动。

我想找出为什么yum history报告明显不正确的用户。它从哪里获取这些信息?用户名不会出现在/var/log/yum.log.

yum
  • 1 个回答
  • 735 Views
Martin Hope
Tilman Schmidt
Asked: 2016-08-31 15:13:28 +0800 CST

Windows DNS,AD 子域作为单独的区域,DC 在错误的区域中注册

  • 1

给定一个配置为公司公共 DNS 域的子域的 Microsoft Active Directory 域,例如:

  • 公共域 contoso.com
  • Active Directory 域 inside.contoso.com

四个站点中有五个域控制器 (DC)。它们都是配置了 contoso.com 和 inside.contoso.com 作为单独的 AD 集成区域的 DNS 服务器。其中三个 DC 运行 Server 2008R2,另外两个运行 Server 2012。

现在令人恼火的是,一个名为“inside”的文件夹不断出现在区域 contoso.com 中,其中包含部分或所有 DC 的 A 记录。如果我删除所有这些记录,文件夹就会消失,几分钟后又会重新出现,其中有一个 DC 的 A 记录,而其他 DC 的 A 记录逐渐添加。看起来,当 DC 在 DNS 中注册自己时,条目被添加到区域 contoso.com 而不是它们所属的 inside.contoso.com。

简单的问题:为什么?

注意 1:所有 DC 也正确列为区域 intern.contoso.com 中的 A 记录。不过,我不知道这些条目是否是手动添加的。

注意 2:inside.contoso.com 区域中的任何其他主机条目都不会复制到 contoso.com 区域的内部文件夹中。

domain-name-system active-directory
  • 2 个回答
  • 562 Views
Martin Hope
Tilman Schmidt
Asked: 2015-10-22 08:10:50 +0800 CST

NRPE allowed_hosts 使用 IPv6 的名称解析

  • 3

完全启用 IPv6 双栈的网络由从 CentOS 6.7 服务器上的 EPEL 安装的 Nagios 3.5.1 监控。受监控的主机运行 NRPE 代理,所有这些都被配置为使用配置行作为守护进程运行(不是通过 xinetd)

allowed_hosts=bombur.example.com

Nagios 服务器的 FQDN在哪里,bombur.example.com它在 DNS 中解析为 IPv4 和 IPv6 地址:

% host bombur
bombur.example.com has address 192.0.2.28
bombur.example.com has IPv6 address 2001:db8:f00:ba8::28

这适用于在 2.15 之前运行 NRPE 版本且缺乏 IPv6 支持且仅接受 IPv4 连接的主机。但是在支持 IPv6 的 NRPE 2.15 主机上,来自 Nagios 服务器的连接被拒绝并显示日志消息:

nrpe[21665]: Host 2001:db8:f00:ba8::28 is not allowed to talk to us!

显然,该allowed_hosts=<hostname>指令只允许给定主机的 IPv4 地址,而不是其 IPv6 地址。

那个扣法正确吗?有没有办法解决这种行为,最好不要在所有 NRPE 代理配置中硬编码数字 IPv6 地址?

nagios
  • 1 个回答
  • 2337 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