我有一个嵌入式设备,当通过USB连接时,它会分配一个IP。我应该能够使用分配的IP telnet到此设备。我可以在我的ubuntu机器的ifconfig中看到这个。
问题: 当我尝试telnet时,它无法连接并无休止地等待。
解决方法:
断开我的ubuntu系统上的usb接口并手动运行命令$sudo dhclient enp0s20f0u9
。这会刷新usb接口IP(重新分配相同的IP地址),但这次我可以成功远程登录到设备。
每次我使用usb插入设备时都需要这样做。很烦人。知道如何永久解决这个问题吗?
答案 0 :(得分:1)
另一种解决方法是通过更新路由表。
首先是路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.8.1 0.0.0.0 UG 100 0 0 enp0s31f6
169.254.0.0 0.0.0.0 255.255.255.252 U 100 0 0 enp0s20f0u9
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 docker0
169.254.0.1 169.254.0.2 255.255.255.255 UGH 100 0 0 enp0s20f0u9
172.16.8.0 0.0.0.0 255.255.254.0 U 100 0 0 enp0s31f6
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
如我们所见,接口enp0s20f0u9
有两个条目。删除以下路线也解决了这个问题。
sudo route del -net 169.254.0.1 gw 169.254.0.2 netmask 255.255.255.255 dev enp0s20f0u9
答案 1 :(得分:1)
显然Ubuntu 14.04之后存在此问题。这个post提供了一个解决方案,但我不想尝试这个,如果它会打破别的东西。