概述

家里的 NAS 因为位置不好放,又不想乱拉网线,所以一直没有连接路由器,最近把闲置的树莓派挖出来用了,所以就想能不能用树莓派作为一个中继,连接 Wifi 和有线网络,这篇文章就记录一下我的操作。

其实实现这么一个功能很简单,主要是实践过程有问题的话第一次定位比较麻烦,但是上手之后就没啥问题了。这里想说一下我的思路,首先 NAS 与树莓派之间用网线直连,然后树莓派再通过 Wifi 连接路由器,然后我不准备让路由器的局域网中的其他机器访问 NAS,但是可以通过运行在树莓派上的应用来浏览 NAS 上的东西,例如照片啥的,也可以通过树莓派上的应用来上传东西。

环境信息

NAS 树莓派相连

设置树莓派网络

首先,因为我是将树莓派和 NAS 直连,其中树莓派作为网关,所以先设置树莓派的有线网卡地址:

[[email protected]] ifconfig eth0 192.168.1.1/24

对,就是这么简单,我没用其他复杂的配置。

设置 NAS 网络

NAS 设置网络也差不多,但是需要额外加一个默认网关,所以我就以配置文件的方式来了:

[[email protected]] cat /etc/sysconfig/network-scripts/ifcfg-enp1s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="3b42969b-bb5b-4745-b1a7-4158246cad3b"
DEVICE="enp1s0"
ONBOOT="yes"
IPADDR="192.168.1.2"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="114.114.114.114"
DNS2="223.5.5.5"
IPV6_PRIVACY="no"

这样,直连的网络就算是可以了,此时你可以在 NAS 上访问树莓派了,但是 NAS 还没法访问外网(更新系统之类的)。

树莓派转发设置

NAS 需要连接外网,那么就要树莓派提供 NAT 支持,这个也简单,但是需要先打开树莓派的转发功能,以及最重要的,树莓派要自己可以连上外网!我是直接通过初始化树莓派的时候连上了 Wifi,所以这里也没操作了,接下来就是转发的配置:

[[email protected]] sudo echo "1" > /proc/sys/net/ipv4/ip_forward
[[email protected]] sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0 -j SNAT --to 10.0.0.88

这里的子网你就设置成直连的哪个子网,然后最后的 IP 就设置成树莓派的 WIFI IP,这样就可以了,此时就可以在 NAS 上访问到外网更新系统和安装软件了。