添加具有单独网关的网络 eth

添加具有单独网关的网络 eth

操作系统: Debian

目前我只有 1 个网络连接设置 (br0)。

我想将第二个网络连接 (eth3) 连接到单独的网络/网关。

一切都应该继续通过 eth0 发送,除非我专门选择通过 eth1 发送请求(例如指定 eth1 的 CURL 请求)

请注意,eth2 用作许多 KVM 虚拟机的 br0 网桥。

更新:我向接口文件添加了一些路由和更新:这是我当前的接口文件。

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
  address 192.168.1.121
  network 192.168.1.0
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  bridge_ports eth2
  bridge_stp on
  bridge_fd 0
  bridge_maxwait 0
  post-up ip route add 192.168.1.0/24 dev br0 metric 1
  post-up route add default gw 192.168.1.1 metric 1
  pre-down route del default gw 192.168.1.1

auto eth3
iface eth3 inet static
  address 192.168.0.121
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 191.168.0.1
  post-up ip route add 192.168.0.0/24 dev eth3 metric 2
  post-up route add default gw 192.168.0.1 metric 2
  pre-down route del default gw 192.168.0.1

但是,当我尝试重新启动网络服务时,会出现此错误(在尝试使用时也会出现此错误)ifup eth3

RTNETLINK 回答: 文件存在

无法启动 eth3

答案1

如果您知道将通过哪些 IP 地址连接,eth1那么您应该设置路由。

您的默认网关将保留,eth0因此默认情况下所有流量都会流向那里,但是,发送到特定网络或 IP 地址的任何流量都将通过eth1

使用该包检查当前的路由表iproute2

$ ip route list
default via gateway 192.168.1.1 dev eth0
gateway 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.121

使用网关 from 设置静态路由eth1到达 to unix.stackexchange.com

ip 路由通过 (remote_connecting_gatway) dev (local_outgoing_interface) 添加 (remote_network)

$ ip route add 198.252.206.16/32 via 192.168.0.1  dev eth1

查看新的路由表:

$ ip route list
default via gateway 192.168.1.1 dev eth0
gateway 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.121
198.252.206.16 via 192.168.0.1 dev eth1

测试新路线:

$ ip route get 198.252.206.16
198.252.206.16 via 192.168.0.1 dev eth1  src 192.168.0.121
cache

删除路线:

$  ip route del 198.252.206.16/32 via 192.168.0.1  dev eth1

通过重新启动使此静态路由保持不变:

将以下条目添加到/etc/network/interfaces文件中:

auto eth1
iface eth1 inet static
address 192.168.0.121
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
post-up ip route add 198.252.206.16/32 via 192.168.0.1  dev eth1
pre-down ip route del 198.252.206.16/32 via 192.168.0.1  dev eth1

注意post-uppre-down entries

重新启动网络:

$ /etc/init.d/networking restart

笔记:

如果你这样做不是知道您将前往的 IP 地址,那么您需要添加一个额外的路由表来包含第二个默认路由。

这在以下内容中有详细介绍一个系统上有两个默认网关

参考

人的IP地址
人机界面
在 Debian 上配置静态路由
一个系统上有两个默认网关

答案2

当您有两个默认网关时,您可以在 eth1 上添加更高的度量值,以避免该接口上指定流量以外的流量。我想这篇文章已经给你答案了。 在 Debian 接口文件中添加两个默认网关

相关内容