树莓派手动指定静态IP和DNS 终极解决大法
摘自:菲菲博客 http://www.feifeiboke.com/pcjishu/3617.html
在把玩树莓派的过程中,往往需要手动给它设定一个静态的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 冲突,否则树莓派就有可能无法正常联网。