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

Dominic P's questions

Martin Hope
Dominic P
Asked: 2017-10-14 11:14:44 +0800 CST

如何诊断奇怪的网络故障

  • 2

这是一个奇怪的问题。我有 2 个远程网络,我通过互联网在它们之间传输文件。昨天,一个常规的备份工作失败了,所以我开始研究它。几个月来,我一直在这两个网络之间传输文件而没有问题。

经过几个小时的调试,我得到了这个图表:

网络图

基本上,我无法将任何大文件(>50MB-ish)从网络 A 传输到网络 B 上两个路由器后面的任何设备。我是从网络 A 还是从网络 B 启动传输都没有关系。它将连接并开始传输,然后在几秒钟后(似乎从 5-60 秒不等)传输失败。

我可以毫无问题地从网络 A 转移到其他网络。我什至可以毫无问题地传输到仅位于 NAT 路由器 1 后面的网络 B 上的设备。小文件工作正常(大部分时间)。较大的文件开始正常,然后失败。

错误和日志

当我从网络 B 启动 rsync 传输时(将文件从 A 发送到 B)。

...several more identical lines (depends on how soon it fails)...
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
ssh_dispatch_run_fatal: Connection to XXX.XXX.XXX.XXX port 22: message authentication code incorrect
Sometimes ---> debug3: mux_client_read_packet: read header failed: Broken pipe

当我从网络 A 开始传输时(仍然从 A 发送到 B)

...several more identical lines (depends on how soon it fails)...
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug3: send packet: type 1
packet_write_wait: Connection to XXX.XXX.XXX.XXX port 22: Broken pipe
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)

尝试通过 HTTPS 从网络 A 下载大文件到 B 时,传输也会失败。当我运行 curl 时,我得到:

curl: (56) OpenSSL SSL_read: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac, errno 0

我在两个路由器后面的网络 B 上的多个文件和多台计算机上看到了相同的行为。

我试过的

  • 网络 B、NAT 路由器 2 上的固件更新:无效
  • 重新启动两个网络中的所有设备:无效
  • 尝试在网络 B 上通过 2 个不同的 ISP 传输:无效
  • 棒球棒到视线中的每一个路由器:仍在决定这个......

更新

作为一个小更新,我在交互式 SSH 会话期间注意到了同样的问题。如果我运行一个在屏幕上产生大量输出的命令,有时我的 SSH 会话会因无效 MAC 错误而断开连接。

更新 2

NAT 路由器 2 是 Cisco RV320。作为一个实验,我暂时禁用了防火墙(见下面的截图)。传输现在有效,但这也破坏了路由器的要点(它在那里创建了我网络的受保护内层)。关于如何从这里开始的任何想法?防火墙设置对我来说有点不透明(它只是一个复选框)。我不确定它实际上在做什么。

顺便说一句,我尝试单独禁用 SPI、阻止 WAN 请求和 DoS,但这些设置都没有任何效果。只有主要的防火墙设置(它会自动禁用其他设置)起到了作用。

思科 rv320 防火墙设置

更新 3

我与思科技术支持人员进行了交谈,他们要求我将路由器直接连接到调制解调器作为测试(绕过 NAT 路由器 1)。在那种环境下,转移是成功的。因此,导致问题的原因在于两个路由器的组合。

我为 Cisco 路由器启用了每个可用的日志选项并运行了一些失败的传输,但日志中没有显示任何内容。在这一点上,我真的不确定如何进行。我可能只是为了好玩而更新 NAT 路由器 1 上的固件。

networking
  • 1 个回答
  • 1484 Views
Martin Hope
Dominic P
Asked: 2017-06-17 14:17:48 +0800 CST

从 rsync 转换到 ZFS 发送/接收

  • 1

我最近将我的备份服务器和异地备份服务器转换为 ZFS。我曾经使用 rsync 对异地服务器进行增量备份,但现在我想过渡到使用 ZFS 发送和接收(通过 ssh)。

我遇到的问题是我不想通过互联网发送整个数据集来让事情顺利进行。由于我已经在两个位置拥有相同的文件(通过 rsync 保持同步),有没有办法直接跳转到发送增量快照?

