ubuntu – Linux如何选择使用哪个网络接口?

前端之家收集整理的这篇文章主要介绍了ubuntu – Linux如何选择使用哪个网络接口?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我的机器在不同的子网上有两个网络适配器,eth0(10.0.100.5)和eth1(10.0.200.5).假设两个子网都有到Internet的路由(虽然它们自己的NAT)和本地网络的其余部分(虽然它们自己的交换机):

> Linux如何在向10.0.150.5或173.194.43.102发出请求时选择使用哪个网络接口?
>我有没有办法在网络层面影响这个?从子网中删除路由会影响这个吗?我在AWS环境中使用我无法登录的设备AMI,因此像this这样的东西将无效.

AWS VPC环境,运行Ubuntu 12.04的其他机器,不知道我正在尝试影响的机器正在运行(因为我无法登录).

澄清:

>两个子网都设置为/ 24s

子网由网络和掩码定义,例如

网络:10.0.100.5
面具:/ 8

这意味着您的子网是:10.0.100.5/8

基本上任何有效的10.xxx.xxx.xxx系列IP都属于该子网.
只能使用一个接口来访问此子网中的主机.所以在你的情况下它是eth0或eth1.其他接口可以在同一子网中具有IP,但它无法正常工作.

如果您所描述的情况与eth0和eth1连接到相同网络且同一子网上的IP相同,则会发生这种情况.

> eth0 10.0.100.5/8
> eth1 10.0.200.5/8

现在只有其中一个接口有路由(假设它是eth0),表示访问子网10.0.100.0/8使用eth0.因此,离开此接口的数据包将具有源地址10.0.100.5

!注意
– 10.0.100.5/8和10.0.200.5/8是相同的子网(因为掩码掩码持续3个字节,我们也可以将其写为10.0.0.0/8)

所以现在考虑我们在这个子网上有主机尝试与10.0.200.5通信
数据包通过eth1进入系统但不能从eth1返回,因为eth0只是一个到网络10.0.0.0/8的路由,而来自eth0的响应有不同的IP;因此,启动与10.0.200.5的连接的人将无法理解来自其他来源的响应.

编辑

要确定将使用哪个接口,您需要查看路由表.由于问题不包含路由表,我将尝试用以下路由表来解释

$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

替代路由表输出

$ip route show
default via 192.168.0.1 dev wlan0  proto static 
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.5 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.14

所以我们在上面的示例中有2个接口.

子网10.0.0.5/255.255.255.0上的> eth0,IP 10.0.0.5或CIDR表示法10.0.0.5/24
> wlan0,子网192.168.0.14/255.255.255.0上的IP 192.168.0.14或CIDR表示法192.168.0.0/24

现在路由表告诉我们什么;逐行解释,自下而上:

192.168.0.0/24 dev wlan0 proto内核范围链接src 192.168.0.14

要访问子网192.168.0.0/24中的主机,请使用interface wlan0和src IP 192.168.0.14

10.0.0.0/24 dev eth0 proto内核范围链接src 10.0.0.5

要访问子网10.0.0.0/24中的主机,请使用interface eth0和src IP 10.0.0.5

默认通过192.168.0.1 dev wlan0 proto static

要访问上述规则未涵盖的任何其他主机,请使用默认路由,该路由可通过接口wlan0访问,而网关可通过其他网络访问192.168.0.1

原文链接:https://www.f2er.com/ubuntu/348475.html

猜你在找的Ubuntu相关文章