更改 /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.兩種用法都可以。

相關內容