我想我可以zfs send到一个外部驱动器,然后手动将它带到异地位置并运行zfs receive,但这需要购买一个大的外部驱动器,这似乎是一种浪费。

backup
  • 1 个回答
  • 1047 Views
Martin Hope
Dominic P
Asked: 2017-06-09 13:06:49 +0800 CST

如何使用动态 DNS 管理冗余 ISP

  • 2

我试图通过添加后备 ISP 使我的小型企业网络更加强大。我不知道如何管理入站连接的 DNS。我的网络的简化视图如下所示:

+-------+    +-------+
| ISP 1 |    | ISP 2 |
+-------+    +-------+
    |           |
 +-----------------+
 | Dual WAN Router |
 +-----------------+
          |
    +----------+
    |  Server  |
    +----------+

当我只有 1 个 ISP 时,我只需要担心一个 WAN IP 地址,我只需在动态 IP 更改时更新我的​​ DNS A 记录。我正在使用 AWS(Route 53)作为 DNS,因此编写脚本来获取您当前的 IP,然后使用他们的 CLI 工具相应地更新您的 DNS 记录非常容易。

现在我有两个 WAN IP 地址,我不确定如何继续。我有两个主要问题:

  1. 我希望 ISP 1 成为主要的(它具有更好的连接),但如果 1 不可用,我想回退到 ISP 2。我将服务器用于 VoIP 以及 HTTP 和 SSH。VoIP 需要具有相当高的可用性(因此需要冗余 ISP)。但是,我不知道如何实现这样的故障转移。

  2. 如何使两个 DNS 记录保持最新?只需一个 ISP,我就可以使用如下命令可靠地确定来自服务器的 WAN IP dig +short myip.opendns.com @resolver1.opendns.com:对于两个 ISP,我无法想象如何从服务器获取两者的 IP。

#1的想法

我已经阅读了有关具有多个 A 记录的 DNS 循环法,但我发现它在任何地方都提到它是不推荐的。另一个选项似乎是 BGP,但我不明白,我觉得我没有实现它所需的东西(这篇文章似乎适用)。

#1 的另一个解决方案可能是使用域指向的单个 IP 的负载均衡器。然后,该负载均衡器根据一些健康检查选择将流量路由到哪个 ISP。问题是这需要与协议无关(即与 VoIP 流量以及 HTTP 等无缝协作)。这就是为什么 DNS 级别的解决方案看起来很有吸引力的原因。

我偶然发现了这篇看起来很有希望的 AWS 博客文章,但是当我试图弄清楚如何在运行状况检查和各种相应的 DNS 记录中保持动态 IP 为最新时,我的头脑爆炸了。

读完这篇文章后,在我的水平上做这件事的“正确”方法似乎是这样的链接平衡器,但该系列中最便宜的型号约为 1,200 美元,这比我想要的要多一点。另外,当我从 ISP 获取动态 IP 时,如何将我的域的名称服务器指向我的链接平衡器,我仍然有点迷茫。

#2的想法

我想我可以将我的双 WAN 路由器配置为在 IP 更改时调用 webhook,但这实现起来有点复杂。

是否有一些我缺少的灵丹妙药解决方案?

domain-name-system
  • 2 个回答
  • 1920 Views
Martin Hope
Dominic P
Asked: 2016-10-22 15:30:48 +0800 CST

让 PJSIP 与 TLS 一起使用 FreePBX 上的 Twilio SIP Trunking

  • 2

我想知道是否有人可以帮助我调试我遇到的这个问题。我正在尝试使用 PJSIP 堆栈在我的 FreePBX 服务器和 Twilio 之间进行安全中继设置。

未加密的中继在 UDP 上运行良好。但是,当我尝试启用 TLS/SRTP 时,我似乎无法让它工作。一旦我将主干更新为使用 5061 和 TLS 传输,我就会在 Asterisk 日志中得到以下信息。

WARNING[5268] pjproject: tsx0x27c4cd8 .Failed to send Request msg OPTIONS/cseq=28056 (tdta0x26d3af0)! err=171064 (Unsuitable transport selected (PJSIP_ETPNOTSUITABLE))
ERROR[5268] res_pjsip.c: Error 171064 'Unsuitable transport selected (PJSIP_ETPNOTSUITABLE)' sending OPTIONS request to endpoint Twilio

