下载操作系统镜像文件
下载 2017-09-04-ubuntu-16.04-mate-desktop-bpi-r2-sd-emmc-v1.2.0.img.zip。
解压缩 zip 文件
unzip 2017-09-04-ubuntu-16.04-mate-desktop-bpi-r2-sd-emmc-v1.2.0.img.zip
dd 到 SD 卡
下面的命令是在 macOS 上的示例,其它操作系统请自行修改。
列出磁盘以便找到 SD 卡对应的设备路径
diskutil list
unmount disk
注意替换下面的 diskN。
diskutil unmountDisk diskN
注意替换下面的 diskN,且 of 参数不要写错,否则 of 参数所指磁盘数据会丢失。
sudo dd if=2017-09-04-ubuntu-16.04-mate-desktop-bpi-r2-sd-emmc-v1.2.0.img of=/dev/diskN bs=1m conv=sync
开机
将 SD 卡插入 Banana Pi R2,按住电源按钮几秒钟,直到电源插孔旁边的三个指示灯中间那个红灯长时间亮起。
电源按钮按下时,标有 R、G、B 的三个指示灯会长时间亮起;按下约8秒,标有 B 的指示灯熄灭,电源插孔旁的蓝色和绿色指示灯依次闪烁一下后,紧挨的红色指示灯长时间亮起,此时保持电源按钮按下约1秒后,接在 HDMI 接口的显示屏上会有内容显示,此时可以松开电源按钮。
操作系统默认用户名/密码为 pi/bananapi 和 root/bananapi。
设置网络接口
添加文件 /etc/network/interfaces.d/eth0,内容为:
auto eth0 iface eth0 inet static address 10.5.2.1 network 10.5.2.0 netmask 255.255.255.0
执行下面的命令使得上述对网络接口 eth0 的配置生效:
service networking restart
允许 IPv4 转发
添加文件 /etc/sysctl.d/60-ipv4-forward.conf,内容为:
net.ipv4.ip_forward=1
并执行下面的命令使得 IPv4 转发生效:
service procps start
(或者每次开机后都执行命令 echo 1 > /proc/sys/net/ipv4/ip_forward。)
配置 iptables
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
注意这些 iptables 的设置在操作系统重启后并不会保持。可以使用 iptables-save、iptables-restore 和 iptables-persistent 来转存、恢复和持久化 iptables 规则。
安装 iptables-persistent
apt install iptables-persistent netfilter-persistent
安装结束后会询问是否保存 iptables 规则,选择保存就可以了。它将规则保存于目录 /etc/iptables/。
在修改了 iptables 规则后,需要重新保存,可使用命令:
service netfilter-persistent save
安装和配置 DNS 缓存服务器和 DHCP 服务器
安装 dnsmasq
apt install dnsmasq
添加文件 /etc/dnsmasq.d/dhcp.conf,内容为:
dhcp-range=10.5.2.50,10.5.2.150,12h
使用如下命令重启 dnsmasq 使得 dhcp-range 配置生效:
service dnsmasq restart