背景
树莓派默认是DHCP自动获取IP地址的,但在实际使用中,经常会有设置固定IP的情况。网上也有很多设置固定IP的方法,但要注意的是,不同版本的树莓派系统还是有区别的。
之前用的是树莓派8 (Jessie)版本,后来在树莓派9(stretch)中用相同的方法修改配置文件设置固定IP之后,导致整个网卡起不了了,无线和有线网卡都无法使用。这需要特别注意。
树莓派 Debian 8 (Jessie)
在树莓派 Debian 8 (Jessie)版本的系统中,设置固定IP需要修改两个文件,详细操作如下:
备份原文件
1
2sudo cp /etc/network/interfaces /etc/network/interfaces.bak
sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.bak修改interfaces文件
1
sudo nano /etc/network/interfaces
注释掉如下语句:
1
iface eth0 inet dhcp
增加如下语句:
1
2
3
4iface eth0 inet static
address xx.xx.xx.xx
netmask 255.255.255.0
gateway xx.xx.xx.254修改dhcpcd.conf文件
1
sudo nano /etc/dhcpcd.conf
增加如下语句:
1
2
3
4interface eth0
static ip_address=xx.xx.xx.xx/24
static routers=xx.xx.xx.254
static domain_name_servers=xx.xx.xx.xx xx.xx.xx.xx重启树莓派
1
reboot
树莓派 Debian 9 (stretch)
在树莓派 Debian 9 中,配置方法有了变化,我们看下/etc/network/interfaces
文件:
根据提示,我们再看下dhcpcd.conf
文件中的例子:
可见,直接修改这个文件即可:
备份原文件
1
sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.bak
修改
dhcpcd.conf
文件增加如下语句:
1
2
3
4interface eth0
static ip_address=xx.xx.xx.xx/24
static routers=xx.xx.xx.254
static domain_name_servers=xx.xx.xx.xx xx.xx.xx.xx重启树莓派
1
reboot
需要注意的是,如果直接按照之前的方法,也修改了/etc/network/interfaces
文件的话,会导致树莓派整个网卡挂了,无法连接网络。