树莓派快速起步

树莓派官网可以下载

sudo dd if=2017-11-29-raspbian-stretch-lite.img of=/dev/sdb bs=4M

配置树莓派初始环境

为了能够通过网线直接连接笔记本电脑,所以简化设置树莓派采用静态IP地址。

我采用笔记本电脑直接连接一条短网线和树莓派通讯,中间不经过交换机。树莓派的电源由笔记本电脑的USB口供电。

  • 将树莓派B3的TF卡通过USB转接器连接到笔记本的USB接口,识别成/dev/sdb

  • 挂载/dev/sdb2(Linux分区)到/mnt分区,然后就可以修改配置:

mount /dev/sdb2 /mnt

采用chroot方式切换到树莓派环境

为了能够让树莓派第一次启动就进入预设环境(设置静态IP地址,启动ssh服务,设置密码),在前面完成树莓派TF卡文件系统挂载到笔记本(Linux操作系统)之后,采用chroot切换到树莓派环境。这样就可以模拟运行了树莓派操作系统,并且所有修改都会在树莓派环境生效。

注意:

如果你没有使用chroot切换到树莓派操作系统环境。则下文中所有编辑配置文件都是在/mnt目录下的子目录,例如/mnt/etc/dhcpcd.conf配置文件就是树莓派的配置文件/etc/dhcpcd.conf/mnt/etc/network/interfaces对应树莓派配置文件/mnt/etc/network/interfaces

mount -t proc proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev

进入树莓派系统

设置有线网卡静态IP

  • /network/interfaces

这个配置文件是动态配置的,实际配置需要在dhcpcd.conf中配置

  • 修改 /etc/dhcpcd.conf(在这个配置文件的最后部份有静态配置的案例)

设置ssh默认启动

  • 激活ssh服务默认启动

  • 启动ssh服务

设置pi用户帐号密码和root密码

注意:默认的树莓派用户帐号是pi,密码是raspberry,一定要第一时间修改成复杂密码,避免安全漏洞。此外,还要设置root用户密码。

以上3个命令是为了切换到超级用户root帐号下,然后分别为pi用户设置密码,以及为自己(root)设置密码。

启动

现在可以启动树莓派,很简单,将USB线连接到笔记本电脑上提供电源,另外将网线连接树莓派网口和笔记本网口,笔记本网卡配置192.168.0.1/24就可以联通网络。

在笔记本上输入如下命令通过ssh登录树莓派:

IP masquerade

上述通过网线直接连接树莓派和笔记本电脑虽然非常方便(无需交换机),也便于移动办公。但是此时树莓派尚未连接因特网,对于在线安装和更新软件非常不便。

简单的解决方法是使用iptables的NAT masquerade,即在笔记本(相当于树莓派的网关)输入如下命令(或执行脚本):

注意在使用firewalld的时候,不需要执行以上iptables命令,后面有案例在firewall-cmd中开启masquerade。

-t nat -A POSTROUTING -j MASQUERADE即可以实现网络地址转换

第2条指令是开启IP转发

这里遇到一个问题:在NAT之后的树莓派可以ping通外网,但是DNS解析却不能成功,虽然从笔记本电脑上检查iptables -nat -L中已经包含如下IP masquerade:

原因是:Fedora默认开启了firewalld防火墙,只允许ICMP数据包通过,这样笔记本电脑接收到ping包后,可以转发给外网并回传,但是其他TCP和UDP数据包没有放行。

解决方法参考设置Fedora/CentOS 7作为路由器

  • 首先检查有哪些激活的zone

可以看到有线网卡和无线网卡都默认设置为 public,所以默认拒绝外部访问。

  • 检查有那些可用的zone

  • 现在检查dmz区域尚无接口

  • 将接口enp0s20u1迁移到 DMZ 区

  • 再次检查激活区域

  • 添加dmz区域允许访问的服务

这样就使得树莓派能方位外部服务端口(实际上是在笔记本网卡接口上开启了这些服务的端口允许访问)

  • 启用端口转发

  • 通过firewall-cmd启用MASQUERADE

软件包安装

如果采用最小的raspberry pi安装镜像,安装以后还需要一些工具包,可以参考Debian最小化安装后的软件包安装建议

时区

默认时区是UTC,和中国差距8小时,所以需要修改时区:

这样就能看到正确的时间显示。

其他

接下来,通过硬盘扩展卡,为树莓派添加一个大容量硬盘,从USB硬盘启动树莓派构建一个完整的微型服务器。

参考

Last updated

Was this helpful?