如何显示网络接口正在运行?

如何显示网络接口正在运行?

如何显示特定网络路由正在运行,即使该路由不是默认路由?

当前的情况如下。

$ ip route
default via 192.168.2.1 dev enp0s31f6 proto dhcp metric 100
default via 10.162.141.192 dev wwp0s20f0u11i12 proto static metric 700
10.162.141.128/25 dev wwp0s20f0u11i12 proto kernel scope link src 10.162.141.191 metric 700
172.20.0.0/24 dev docker0 proto kernel scope link src 172.20.0.1 linkdown
172.20.2.0/24 dev br-8038758c8f58 proto kernel scope link src 172.20.2.1
192.168.2.0/24 dev enp0s31f6 proto kernel scope link src 192.168.2.21 metric 100

我想显示接口正在wwp0s20f0u11i12工作。也就是说,我可以打开一个以该接口为源的连接,连接到另一个地址,并接收响应。

我认为类似的方法curl --interface wwp0s20f0u11i12 https://www.google.com可以起作用,但没有回应。sudo tcpdump -n -i any -s 0 'tcp port https'显示重复请求但没有回应。

00:55:44.148198 IP 10.162.141.191.41853 > 172.217.6.68.443: Flags [S], seq 3546122463, win 64240, options [mss 1460,sackOK,TS val 4025092804 ecr 0,nop,wscale 10], length 0

如果我设置wwp0s20f0u11i12默认路由,我就可以成功发出相同的请求。

wwp0s20f0u11i12当不是默认路由时我该如何提出此请求。

(我有另一个系统,我无法将接口更改为默认路由,并且我希望能够显示该接口上网络是否可运行。)

我正在使用带有 NetworkManager 的 Ubuntu 18.04。

答案1

据我了解,一个接口只能使用 1 条默认路由。

如果想要另一个接口来处理专门需要互联网的请求,那么可以使用的场景是:

  • 假设存在服务器-客户端拓扑,则客户端是连接到服务器的另一台设备
  • 从 enp0s31f6 NAT 规则被赋予到 wwp0s20f0u11i12 接口
  • 从客户端连接到网络 wwp0s20f0u11i12
  • 然后来自客户端的请求可以通过 wwp0s20f0u11i12 接口处理

*) 注意:从服务器端看不出 wwp0s20f0u11i12 接口可以处理请求

希望这会有所帮助

相关内容