3) 给你的树莓派设置一个家庭网络的静态地址在之前(第一步)找到的树莓派的IP地址现在是可以连接的,但是不能保证你的路由器会一直给你的树莓派分配一个永久固定的IP地址。这意味着在你网段中的其它计算机无法知道树莓派被分配了什么IP地址。那么如何来给树莓派分配静态的IP地址而不是每隔几天就在树莓派上执行“sudo ifconfig”命令,或者糟糕到每隔几个小时一次? 显然,我们要从“ifconfig”命令开始,所以输入:
拿出笔和纸做准备,记录下面的三个IP地址。(#后面的代码是注释,实际不会显示.):
此外,你还需要知道另外2个信息。请输入以下命令获取网关和目的地址(译注:实际上我们只需要知道默认网关的IP就行了)。
接下来,去查看你路由器上的配置。(如何进行这一步主要取决于你用什么路由器,所以还是查看下说明书吧)找出你的设备通过DHCP设置了哪段ip地址。有些地址是不能使用的,因为DHCP协议中已经分配使用了。所以要选择没有被使用的,例如,192.168.2.2。你的路由器也许可以让你保留一个未使用的IP地址,固定分配给像树莓派这样的本地设备。(如果你的路由器是Belkin,那大概就是这样)如果是这样的,那就不用看下面的部分了。 如果不能固定分配,你需要让树莓派知道它的新的ip地址。我们通过nano编辑器来编辑树莓派中相关的文件。
将“iface eth0 inet dhcp”这一段修改成“iface eth0 inet static”,也就是将动态获取IP修改成静态IP。 接下来输入如下,将下列X取代成你之前所记下来的地址信息。最上面的地址是我们将要把DHCP中没有使用的IP地址分配作为树莓派的静态IP地址。
使用“sudo reboot”的命令重启树莓派系统后,在命令行再次输入“ifconfig”,我们刚刚新设置的静态IP设置就会呈现。 4) 端口转发至树莓派一些树莓派程序可能需要你转发一个特定的网络端口号到你的树莓派。端口是信息在互联网传送的虚拟路径。有时候你需要转发一个端口来使像树莓派这样计算机可以被互联网访问,即使它在路由器后面。这种情况有点像拨电话分机号一样。 端口转发能够用于像树莓派网页服务器,树莓派的VOIP或者简单的点对点下载。有超过65000个端口可供选择,你可以分配不同的端口给不同的树莓派项目用来进行通信。 某些端口默认情况下代表着特定的应用。例如80端口默认为HTML页面,21端口默认代表FTP传输,1194端口默认用于设置VPN服务器。所以大多数情况下,你应该选择默认的端口提供服务。 设置端口转发的方法完全取决于你的路由器,于是很难创建一个固定的关于设置端口转发教程。你只能阅读你路由器的说明书来定义端口和转发了。 下面链接了几个主流路由器厂商的端口转发教程。 5) 在互联网上给你的树莓派设置静态地址再次声明,如果你的运营商给了你一个静态IP,你就不需要看这个部分了。 我们已经给树莓派设置了一个静态的内部IP地址,这意味着在你的内部网络中总是能够连到你的树莓派。但是如果程序需要树莓派连接到互联网呢?如果你想要在你的树莓派上搭建一个Web服务器,在你网络之外的人们需要知道你的树莓派在哪里,这意味着我们要来设置一个像静态IP的公开地址。 我之所以说“看起来像”是因为我们已经设置了一个伪静态IP地址。通常,你所在的运营商将会不断变换分配给你的地址。所以每一次有人连接到你的树莓派时,我们就要写个脚本说:“树莓派已经搬家了,让我带你去新的地址吧! ” 我们可以通过DDNS(即动态DNS)来实现,它实时维护名字解析,并通过 DDClient 程序通知DDNS修改指向到你的树莓派。 首先需要注册一个类似DNS Dynamic的动态主机服务。根据指示并创建新的名称服务器类似Yourserver.dnsdynamic.com. 接下来进入树莓派中的命令行,使用下面命令来安装DDNS客户端:
我们需要编辑DDNS客户端配置,使用新的名称服务器:
每种服务配置都会有略微的不同,但是DDNS的网站会告诉你需要在配置文件中修改的内容。一个标准的DDNS配置,举个栗子,如 DDNS配置,可以直接复制粘贴。 你的运营商不会因为你的这个文件而停止更新给你分配的IP地址,因此我们在脚本的最前面设置一个守护进程执行的频度,以确保及时检查IP地址是否已经更改。
这里设置的是每10分钟检查一次,这是一个不错的选择。如果你设置成每秒钟检查一次,你的动态服务器恐怕不干,因为这样对它来说是一种轰炸。记得按下ctrl+x保存并退出配置文件。 接下来,输入:
如上输入程序的名称就可以运行了。当你的树莓派开着的时候就会持续运行了。如果你重启树莓派,键入 “ddclient”就会重新开始运行了。 现在你的树莓派已经被装修一番,可以迎接更高级的教程了,请从中获得更多乐趣吧! 关于作者:本文的美女作者:Lauren Orsini是一个专业记者、业余程序员和全职宅女,她住在饱受交通之苦的Arlington, VA。 |