我离开了 Ubuntu 并在一段时间后回来,所以我不记得太多了。现在我正在尝试获取我的 IP 地址。我从跑步ifconfig中得到的只是
eth0 Link encap:Ethernet HWaddr 3c:97:0e:11:22:0d
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:20 Memory:f2500000-f2520000
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,我真的不明白什么UP BROADCAST MULTICAST意思。)
$ sudo ifdown eth0
ifdown: interface eth0 not configured
Run Code Online (Sandbox Code Playgroud)
然后
$ sudo ifup eth0
Ignoring unknown interface eth0=eth0
Run Code Online (Sandbox Code Playgroud)
最后2:
$ ip addr show eth0
eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN
group default qlen 1000 link/ether 3c:97:0e:11:22:0d brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)
造成此问题的一个极可能原因是以太网接口配置错误。
使用ethtool eth0命令获取现有配置。
在某些情况下,您可能会发现
# ethtool eth0
Settings for eth0:
...
Speed: Unknown!
Duplex: Unknown! (255)
...
Run Code Online (Sandbox Code Playgroud)
如果是这样,请使用以下命令设置速度和双工:
ethtool -s eth0 speed 100 duplex full
Run Code Online (Sandbox Code Playgroud)
对于现代网络,此配置应该有效。
设置速度和双工后,dhclient eth0如果仍然没有获得 IP,请执行以下操作。
注意:以上设置将在重新启动时重置。因此,如果上述解决方案解决了您的问题,请将以下行添加到/etc/rc.local:
ethtool -s eth0 speed 100 duplex full
dhclient eth0
Run Code Online (Sandbox Code Playgroud)
尝试 :
ifdown eth0
ifup eth0
ip addr show eth0
Run Code Online (Sandbox Code Playgroud)
UP、BROADCAST、 和的含义MULTICASTUP- 设备正在运行BROADCAST- 设备可以将流量发送到链路上的所有主机MULTICAST- 设备可以执行和接收多播数据包有关多播的更多信息,请访问网站
您可以尝试将 IP 地址设置为子网上的某个地址。假设您位于 192.168.1.255 网络上,请尝试以下操作:
ifconfig address 192.168.1.50 netmask 255.255.255.0 gateway 192.168.1.1
Run Code Online (Sandbox Code Playgroud)
将 192.168.1.50 替换为您想要获取的 IP,并将 192.168.1.1 替换为您的路由器/网关的 IP 地址。
我也遇到过类似的问题,这为我解决了。
| 归档时间: |
|
| 查看次数: |
62010 次 |
| 最近记录: |