更改 /etc/network/interfaces 无效

更改 /etc/network/interfaces 无效

我读过许多帖子,为了在静态和 dhcp ip 地址之间更改你的 PC,你可以更改你的 /etc/network/interfaces 文件,然后使用以下命令重新启动网络:

/etc/init.d/networking restart

然而当我这样做时,重启似乎正常,但是(例如使用静态地址)我看到 IP 地址没有变化(使用ifconfig eth0)。

但是当我手动执行此操作时:

sudo ifconfig eth0 192.168.3.20 netmask 255.255.255.0 up

然后它可以正常工作,但前提是我从网络文件中删除“auto eth0”行,否则使用 DHCP。

因此看起来网络文件已被使用,但我无法让它执行静态 IP 地址 :(

这是我的网络文件内容:

#auto eth0 COMMENTED OUT iface eth0 inet static address 192.168.3.21 (USING .21 HERE TO DISTINGUISH BETWEEN MANUAL AND NETWORKING) netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1

我做错什么了吗?

答案1

你的错误在于编辑了

       auto eth0

而必须保留原位。您可能还希望添加 DNS 以使您的网络正常工作:在 eth0 节中添加以下行

       dns-nameservers 8.8.8.8 8.8.4.4

注意复数,nameservers,以及两个名称服务器之间缺少标点符号。如果你不喜欢 Google 的,你可以选择任何你喜欢的。

至于service networking restart和之间ifdown eth0 && ifup eth0没有任何区别:/etc/init.d/networking在服务网络重新启动时执行的文件包含以下行:

       # Provides:          networking ifupdown
         ...........
        ifup $ifaces "$@"

等等:换句话说,service networking restart使用ifup/ifdown。两种用法都可以。

相关内容