我进行了很多搜索以寻找解决方案,并发现了50个类似的问题。我已经尝试了其中的大多数,但无法完成这项工作。
简而言之:
我可以通过127.0.0.1:8080或192.168.0.18:8080访问Java应用程序(tomcat),并且可以正常工作,但是我需要来自Java应用程序的请求通过3G加密狗(ppp0)。
Java应用程序通过相同网络上的端口5000扫描/读取其他设备,例如ppp0(IP地址10.249.143.2-10.249.143.50)
如果我断开wifi网络,这一切都会起作用,但是当我重新连接到wifi时,它们都将停止工作,因为192.168.0.18无法从IP地址10.249.143.2-10.249.143.50访问设备
连上wifi:
default via 192.168.0.1 dev wlp3s0b1 proto dhcp metric 600
default dev ppp0 proto static scope link metric 700
10.64.64.64 dev ppp0 proto kernel scope link src 10.249.143.9
10.64.64.64 dev ppp0 proto kernel scope link src 10.249.143.9 metric 700
169.254.0.0/16 dev wlp3s0b1 scope link metric 1000
192.168.0.0/24 dev wlp3s0b1 proto kernel scope link src 192.168.0.19 metric 600
没有wifi:
default dev ppp0 proto static scope link metric 700
10.64.64.64 dev ppp0 proto kernel scope link src 10.249.143.9
10.64.64.64 dev ppp0 proto kernel scope link src 10.249.143.9 metric 700
好的,请参阅没有明确的路由10.249.143.0/24
(我正在制作蒙版,我不是它的意思)。
这意味着进入该网络的数据包将遵循默认路由。wifi开启时,默认路由已结束wlp3s0b1
; wifi关闭时,默认路由已结束ppp0
。
您可以为10.249.143.0/24
网络添加一条明确的路由。例如,作为root
,应该这样做:
# ip route add 10.249.143.0/24 dev ppp0
现在,无线网络打开还是关闭都没关系,因为您已经告诉系统如何将数据包路由到该网络。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句