我運行 Raspbian Jessie 的 Raspberry Pi 3 透過直接乙太網路連接連接到外部硬體。
為了在兩個裝置之間進行連接,我相信 RasPi 需要 eth0 上的靜態 IP 位址。我已經知道外部硬體的位址:192.168.1.158。
當我編輯 /etc/dhcpcd.conf 檔案以包含以下內容時:
interface eth0
static ip_address = 192.168.1.100/24
static routers = 192.168.1.1
static domain_name_servers = 192.168.1.1
/etc/network/interfaces 有其預設值:
iface eth0 inet manual
重新啟動並執行 sudo ifconfig 後,我仍然得到錯誤的 eth0 IP 位址 169.xxx.xxx.xx。
有什麼建議麼?我之前嘗試編輯 /etc/network/interfaces 文件,以便 iface eth0 inet manual 改為 iface eth0 inet static,然後從那裡設置地址。當我嘗試執行 sudo ifconfig 時,我得到了正確的 IP 位址,但我仍然無法正確 ping 裝置。
答案1
您是正確的,您需要編輯該/etc/network/interfaces
文件。對於基本的靜態 IP 配置,您需要如下所示:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
修改檔案後,您可以ifdown eth0
套用ifup eth0
靜態 IP 位址。透過檢查來驗證ifconfig eth0
。
如果您獲得正確的 IP 位址,但仍然無法 ping 設備,那麼您需要確認您嘗試 ping 的伺服器接受了 ICMP 回顯請求。