树莓派手动指定静态IP和DNS 终极解决大法 (最管用的版本)

Posted 李昊轩的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派手动指定静态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

注意: 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地址了

以上是关于树莓派手动指定静态IP和DNS 终极解决大法 (最管用的版本)的主要内容,如果未能解决你的问题,请参考以下文章

树莓派手动设置静态IP和DNS方法

树莓派设置固定IP地址

树莓派3b 路由

2. 树莓派:通过树莓派的RJ45上网

在树莓派上设置无线静态IP

1. 树莓派:eth桥接到wlan口,共享上网