在把玩树莓派的过程中,往往需要手动给它设定一个静态的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

注意: wifi需要将网卡设置为 wlan0 而不是 eth0

\# 使用 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、在开始菜单搜索框,输入cmd确定后,打开命令对话框

然后输入ipconfig指令,点击Enter键,确定

弹出的信息中,找到默认网关,对应的即是IP地址了

Logo

更多推荐