通过辅助 IP 地址解决 SSH 问题

通过辅助 IP 地址解决 SSH 问题

** 添加IP信息

我有一台 Ubuntu 18.04 服务器,具有以下物理配置:

  • 1 eth 用于管理
  • 4 个 eth 绑定用于本地媒体服务

初始设置是通过以太网管理链路上的 SSH 完成的。我用静态 IP 地址配置了它,一切运行顺利。

然后,我使用 vlan 接口和 vlan 上的静态 IP 地址配置了绑定。我能够通过 SSH 连接到该 VLAN。

然后,我将以太网管理链路的 IP 更改为单独的 /31 网络,并配置路由策略以在管理链路接收流量时使用默认路由。

现在,我可以毫无问题地通过 SSH 连接到我的 VLAN IP。我还可以通过 SSH 连接到我的管理链接,但是大约 30 秒后,SSH 会话挂起,然后又过了 30 秒,远程端意外关闭会话。我假设这是某种路由问题或 SSH 配置调整问题,但不确定如何排除故障。当会话挂起或关闭时,journalctl -f 不记录任何事件。感谢您的任何想法。

这是我的 netplan 配置和一些 ip 输出:

network:
  version: 2
  ethernets:
    enp0s31f6:
      dhcp4: no
      addresses: [192.168.3.1/31]
      #gateway4:
      routes:
        - to: 0.0.0.0/0
          via: 192.168.3.0
          metric: 500
          table: 1
      routing-policy:
          - from: 192.168.3.1
            table: 1
    enp4s0f0:
      dhcp4: no
    enp4s0f1:
      dhcp4: no
    enp4s0f2:
      dhcp4: no
    enp4s0f3:
      dhcp4: no

network:
  version: 2
  bonds:
    bond0:
      dhcp4: no
      interfaces:
        - enp4s0f0
        - enp4s0f1
        - enp4s0f2
        - enp4s0f3
      parameters:
        mode: 802.3ad
        primary: enp4s0f0

network:
  version: 2
  vlans:
    bond0.2022:
      dhcp4: no
      id: 2022
      link: bond0
      addresses: [192.168.1.239/23]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [192.168.0.1]

~$ ip route
default via 192.168.0.1 dev bond0.2022 proto static
192.168.0.0/23 dev bond0.2022 proto kernel scope link src 192.168.1.250
192.168.3.0/31 dev enp0s31f6 proto kernel scope link src 192.168.3.1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

$ ip route show dev enp0s31f6 table 1
default via 192.168.3.1 proto static metric 500
default via 192.168.3.0 proto static metric 500

~$ ip a | grep UP
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: enp4s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
3: enp4s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
4: enp4s0f2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
5: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
6: enp4s0f3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
8: bond0.2022@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
9: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000

C:\tracert 192.168.1.250

Tracing route to 192.168.1.250 over a maximum of 30 hops

  1    <1 ms    <1 ms    <1 ms  192.168.1.250

Trace complete.

C:\tracert 192.168.3.1

Tracing route to 192.168.3.1 over a maximum of 30 hops

  1    <1 ms    <1 ms    <1 ms  192.168.0.1
  2     1 ms     1 ms    <1 ms  192.168.1.241
  3    <1 ms    <1 ms    <1 ms  192.168.3.1

Trace complete.

答案1

我解决了我的问题。我在客户端子网上有两个路由接口——一个防火墙和一个用于远程网络的路由器。防火墙是默认网关,但路由器是我用于管理的远程网络的下一跳。我在客户端中为远程网络添加了到路由器下一跳的静态路由,而不是默认网关,并且 SSH 会话不再关闭。

相关内容