我在家里的一台笔记本电脑上运行着 Ubuntu 12.04,我想为它设置一个静态 IP 地址(这样我就可以远程访问它)。我尝试了下面列出的步骤:https://help.ubuntu.com/10.04/serverguide/network-configuration.html
具体来说,我/etc/network/interfaces
以 root 身份打开并添加了一些内容
auto eth0
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
然后我就跑了
sudo ifdown eth0
sudo ifup eth0
我也通过我使用的路由器将该地址租用给了我的计算机。
当我通过 检查 IP 地址时ifconfig
,似乎无论如何都会分配一些随机 IP 地址?有人能告诉我我做错了什么吗?
编辑 1:更正 IP 地址。另请注意,分配的地址为 192.168.0.2
编辑2:输出route -n
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
编辑3:内容/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
每个设备的 inet 地址和掩码如下所列ifconfig -a
:
eth0 inet addr:192.168.0.2 Mask:255.255.255.0
lo inet addr:127.0.0.1 Mask:255.0.0.0
wlan0 inet addr:192.168.0.7 inet addr:192.168.0.7
答案1
正如 Mark Plotnick 在评论中指出的那样,/etc/network/interfaces
如果系统使用网络管理器,则什么也不做。
我改为在网络管理器(连接菜单⇒编辑连接)中为有线地址设置一个静态 IP,现在一切似乎都正常工作了。
答案2
最好的办法是将机器的 eth0 恢复为 dhcp。(如果可能,请使用 gui 应用程序删除配置文件)。
如果你的机器设置为静态 IP,但你的路由器有 dhcp 租约,那将会导致地狱般的后果...
将本地计算机设置为 dhcp 后,配置路由器以维护笔记本电脑的 dhcp 租约。(检查您已设置的 MAC 地址并确保其正确。)
恢复基本连接后,您将在路由器上设置端口转发,以便能够从外部访问您的笔记本电脑。除非您恰好拥有来自 ISP 的商业级连接,否则您还需要设置 dynDNS。(到目前为止,这是另一个会话的主题)。