以往,我们自己做家庭防火墙,使用的更多的是一台淘汰的台式主机加装一张网卡,安装上一个比较稳定的 Linux 发行版,然后稍作配置即可。不过现在有了树莓派,我们可以以更低的功耗、更小的空间实现这些功能,下面跟我们一起来折腾吧
安装 CentOS 系统
很多情况下,我们的软防火墙用的都是 CentOS 系统,因此我们在这里也给我们的树莓派安装了 CentOS 系统,我们需要先到这里下来 CentOS 针对 armhfp 架构的镜像(树莓派 2 代和 3 代所使用的镜像) ,然后解压缩你下载下来的压缩文件,然后使用下面的命令将 CentOS 系统的镜像写入你的 microSD 卡(推荐至少容量 8G )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<span class="geshifilter"><code class="bash geshifilter-bash"><em><span class="kw2">dd</span> <span class="re2">if</span>=CentOS-Userland-<span class="nu0">7</span>-armv7hl-Minimal-<span class="nu0">1511</span>-RaspberryPi2.img <span class="re2">of</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>sdx</em> </code></span> 在这个过程中一定要确定,你写入的设备是你的 microSD 卡,你可以先用 fdisk -l 命令查看一下你的设备当前安装的存储设备都有哪些,防止出现写错盘的问题。 <strong>初始配置 </strong>初始的时候最好不要将你的树莓派连接到外网,然后使用 root : centos 这个凭据登录到你的树莓派,OK,下一步马上改掉你的 root 用户的密码,然后在 /etc/hostname 文件里面设置你设备的主机名,然后参考 /root/README 中的说明,将你的 microSD 卡中没有被使用的存储空间划分到你的当前分区中。 然后你就可以将你的树莓派接入到你现在的网络中,安装我们需要的软件,比如 screen 、 vim 、 rwhois 、 mlocate 、 wget 、 bind-utils等等。安装完毕之后,我们就可以比较方便的通过 ssh 连接到我们的树莓派了。 <strong>设置第二张网卡 </strong> 由于我们计划将树莓派当作一个防火墙来使用,我们需要张额外的网卡,这里我们使用了一个 USB3.0 接口的千兆有线网卡,然后我们把这个新的网卡配置成了 eth1 , 然后将这个网卡的 IP 配置在我路由器的对应网段下,网关写我的路由器的 IP 地址,然后配上至少两个 DNS 服务器的信息。 <strong>更新系统,加点自己的菜 </strong>当配置完上面那些之后,现在是时候更新你的系统了,当更新完毕之后,你的树莓派防火墙就工作在最佳的状态了,这个时候可以考虑加点自己的菜,给自己的 bashrc 加点自己喜欢的别名、上传一些自己惯用的脚本。 <strong>同步时间 </strong>这个版本的 CentOS 默认并没有安装一个时间同步软件,所以我们要自己安装 chrony ,然后配置 chrony.conf 为 cn.pool.ntp.org 这个本地 ntp 服务器,然后设置 chrony 随机启动即可。 <strong>防火墙 </strong>然后就到了最重要的时候了,也是我们的目的所在,安装并配置防火墙,我们要先安装 iptables-services 和 iptables-utils,然后我们就可以通过配置 /etc/sysconfig/iptables 来添加我们的过滤和转发等等的规则了。 <strong>路由转发配置 </strong>当你到这一步的时候,说明你的树莓派已经可以作为一个防火墙工作了,但是现在你还不能通过它来转发你的请求,所以我们要将你内核的 IPV4 转发功能打开。为此,我们需要将 /etc/sysctl.conf 里的 net.ipv4.ip_forward 选项的值改成 1 ,然后执行 sysctl -p 使改动生效,这样我们就可以通过配置 iptables 来通过 NAT 转发来实现上网和防火墙的功能了。 |
参考文章:https://opensource.com/life/16/3/firewall-your-home-network-raspberry-pi 配置有改动
本文连接:http://www.linuxstory.org/raspberry-pi-to-be-your-firewall
转载请注明出处,否则必究相关责任。
谈谈我的实践教训。。 树莓派不支持USB3.0,而且总线速度超慢。实测Pi2作路由时,峰值网速只有1~2MB/s,链接VPN后跌至500KB/s。