通过特定接口永久更改到特定 IP 的路由

通过特定接口永久更改到特定 IP 的路由

我有一个设置,使用 10G 绑定与远程系统一起工作,但它会间歇性地断开连接,因为流量偶尔会通过另一个接口路由。我认为我已经通过以下 192.168.0.31 路由解决了这个问题:

    Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 nm-bond
0.0.0.0         192.168.1.1     0.0.0.0         UG    90000  0        0 eno2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eno2
192.168.0.0     0.0.0.0         255.255.254.0   U     1      0        0 nm-bond
192.168.0.0     0.0.0.0         255.255.254.0   U     90000  0        0 eno2
192.168.0.31    0.0.0.0         255.255.255.255 UH    0      0        0 nm-bond

到目前为止似乎有效。有没有更好的方法?如何使它永久生效?

我尝试过这个 netplan 文件的许多变体:01-network-manager-all.yaml

# Let NetworkManager manage all devices on this system
network:
    version: 2
    renderer: NetworkManager
    ethernets:
            nm-bond:
                addresses:
                    - 192.168.0.1/23
                routes:
                    - to: 192.168.0.31
                      via: 0.0.0.0
                      metric: 0

route -n可能我的问题出在将表项转换为 netplan 条目的基本原理上。仍在学习...

实际上,我的最终目标是让所有往返互联网的流量使用 eno2,让所有来自内联网的流量使用 nm-bond。我的路由器上有端口转发功能,可将 https 转发到分配给 eno3 的 IP 地址。

答案1

您可以创建持久静态路由使用 netplan。
请看一些示例:
https://netplan.io/examples#using-multiple-addresses-with-multiple-gateways
另请参阅:https://askubuntu.com/a/992641/77093

对于您的用例来说它应该是这样的:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno2:
     addresses:
       - 192.168.1.x/24
     [ ... ]

    nm-bond:
     addresses:
       -  192.168.0.x/24
     [ ... ]
     routes:
       - to: 192.168.0.31/32
         via: 0.0.0.0
     [ ... ]

相关内容