首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"netifaces.gateways“如何选择默认网关?

"netifaces.gateways“如何选择默认网关?
EN

Stack Overflow用户
提问于 2022-06-20 09:15:41
回答 1查看 113关注 0票数 0

我的linux上有两个网卡,还有下一个路由设置:

代码语言:javascript
复制
$ ip route
default via 10.192.244.254 dev enp0s31f6 proto static metric 100
default via 192.168.100.1 dev enp2s0 proto dhcp src 192.168.100.106 metric 200
10.192.244.0/24 dev enp0s31f6 proto kernel scope link src 10.192.244.193
169.254.0.0/16 dev docker0 scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.100.0/23 dev enp2s0 proto kernel scope link src 192.168.100.106
192.168.100.1 dev enp2s0 proto dhcp scope link src 192.168.100.106 metric 200

指标(联网)中,它说:

路由器度量是路由器用来做出路由决策的度量。度量通常是路由表中许多字段之一。路由器指标帮助路由器在多个可行的路由中选择到目的地的最佳路由。该路由将以最低的度量向网关的方向移动。

因此,我认为网关10.192.244.254具有很高的优先级。但是,使用下一个python代码:

try.py:

代码语言:javascript
复制
import netifaces
gateways = netifaces.gateways()
print(gateways)

执行:

代码语言:javascript
复制
$ python3 try.py
{'default': {2: ('192.168.100.1', 'enp2s0')}, 2: [('10.192.244.254', 'enp0s31f6', True), ('192.168.100.1', 'enp2s0', True)]}

你可以看到它只是告诉我192.168.100.1是默认路由器,为什么它不选择10.192.244.254或者给我看2个默认路由器呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-21 14:32:25

我发现我在debian 10上,而python3-netifaces的版本是旧版本:

代码语言:javascript
复制
ii  python3-netifaces 0.10.4-1+b1  amd64

debian 11上,它使用新的库版本作为下一个版本,它的工作方式与预期的一样:

代码语言:javascript
复制
ii  python3-netifaces 0.10.9-0.2+b3 amd64

执行:

代码语言:javascript
复制
# python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import netifaces
>>> gateways = netifaces.gateways()
>>> print(gateways)
{'default': {2: ('10.192.244.254', 'enp0s31f6')}, 2: [('10.192.244.254', 'enp0s31f6', True), ('192.168.100.1', 'enp2s0', False)]}
>>>

,我可以确认我的问题是一个旧版本的错误,并在2020/12/17中修正了新的netifaces版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72684730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档