Linux选择主网络eth0与wlan0,ubuntu – Linux如何选择使用哪个网络接口?

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

网络: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值