类似的问题但没有答案:
具有相同度量的两个默认路由
Linux如何在默认网关之间进行选择?
在Linux上,当两条路由具有相同的度量时,将使用哪一条?我发现这是记录在案 for Windows (“如果多个相同速度的接口具有相同的最低接口度量,那么根据绑定顺序,将使用第一个网络适配器的默认网关。当第一个网络适配器不可用时使用第二个网络适配器的默认网关”)。但无法找到Linux是如何处理这一问题的。
我想答案在代码中,但并不明显。
我有一个网络,其中有主机A、主机B (都是Linux)和网关C。我正试着联系主机Z。
默认情况下,流量:
A -> C -> Z
为了满足一些内部需要,我需要流量:
A -> B -> C -> Z
为了做到这一点,我只是添加了一条路线。因此,在A中,我执行如下操作:
route add A gw B
如果我按一下,我就能看到交通情况:
A -> B -> C -> Z
这很好。然而,随着时间的推移,您可以看到它是如何恢复的(用mtr检查)
A -> C -> Z
而路由表仍然存在(route -n)。
有什么办法解决这个问题吗?
在工作中,我们有两个网络;一个WiFi网络,用于正常的互联网接入;一个内部局域网网络,用于回购等。我最近开始使用Linux,这是痛苦的,必须不断地在电缆和WiFi之间切换。在Windows上,我们通过运行以下命令来解决这个问题(这样我们就可以同时连接到两个网络):
# Add a route for all traffic to any destination starting with 10 (internal traffic):
route add 10.0.0.0 mask 255.0.0.0 10.18.21.129 metric 40 -p
# Move the default ro
我最近在我的基于ubuntu的linux发行版上引导了gcc 6.1。它似乎安装正确,因为我可以编译用C和C++编写的程序。我还可以运行编译后的可执行文件。我也可以编译一个包含C++11和C++14特性的程序,没有任何错误,但是当我尝试运行这些可执行文件时,我得到了以下错误;
./exec: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./ardi)
当我奔跑时;
strings /usr/lib/x86_64-linux-gnu/libstdc++.
我正在创建一个从Linux到运行标准固件的SonicWall防火墙的SonicWall隧道。隧道似乎被创建得很好,但是从Linux盒到远程网络的数据包没有被路由到隧道中。来自远程网络的数据包似乎很好。从Linux盒到安全远程网络的ping尝试通过普通路由表进行路由。
查看路由表和缓存,192.168.1.0 (远程网络)没有条目。我对文档的期望是,隧道策略将插入路由。
任何想法都是见效的。
谢谢,布拉德
这是我的剧本:
#!/sbin/setkey -f
# Configuration for 172.16.89.100
# Flush the SAD and SPD
flush;
spdf
在我的linux服务器上,我有以下路由表:
$ ip ro
default via 172.28.127.254 dev wlp0s20f3 proto dhcp metric 600
10.8.3.0/24 dev tun0 proto kernel scope link src 10.8.3.2
169.254.0.0/16 dev docker0 scope link metric 1000 linkdown
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.28.96.0/