当前位置: 首页 > 工具软件 > dhcpcd > 使用案例 >

树莓派静态IP设置<dhcpcd>

葛哲彦
2023-12-01

静态IP设置

以下用横杠划掉的方式为错误方式,即便取得了静态IP,DHCP 服务依然会自动为树莓派分配动态 IP 和 DNS 地址,导致路由表默认网关出现冲突,以及手动给定的默认 DNS 不生效的情况。

树莓派默认使用的是dhcp自动分配ip,而且默认打开SSH服务
如果不固定IP,那么可能发生每次联网时,IP都改变了,就需要重新扫描IP,比较麻烦

用putty登录
设置树莓派为静态ip的方法和debian linux修改是一样的
只需要修改文件sudo vi /etc/network/interfaces文件即可
/etc/network/interfaces原文件为dhcp获取ip,内容为

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

修改此文件的办法:
(有显示器的话,直接用键盘鼠标打开终端 修改文件,注意需要root权限)
(或者在linux系统下直接用读卡器读取SD卡 修改/etc/network/interfaces文件)
常规的还是用ssh/VNC登录树莓派修改此文件
先备份这个文件sudo cp /etc/network/interfaces /etc/network/interfaces.bak
直接将iface eth0 inet dhcp替换为如下

iface eth0 inet manual
address 192.168.1.88 //也可以是其他地址,根据需要更改
netmask 255.255.255.0 //子网掩码
gateway 192.168.1.1 //默认网关

如果有下面这一行,就需要屏蔽或者删除
 iface default inet dhcp(否则 ip是固定的但是无法连外网)

然后重启服务或系统
sudo reboot //重启系统
sudo service networking restart //重启服务
 

如果你想修改DNS那么你需要修改此文件
sudo cat /etc/resolv.conf
改成类似的即可
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.220.220
nameserver 208.67.222.222
nameserver 10.10.10.10

然后重启服务 sudo service networking restart

正确的方式如下:

需要修改 /etc/dhcpcd.conf ,也就是 DHCP 的配置文件。
sudo nano /etc/dhcpcd.conf 
在文件结尾加入以下内容:
interface wlan0  #指定接口
static ip_address=192.168.1.141/24 #IP根据需要更改,/24的意思是子网掩码为 255.255.255.0
static routers=192.168.1.1 #网关
static domain_name_servers=192.168.1.1 10.18.0.1 # DNS

需要注意的是,改的IP必须和路由器在同一网段,且网关相同
手动静态IP要注意不能跟路由器 DHCP 所自动分配的 IP 冲突,否则树莓派就有可能无法正常联网。
我是通过笔记本无线共享网络给有线,PI连到有线网口从而获取的IP

无线的信息如下:
IPv4 地址: 192.168.43.225
IPv4 子网掩码: 255.255.255.0
IPv4 默认网关: 192.168.43.1

有线网口信息如下:
IPv4 地址: 192.168.137.1
IPv4 子网掩码: 255.255.255.0
IPv4 默认网关: 无

配置pi的静态ip如下:
interface eth0
static ip_address=192.168.137.45/24
static routers=192.168.43.1
static domain_name_servers=8.8.8.8

如果需要配置无线网卡静态IP,则在后面加上
interface wlan0
static ip_address=192.168.137.45/24
static routers=192.168.43.1
static domain_name_servers=8.8.8.8

目前情况是IP能配置为静态,但是不能上网。

 类似资料: