1. 程式人生 > >樹莓派手動指定靜態IP和DNS 終極解決大法

樹莓派手動指定靜態IP和DNS 終極解決大法

在把玩樹莓派的過程中,往往需要手動給它設定一個靜態的IP地址,一來可以防範DHCP自動分配的IP來回變動,導致遠端SSH時常無法連線;二來還可以提高樹莓派的網路連線速度。

對此菲菲君在網上查了很多資料,大多數方法都是修改 /etc/network/interfaces 配置檔案,增加靜態IP的設定。的確對於 Debian 系的 Linux 系統來說,不都是這樣修改滴嘛?

不過馬上就發現了一個問題,那就是通過修改 interfaces 設定靜態IP的方法,並不完美,即便取得了靜態IP,DHCP 服務依然會自動為樹莓派分配動態 IP 和 DNS 地址,導致路由表預設網關出現衝突,以及手動給定的預設 DNS 不生效的情況。

解決樹莓派靜態IP和DNS難題的終極方法

其實解決起來特別簡單,人家已經在 interfaces 檔案的開頭註釋裡告訴我們了要修改靜態IP地址,需要修改的是 /etc/dhcpcd.conf 也就是 DHCP 的配置檔案

檢視官方文件 man dhcpcd.conf 可知,需要配置 static IP 的話,只需修改以下引數:

vi /etc/dhcpcd.conf
# 使用 vi 編輯檔案,增加下列配置項

# 指定介面 eth0
interface eth0
# 指定靜態IP,/24表示子網掩碼為 255.255.255.0
static ip_address=192.168.1.20/24
# 路由器/閘道器IP地址
static routers=192.168.1.1
# 手動自定義DNS伺服器
static domain_name_servers=114.114.114.114

# 修改完成後,按esc鍵後輸入 :wq 儲存。重啟樹莓派就生效了
sudo reboot

另外注意配置時,你的靜態IP一定要和你的路由器網段一致,比如:假設你的路由器的IP為 192.168.0.x 網段,則上面的 static ip_address 就要對應的修改為 192.168.0.x/24 。還有一點就是你的手動靜態IP要注意不能跟路由器 DHCP 所自動分配的 IP 衝突,否則樹莓派就有可能無法正常聯網。

可用ipconfig檢視路由器地址:

  1. 然後輸入ipconfig指令,點選Enter鍵,確定

  2. 彈出的資訊中,找到預設閘道器,對應的即是IP地址了