我认为问题可能是 PJSIP 不支持通配符 SSL 证书,而 Twilio 使用的是通配符,但我不确定如何确定。关于如何调试它的任何想法都会非常有帮助。

更新:我直接在星号配置文件中调整了一些 URI,现在我已经克服了不合适的传输错误。新的错误正如我所担心的那样:

ERROR[524] pjproject: RFC 5922 (section 7.2) does not allow TLS wildcard certificates. Advise your SIP provider, please!

关于如何解决这个问题的任何想法?

sip freepbx tls
  • 1 个回答
  • 2255 Views
Martin Hope
Dominic P
Asked: 2016-07-12 10:12:33 +0800 CST

ZFS 校验和错误,何时更换驱动器?

  • 14

我是 ZFS 的新手,我有一个简单的镜像存储池设置,有 8 个驱动器。运行几周后,一个驱动器似乎产生了很多错误,所以我更换了它。

又过了几周,现在我看到池周围出现了一些小错误(请参见zpool status下面的输出)。我应该担心这个吗?如何确定错误是否表明需要更换驱动器?

# zpool status
  pool: storage
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            enc-a   ONLINE       0     0     2
            enc-b   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            enc-c   ONLINE       0     0     0
            enc-d   ONLINE       0     0     2
          mirror-2  ONLINE       0     0     0
            enc-e   ONLINE       0     0     2
            enc-f   ONLINE       0     0     1
          mirror-3  ONLINE       0     0     0
            enc-g   ONLINE       0     0     0
            enc-h   ONLINE       0     0     3

errors: No known data errors

ZFS 很有帮助地告诉我“确定是否需要更换设备……”但我不知道该怎么做。我确实阅读了参考文章,该文章很有帮助,但并不完全有定论。

我查看了受影响驱动器的 SMART 测试结果,但没有发现任何问题(所有测试均已完成且没有错误),但如果有帮助,我也可以发布 SMART 数据。

更新:在准备重新启动到 Memtest86+ 时,我注意到控制台上有很多错误。我通常通过 SSH 登录,所以我之前没有看到它们。我不确定我应该检查哪个日志,但是整个屏幕都充满了看起来像这样的错误(不是我的确切错误行,我只是从另一个论坛复制了这个):

blk_update_request: I/0 error, dev sda, sector 220473440

从一些谷歌搜索来看,这个错误似乎表明驱动器坏了,但我很难相信它们都像这样一次失败。关于从这里去哪里的想法?

更新 2:我遇到了这个ZOL 问题,它似乎与我的问题有关。就像那里的 OP 一样,我正在使用 hdparm 来降低驱动器的转速,并且我看到了类似的 ZFS 校验和错误和blk_update_request错误。我的机器仍在运行 Memtest,所以我目前无法检查我的内核或 ZFS 版本,但这至少看起来有可能。我也看到了这个类似的问题,这有点令人沮丧。有谁知道 ZFS 和旋转驱动器的问题?

更新 3: LSI 控制器上不匹配的固件和驱动程序版本会导致这样的错误吗?看起来我正在运行 20.100.00.00 的驱动程序版本和 17.00.01.00 的固件版本。尝试在卡上刷新更新的固件是否值得?

# modinfo mpt2sas
filename:       /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    7.2
srcversion:     FED1C003B865449804E59F5

# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(D1) 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2308_2(D1)   17.00.01.00    11.00.00.05    07.33.00.00     00:04:00:00

更新 4:dmesg在输出中发现了更多错误。我不确定是什么触发了这些,但我在卸载阵列中的所有驱动器以准备更新 LSI 控制器的固件后注意到它们。我会稍等片刻,看看固件更新是否解决了问题,但同时出现了错误。我不太确定他们的意思。

