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
    • 最新
    • 标签
主页 / server / 问题

问题[networking](server)

Martin Hope
King David
Asked: 2025-04-29 18:09:04 +0800 CST

redhat + 如何恢复 TCP BBR 拥塞变化

  • 5

我们在所有 RHEL 8.6 机器上配置了如下 BBR 设置:(根据 Red Hat 文档 [https://access.redhat.com/solutions/3713681])。目标是评估 BBR 配置是否能带来任何网络改进。如果没有,我们计划恢复到默认的 Cubic 设置。

sysctl -w net.ipv4.tcp_congestion_control=bbr
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
modprobe tcp_bbr

为了恢复更改,我写了以下步骤

sysctl -w net.ipv4.tcp_congestion_control=cubic
delete from /etc/sysctl.conf the line with net.ipv4.tcp_congestion_control = bbr

但我不知道如何恢复更改modprobe tcp_bbr

我们只需要这样做:

modprobe tcp_cubic

或者

rmmod tcp_bbr
rmmod: ERROR: Module tcp_bbr is in use

否则?

networking
  • 1 个回答
  • 46 Views
Martin Hope
one_new_message
Asked: 2025-04-26 08:03:14 +0800 CST

Wireguard 突然不工作;已收到数据包但未进行握手

  • 5

我的 Wireguard 昨天突然停止工作了,之前没有任何配置或密钥更改。为了排除故障,我将其精简到最简单的配置。我网络上的客户端应该连接到运行在 VPS 上的服务器。

服务器(“前哨”)配置:

outpost:~# cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <outpost-privkey>
Address = 10.5.0.1/16
MTU = 1440
ListenPort = 51820

[Peer]
PublicKey = <rp-pubkey>
AllowedIPs = 10.5.0.2/32
PersistentKeepAlive = 13

客户端(“rp”)配置:

rp:~# cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <rp-privkey>
Address = 10.5.0.2/16
MTU = 1440

[Peer]
PublicKey = <outpost-pubkey>
Endpoint = <outpost-ip>:51820
AllowedIPs = 10.5.0.1/32
PersistentKeepAlive = 23

使用dmesg,tcpdump我可以观察到客户端发送了反复的握手尝试:

rp:~# dmesg -wT
...
[Fri Apr 25 23:45:18 2025] wireguard: wg0: Sending handshake initiation to peer 1 (<outpost-ip>:51820)
rp:~# tcpdump -n -vvv -i ens18 udp port 51820
...
23:45:19.115710 IP (tos 0x88, ttl 64, id 34886, offset 0, flags [none], proto UDP (17), length 176)
    <rp-ip>.48825 > <outpost-ip>.51820: [bad udp cksum 0x825d -> 0x3db4!] UDP, length 148

服务器收到数据包:

outpost:~# tcpdump -n -vvv -i enp0s6 udp port 51820
...
23:45:19.129033 IP (tos 0x8, ttl 55, id 34886, offset 0, flags [none], proto UDP (17), length 176)
    <rp-ip>.46567 > <outpost-rp>.51820: [udp sum ok] UDP, length 148

但服务器上的 Wireguard 没有显示任何收到任何信息的迹象。

outpost:~# wg
interface: wg0
  public key: <outpost-pubkey>
  private key: (hidden)
  listening port: 51820

peer: <rp-pubkey>
  allowed ips: 10.5.0.2/32
  persistent keepalive: every 13 seconds

服务器定期尝试发送自己的握手启动:

outpost:~# dmesg -wT
[Fri Apr 25 23:46:45 2025] wireguard: wg0: Sending handshake initiation to peer 1 ((einval))

但由于服务器不知道客户端的(动态)公共 IP,因此这种握手启动不会出现在使用 的服务器或客户端上tcpdump。

两台机器使用同一个 NTP 服务器 ( ntp.ubuntu.com),并且同步正确。我的 MTU 为 1440,已针对我的设置进行了优化,即使没有这行代码,行为也不会改变。我还多次重新生成了服务器/客户端密钥,但行为没有任何变化。

iptables 在服务器/客户端上设置正确:

# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
...

UFW未安装。

任何建议都值得赞赏。

networking
  • 1 个回答
  • 118 Views
Martin Hope
Rabah DevOps
Asked: 2025-02-27 15:16:47 +0800 CST

Virtualbox 第二个接口 NAT 转发不起作用

  • 5

我有带有四个网络适配器的 Virtualbox。

  1. 适配器仅主机
  2. 适配器内部
  3. 适配器仅主机
  4. 适配器 NAT

第一个接口上的 NAT:

route -n

0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
10.0.2.2        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s3
10.0.2.3        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s3
10.10.0.0       0.0.0.0         255.255.255.0   U     100    0        0 enp0s8
203.0.133.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s9


1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:46:e4:90 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 metric 100 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 86198sec preferred_lft 86198sec
    inet6 fd00::a00:27ff:fe46:e490/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86201sec preferred_lft 14201sec
    inet6 fe80::a00:27ff:fe46:e490/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:fc:34:9c brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.6/24 metric 100 brd 10.10.0.255 scope global dynamic enp0s8
       valid_lft 398sec preferred_lft 398sec
    inet6 fe80::a00:27ff:fefc:349c/64 scope link
       valid_lft forever preferred_lft forever
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:fb:36:58 brd ff:ff:ff:ff:ff:ff
    inet 203.0.133.5/24 metric 100 brd 203.0.133.255 scope global dynamic enp0s9
       valid_lft 398sec preferred_lft 398sec
    inet6 fe80::a00:27ff:fefb:3658/64 scope link
       valid_lft forever preferred_lft forever
5: enp0s10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:82:93:6b brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:fe82:936b/64 scope link
       valid_lft forever preferred_lft forever

第一个接口上仅限主机,第二个接口上进行 NAT:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 enp0s8
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s8
10.0.2.2        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s8
10.0.2.3        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s8
10.10.0.0       0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
203.0.133.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s9

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:46:e4:90 brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.5/24 metric 100 brd 10.10.0.255 scope global dynamic enp0s3
       valid_lft 462sec preferred_lft 462sec
    inet6 fe80::a00:27ff:fe46:e490/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:fc:34:9c brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 metric 100 brd 10.0.2.255 scope global dynamic enp0s8
       valid_lft 85962sec preferred_lft 85962sec
    inet6 fd00::a00:27ff:fefc:349c/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 85964sec preferred_lft 13964sec
    inet6 fe80::a00:27ff:fefc:349c/64 scope link
       valid_lft forever preferred_lft forever
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:fb:36:58 brd ff:ff:ff:ff:ff:ff
    inet 203.0.133.5/24 metric 100 brd 203.0.133.255 scope global dynamic enp0s9
       valid_lft 462sec preferred_lft 462sec
    inet6 fe80::a00:27ff:fefb:3658/64 scope link
       valid_lft forever preferred_lft forever
5: enp0s10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:82:93:6b brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:fe82:936b/64 scope link
       valid_lft forever preferred_lft forever

当 NAT 位于网络接口的第二个、第三个或最后一个位置时,我无法使用 NAT 和端口转发连接到我的 VM。

它必须始终处于第一位。

有人能解释一下为什么吗?

谢谢

networking
  • 1 个回答
  • 76 Views
Martin Hope
user3625319
Asked: 2025-02-25 18:51:26 +0800 CST

无论您在网络中的哪个位置进行测试,traceroute 如何始终能够到达目的地之前的最后一个路由器?

  • 5

我们的网络出现间歇性问题,发生在路由器 A 和 B 之间。A 距离网关最近。

问题发生时,A 无法 ping 通 B,反之亦然。如果我通过带外管理访问路由器 B,则沿网络向网关跟踪路由会返回奇怪的结果。

从路由器 B 开始的跳数如下:路由器 B -> 路由器 A -> R1 -> R2 -> R3 等

到 R3 的跟踪路由返回:RA -> 回复。R1
-> 回复。R2
-> 回复。
超时

到 R2 的跟踪路由返回:RA -> 回复。R1
-> 回复。
超时

向 R1 返回:RA -> Reply。
超时

这对我来说毫无意义。为什么当 traceroute 到达 R3 时,R2 可以回复,而当它是 traceroute 的终点时,R2 却不回复?

即使网络配置没有任何改变,该问题也会出现并消失。

networking
  • 2 个回答
  • 47 Views
Martin Hope
PrimeYeti
Asked: 2025-02-22 00:31:53 +0800 CST

这个场景是否需要发夹式 NAT?

  • 5

我有一台 Web 服务器,它有一个公共 IP 地址(称为 1.1.1.1)和一个本地 IP 地址(称为 10.10.10.10)。该 Web 服务器充当 10.xxx 范围内网站的代理。

我遇到的问题是 10.xxx 范围内的网站无法通过卷曲网站域名相互访问。在 DNS 中,每个网站的每个域名都设置为 1.1.1.1。

当来自网站的流量离开网络时,它会由位于 Web 服务器前面的路由器进行源 NAT,变为 Web 服务器的地址 (1.1.1.1)。

其他网络上的设备访问网站没有问题,这让我认为我需要发夹式 NAT,但不是 100% 确定。

networking
  • 1 个回答
  • 38 Views
Martin Hope
marcus erronius
Asked: 2025-01-18 04:45:49 +0800 CST

为什么我们的网络打印机打印未经请求的乱码页面?

  • 4

至少一年来,我办公室的网络打印机会随机打印出几页乱码。或者至少大部分都是乱码 - 有些看起来像 HTTP 请求。它的格式与打印机在您向其发送没有样式信息的文本文件时所采用的方式相同。这些页面会在一天中的任何时间打印,有时是在凌晨,有时是在深夜。我们对原因感到困惑,我担心这可能是某种安全问题。我附上了它打印的一些页面的照片。页数相当零散,有时一天一两页,有时是 30 或 40 页。有什么想法吗?

打印的 http 请求和乱码页面的照片

附录:我曾在我们组织内其他两个存在此问题的地点工作过一段时间。另一个地点没有。每个地点都有自己的一套常规员工。

networking
  • 1 个回答
  • 62 Views
Martin Hope
divB
Asked: 2025-01-13 15:01:09 +0800 CST

为什么 SSL 握手会由于 MTU 较小而失败?

  • 13

我与服务器 (owner-api.teslamotors.com) 建立了 SSL 连接,该连接通过 wget、curl 或 openssl s_client 挂起。我展示的是 curl 版本,因为它提供了最多的调试消息:

# curl -iv https://owner-api.teslamotors.com 
*   Trying 18.203.70.200:443...
* Connected to owner-api.teslamotors.com (18.203.70.200) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs

ClientHello 之后它就挂起了。TCP 连接已成功建立(也已通过 telnet/nc 确认)。其他网络连接(包括我尝试过的任何 SSL 连接)都可以正常工作。除了owner-api.teslamotors.com:443。

我发现这个帖子谈论的是 MTU,听起来有些牵强。但我减少了服务器 MTU,它就起作用了!它适用于任何 <= 1420 的 MTU。

服务器使用以太网 (MTU 1500) 连接到 Mikrotik 路由器,然后从那里通过 WireGuard 隧道 (MTU 1420)。我知道这可能不是最佳选择,因为来自服务器 >1420 的任何 IP 数据包都需要分段。但是,这与任何 L4 协议无关。TCP 上的 SSL 不应该关心分段和 MTU。然而,这个主机关心。

我在 Mikrotik 盒子上运行了数据包捕获,流量没有列出任何异常:

图像

典型的 TCP 握手是第 1-3 次,然后是 ClientHello(第 4-5 次)和 ServerHello(第 6-7 次)。没有数据包大小接近 MTU,也没有其他 ICMP 消息表明存在碎片等问题。

根据评论,以下是 tracepath 输出:

# tracepath owner-api.teslamotors.com
 1?: [LOCALHOST]                      pmtu 1500
 1:  XX.XX.56.210                                          0.410ms 
 1:  XX.XX.56.210                                          0.198ms 
 2:  XX.XX.56.210                                          0.138ms pmtu 1420
 2:  XX.XX.56.185                                        151.394ms 
 3:  no reply
 4:  100.100.200.1                                       157.220ms 
 5:  10.75.0.193                                         154.068ms 
 6:  10.75.2.53                                          161.950ms asymm  7 
 7:  decix1.amazon.com                                   152.107ms asymm  8 
 8:  decix2.amazon.com                                   153.068ms 
 9:  no reply
 [...]

我真的不知道这里到底发生了什么。

为什么这个 SSL 连接失败?

networking
  • 2 个回答
  • 702 Views
Martin Hope
Deepanjan Das
Asked: 2025-01-02 06:15:03 +0800 CST

主机实际上是如何处理向它广播的 ARP 请求的,该请求的 IP 地址与其自己的 IP 地址相匹配?

  • 5

当我ping在 LAN 上找到主机 IP 地址时,我的主机会广播请求ARP。在收到ARP目标主机的回复后,它会启动一个ICMP echo包含回复的消息会话。

当目标主机从我的源主机接收时ARP request,目标主机是否会ARP使用请求中嵌入的信息更新缓存(因为源MAC address存在于中ARP request)?

如果是这样,为什么目标主机有时会ARP request为我的源主机 IP 地址发送另一个请求,并丢弃所有ICMP echo请求直到得到回复ARP reply?

请注意,这种行为是偶然发生的,有时ICMP echo会在ARP request目标主机发出响应之前做出响应,但这种响应ARP request总是出现在 ping 会话中间的某个地方。

我不知道这是否是由于早期 ping 会话中主机的 ARP 表更新所致,或者第二个只是一种协议,并且目标主机已经具有来自第一个的ARP request源主机的信息。MAC addressARP request

或者,目标主机根本不需要源主机MAC address,因为它总是封装在每个ICMP echo请求中,并且对每个此类请求的回复都使用收到的有关的信息MAC addresses并在响应帧中切换它们?

编辑 1:经过一番研究,我发现目标主机实际上并没有ARP cache从被动ARP requests(即来自其他主机的请求)中填充其内容。它ARP cache仅从ARP其自身请求收到的回复中填充其内容。

编辑2:继之后,在任何回复之前来自目标主机的Edit 1第二个回复表明源不在其内或已成为,从而在回复请求之前触发另一个回复。(有时首先通过探测检查地址,如果映射无效或探测超时,则发生新的回复。ARP requestICMP echoMAC addressARP cacheSTALEARP requestICMP echoSTALEARP request

ARP request因此,会话中间发生的第二个请求ping表明,由于某些原因(在我的主机中配置为 60 秒),源MAC address已进入STALE我的目标主机,从而触发了第二个请求。此外,这些第二个请求澄清了虽然目标主机不需要源填充到其请求中并使用有关源的信息来回复它,但它确实需要知道源才能回复请求。ARP cacheARP timeout valueARP requestARPMAC addressARP cacheARP requestMAC addressMAC addressTCMP echo

尽管如此,我们仍然非常感谢任何能够详细说明或纠正上述调查结果中的错误的答案。

networking
  • 1 个回答
  • 48 Views
Martin Hope
Arunabh
Asked: 2025-01-01 06:25:39 +0800 CST

AWS Systems Manager 中的访问控制标记如何与委派管理员协作?

  • 3

OpsCenter 支持通过标记进行访问控制。用户可以根据特定标记限制对 OpsItems 的访问,从而根据分配的角色或职责更精细地控制谁可以查看或管理事件。

AWS Systems Manager 中的访问控制标记如何与委派管理员协作?

networking
  • 1 个回答
  • 84 Views
Martin Hope
Gremious
Asked: 2024-12-05 04:40:38 +0800 CST

如何通过公共域但作为 LAN 连接访问我的公共服务器(通过 nginx 代理设置)?

  • 5

当我在本地网络(子网?)上时,我希望转到sub1.myserver.com并使其工作方式与转到相同192.168.1.99:1234- 即目标是使用我公开用于该服务器的相同域名,同时获得例如 LAN 下载速度。

我的设置:

我在不同的端口上运行多个服务,例如:192.168.1.99:1234在192.168.1.99:5678我的 Debian Bookworm 服务器上。

我的 DNS(porkbun)有A我的公共 IP ->(子)域名的记录。

我有一个 nginx 代理执行类似->和-> 的proxy_pass操作。sub1.myserver.com0.0.0.0:1234sub2.myserver.com0.0.0.0:5678

这很有效,我可以通过公开访问我的服务器sub1.myserver.com。

当然,我也可以192.168.1.99:1234直接通过 LAN 连接到同一个应用程序。

我如何才能实现对本地局域网连接重新使用同一个域名,如果不可能/不可取,下一个最佳解决方案是什么?

networking
  • 1 个回答
  • 50 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