[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368

更新 5:我更新了 LSI 控制器的固件,但在清除 ZFS 错误并清理之后,我看到了相同的行为(一些驱动器上存在轻微的校验和错误)。下一步将更新驱动器本身的固件。

更新 6:我在一些论坛上读到其他使用 U-NAS NSC800 机箱的人对提供的竖管有问题后更换了 PCI 竖管。对校验和错误没有影响。我一直在推迟硬盘固件更新,因为这个过程太痛苦了,但我想是时候把它吸干,制作一个可启动的 DOS 闪存驱动器了。

更新 7:我更新了三个希捷硬盘的固件。其他驱动器要么没有可用的固件更新,要么我无法获得它(Western Digital 告诉我,我的驱动器没有固件更新)。初次擦洗后没有出现任何错误,但我至少要等一两个星期才能说这解决了问题。在我看来,三个驱动器中的固件不太可能像这样影响整个池。

更新 8:校验和错误又回来了,就像以前一样。我可能会研究主板的固件更新,但此时我不知所措。更换剩余的物理组件(控制器、背板、电缆)将是困难/昂贵的,而且我只是不能 100% 确定这不是我的设置问题(ZFS + Linux + LUKS + 降低空闲驱动器)。欢迎任何其他想法。

更新 9:仍在尝试追踪这个。我遇到了这个问题,它与我的情况有一些相似之处。因此,我继续使用重建 zpoolashift=12来查看是否可以解决问题(不走运)。然后,我硬着头皮买了一个新的控制器。我刚刚安装了Supermicro AOC-SAS2LP-MV8 HBA 卡。我会给它一两个星期,看看这是否能解决问题。

更新 10:只是为了关闭它。自从新的 HBA 卡进入以来已经过去了大约 2 周,并且冒着把它搞砸的风险,从那以后我就没有校验和错误了。非常感谢所有帮助我解决这个问题的人。

hard-drive zfs zfsonlinux
  • 2 个回答
  • 12877 Views
Martin Hope
Dominic P
Asked: 2014-11-13 10:14:49 +0800 CST

邮件服务器的适当 PTR 记录 [重复]

  • 0
这个问题在这里已经有了答案:
共享 IP 地址上多个域的 PTR 记录(rDNS) 2 个答案
7年前关闭。

我意识到这是一个常见的问题,但我无法理解其中的一部分。我想设置一个邮件服务器来为我的几个域发送新闻通讯和其他营销电子邮件。显然,可交付性非常重要,所以我想确保我拥有正确的 PTR 记录。

因此,假设我有 2 个要发送邮件的域:example1.com 和 example2.com。我在一个 VPS 上设置了我的邮件服务器,该 VPS 可在 example1.com 上访问。我有一个指向example1.com 的example1.com 服务器IP 地址(例如1.1.1.1)的PTR 记录。

现在,如果我想使用我的邮件服务器从某人@example2.com 发送邮件,我会遇到 PTR 记录问题吗?我想象接收邮件服务器从 IP 地址为 1.1.1.1 的服务器收到消息。它检查该 IP 的 PTR 记录并获取 example1.com。然后它查看并看到电子邮件来自 example2.com。这有关系吗?

很抱歉这个基本问题,我只是很难理解这种特殊情况。

email-server
  • 3 个回答
  • 1243 Views
Martin Hope
Dominic P
Asked: 2014-02-12 00:09:42 +0800 CST

是否可以在 Hotswap 上自动重新同步 ZFS 阵列

  • 4

我正在尝试为我计划构建的 NAS 了解 ZFS。我试图了解是否可以设置以下场景。免责声明:我对 ZFS 知之甚少,如果我说一些愚蠢的话,请原谅我。

  1. 我在 raidz2 (RAID 6) 中配置的 zpool 中有 4 个驱动器
  2. 一个驱动器发生故障
  3. 我希望能够移除发生故障的驱动器,插入新驱动器并让系统自动重新同步阵列,而无需发出任何命令或重新启动。

根据我收集zpool set autoreplace=on <pool>的信息,可以更换驱动器,但是您仍然需要发出scrub命令来启动重新同步过程,对吗?另外,我不知道是否支持热交换。

我意识到在磁盘发生故障的罕见情况下发出单个命令并不是世界末日。但是,在我看来,如果它是自动化的会更好,而且我很确定它可以通过硬件 RAID 来完成。

zfs
  • 2 个回答
  • 2611 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