在Raspberry Pi中使用域名,以使其可以从Internet访问。

更新 22 1 月 2020 - 0 注释 - , , , ,

ⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.

通常建议使用Raspberry Pi自托管各种服务,博客,电子邮件,服务器。但是谁说虚拟主机也说域名!

因此,在本教程中,我们将了解如何购买域名以及如何将其指向我们的Raspberry Pi,以使其可以从互联网轻松访问!

我们需要什么 ?

对于本教程,我们将需要一点:

  • 安装了Raspbian的功能正常的Raspberry Pi连接到互联网。
  • 每年花费几欧元购买一个域名的预算(稍后再介绍)。

请注意,在继续之前,请注意本教程将使您可以从任何互联网访问Raspberry
Pi。如果您保留了默认密码,不安全的应用程序等,则有被黑客入侵的风险。确保已采取所有必要的预防措施。

什么是域名,为什么我们需要它?

您知道,在Raspberry Pi FR中,我们并不是在这里为您提供一个简单的菜谱,而是向您解释事情的原理。在开始使用纯硬技术之前,让我们看一下什么是域名以及为什么域名对我们有用。如果您已经知道所有这些,请跳到下一部分。

如果您对互联网有所了解,就会知道每台机器都有所谓的IP地址。该IP地址是唯一的,可以将每台计算机与其他计算机区分开,从而与该单台计算机通信。

IP地址(版本4)如下所示,由0到255之间的4组数字组成,用句点分隔。

IP也有两种类型,公共IP和本地IP。第一个标识您在互联网上的身份,即您的盒子上的身份。第二个标识您的本地网络中的计算机。

IP地址的问题在于它们是密码套件。它对于计算机来说很容易处理,但是对于人类来说却很难记住!

找到的解决方案称为DNS,即域名系统。目的是提供对人类可读的符号:域名。

最后,这是一个域名,是人类识别IP地址和机器的一种可读方式!

如您所见,从技术上讲,如果没有域名就可以只使用IP地址,那实际上是不切实际的。我们甚至稍后会看到,在某些情况下这可能是完全不可能的。

现在我们已经掌握了域名的含义及其用途,让我们看看如何获得一个域名!

如何为您的Raspberry Pi获取域名?

这篇文章不是由任何注册商赞助的,我丝毫没有告诉您以下内容!

能够在Raspberry Pi上使用域名的第一步,从逻辑上讲就是购买域名。因为是的,所以域名不是免费的,因此可以出售和购买。

请放心,它确实不那么昂贵。域名的价格主要取决于所谓的扩展名,也就是说,跟在最后一个域名之后的价格 . 在名字里。

扩展或多或少地为人所知,或多或少地包含着内涵,并或多或少地激发了人们的信心。与人们可能想到的相反,最好的扩展不一定是最昂贵的!

总体而言,对于经典域名,每年最多可计10欧元。

一些最受欢迎的扩展。

如果不确定要选择哪个扩展名,请保持简单: .fr.com.info 要么 .org

现在价格问题已经解决,在哪里可以买到我们的域名还有待观察。嗯,域名是用法语用“注册商”或“域名注册机构”购买的。

法国或全球有很多注册商,价格非常相似。真正不同的是服务的质量和管理的简便性。

对我而言,没有可比较的选择OVH。该公司是法国人,因此将为您提供无可挑剔的法语界面和支持,OVH是欧洲乃至全球最大的公司之一,其管理界面非常简单。

另外,对于本教程的其余部分,将在OVH进行在注册商处执行的所有步骤,这很简单,因为这是我每天都在使用的步骤,包括本站点在内。因此,使用OVH选择域名将简化您的生活。

购买域名。

要购买您的域名,请访问网站https://www.ovh.com/fr/domaines/并在搜索表单中输入您感兴趣的域名。

您将到达一个页面,可让您检查所选域名的可用性。如果可用,请将其添加到您的购物篮中,否则,您将不得不找到另一个名称!

如果它是红色的,那就已经被拿走了!

下一页将为您提供其他优惠等类似的不同选项。取消选中“ Anycast DNS”框,这将是无用的,但请选中“ DNSSEC”框。选择报价中已包含的服务级别,然后继续。

无需任播,但选择DNSSEC。

下一页将为您提供虚拟主机,以完成域名报价。由于我们将直接在Raspberry Pi上托管,因此我们不感兴趣,因此请表明您不需要网络托管并继续。

我们不需要住宿。

您到达了订单的摘要页面,检查一切是否正常,然后继续。现在,如果您已经拥有一个OVH帐户,则必须登录,或者创建一个。

注册后,您将到达配置页,可让您定义与域名相关的各种操作的联系人(我会让您自己说),但首先是配置要使用的DNS服务器。选择使用“默认DNS服务器”,它将具有使用OVH的DNS服务器的效果。

继续,确认合同并继续付款。

现在,您必须等待域名创建,这通常需要几分钟。您可以通过在浏览器中键入域名并定期刷新页面来轻松查看域名是否已创建。名称通过验证后,您应该进入“恭喜!”由OVH。

在Raspberry Pi上配置固定IP,并使其可以从Internet访问。

在等待域名准备就绪的同时,我们将对Raspberry Pi和Box进行一些配置。

正如我们在本教程开始时的说明部分所看到的那样,有两种类型的网络和IP地址:公用和专用。

可以从Internet访问公用地址,也就是说,连接到Internet的任何人都可以向该地址发送请求,并且该地址可以接收该请求。

另一方面,专用地址只能在专用网络(即盒子的内部网络及其连接的设备)内部访问。只有专用网络内部的人才能将请求发送到专用网络中的其他地址。

如果我们做一个图,那么我们得到的是这样的:

在左侧的Internet上,在右侧的家庭网络上。

我们看到Raspberry Pi是我们专用网络的一部分,这意味着无法从Internet访问它。

由于我们的盒子是我们网络中唯一具有公共IP的设备,因此它是唯一可以接收来自Internet的请求的设备。因此,我们将必须对其进行配置,以使其将收到的请求重新传输到Raspberry Pi。

为此,我们将必须做两件事,在本地网络上为Raspberry Pi提供固定的IP(这将使盒子知道在本地网络中的位置),然后使用所谓的端口转发传输请求。

为Raspberry Pi提供固定IP。

为此,请遵循我们的教程,其中介绍了如何为Raspberry Pi提供固的本地IP。

启用端口转发到Raspberry Pi。

现在我们已经确定了Pi的IP,我们将必须配置端口转发(或英语使用者的端口转发),以将盒子收到的请求传输到Raspberry。

这样,通过我们的公共IP发送的任何请求都将直接发送到我们的Raspberry Pi。

转到框的管理界面。为此,您必须使用浏览器转到特定页面,该页面取决于您的ISP。

对于4个大型法国ISP,这是通常使用的地址,但是如果不能正常使用,则直接参考包装盒的手册,其中说明了如何访问配置/管理部分。有时,地址会显示在框的网络密钥旁边。

  • 橙色:http://192.168.1.1
  • SFR:http://192.168.0.1/
  • 免费:https://subscribe.free.fr/login/,连接并转到“我的自由箱”部分,然后单击“配置我的自由箱路由器”
  • Bouygues:http://192.168.1.254
在Red By SFR框上配置端口转发。

该过程的其余部分取决于每个操作员,因为界面在一个操作员与另一个操作员之间以及从一个盒子模型到另一个操作员模型上都不同。但总的来说,您总会发现以下几点:

  • 您必须以管理员身份登录。
  • 您必须转到路由器的配置部分。
  • 通常在高级设置中。
  • 然后在端口转发或端口转发部分。
  • 最后,为端口添加新的端口转发 165535,也就是说所有端口 TCP 和在 UDP,到我们之前定义的Raspberry Pi的IP地址。

在这里,我们已经打开了所有端口,以便于使用,理想情况下,您只应打开要暴露给外界的端口,以减少遭受攻击的风险!

您可以尝试通过从未连接到网络的设备(例如4G电话)以SSH方式连接到SSH的Raspberry,并用公共IP替换Pi的IP(请参见此处)来验证其是否有效

现在我们只需要将域名与我们的IP匹配即可!

使用DynDNS将域名指向Raspberry Pi的公共IP。

现在我们有了域名,而Raspberry Pi具有公共IP,我们要做的就是将第一个指向第二个。

为了将域名指向IP地址,我们在域名的“ DNS区域”中添加了一个所谓的“ Type A”记录,这是一种配置文件,可让您定义我们域名的行为。在“普通”服务器上,这就是我们要做的,但是在我们的情况下,事情要复杂一些。

与从专业人员那里租用的服务器不同,家庭连接通常具有动态IP。为了降低成本并能够更轻松地管理其可用IP的库存,访问提供商通常会在每次重新启动设备时为其分配一个新IP。

结果,如果我们只是将一个字段添加到我们的DNS中 A 指向我们当前的公共IP,下次我们重新启动/更改盒子的地址时,将无法访问我们的站点。因此,我们需要一种定期更新字段的方法 A 到我们盒子当前的公共IP。好消息,因为动态DNS有DDNS或DynDNS。

在我们的例子中,我们在OVH有一个域名,并且有一个Raspberry。因此,对我们来说最简单的方法是将OVH DynDNS服务与pi上托管的脚本一起使用。您会看到,它不是很复杂!

配置OVH DynDNS。

首先,连接到OVH配置文件并转到管理器的Web部件,在左列中单击“域”,然后单击您的域名以进入管理页面。

在OVH管理域的常规页面。

现在转到“ DNS区域”选项卡,查找类型的记录 A,然后将其删除。

然后,转到DynHost选项卡,然后单击“管理访问”,然后单击“创建标识符”。您将拥有一个包含4个字段的表格:

用于创建DynHost标识符的表格,该标识符将用于更新IP。
  • 用户名后缀:输入您想要的任何内容。
  • 子域:输入 *,这将验证所有可能的子域,包括不存在子域。
  • 密码和确认:选择一个强密码,脚本将使用它来授权IP修改。

创建标识符后,单击后退按钮,然后单击“添加DynHost”。 这次,您将必须填写两个字段:

该窗体创建一个DynHost。
  • 子域:保留空白以使用全局域名。如果您希望使用子域,则可以使用您选择的子部分来填充它。
  • 当前IP:输入您当前的公共IP,您可以在此处找到它。

现在,我们已经在OVH上配置了DynHost,我们将能够创建Raspberry Pi用来更新IP的脚本。

配置Raspberry Pi以使用DynHost OVH。

有几种更新DynDNS的方法。在我们的例子中,我们将创建一个脚本,该脚本每5分钟执行一次,将检索我们的公共IP,并向OVH发送请求以更新域名的IP。

为此,在我们的Raspberry上,我们将首先下载脚本 dyndns.sh 在文件中 /usr/local/sbin 并赋予它必要的权限,以便仅管理员可以读取和执行该权限:

sudo wget https://raw.githubusercontent.com/RaspbianFrance/dyndnsovh/master/dyndns.sh -O /usr/local/sbin/dyndns.sh
sudo chmod 700 /usr/local/sbin/dyndns.sh

现在,我们将修改脚本以填写我们自己的设置。为此,请以 rootnano 通过运行以下命令:

sudo nano /usr/local/sbin/dyndns.sh

在文件中,查找以下行:

DYNHOST_ID=''
DYNHOST_PASSWORD=''
DOMAIN_NAME=''

对于每行,请在 ' 以下信息:

  • DYNHOST_ID:您在OVH创建的DynHost标识符(这是格式的字符串 votrenomdedomaine.fr-xxxx)。
  • DYNHOST_PASSWORD:您为DynHost ID设置的密码。
  • DOMAIN_NAME:您的域名(如果定义了子域而不是使用全局域,则带有其子域)。

保存更改并通过运行以下命令验证脚本是否正常运行:

sudo /usr/local/sbin/dyndns.sh

您应该会得到如下回报 nochg 91.130.39.102 要么 good 91.130.39.102,而是使用您的公共IP。这两个返回指示已更新的IP或更新成功。

现在,我们要做的就是确保脚本每5分钟启动一次。没有什么比这更简单了,我们将使用 crontab,该软件在Linux上在后台运行,并且可以定期运行其他脚本。

为此,请运行以下命令:

sudo crontab -e

如果这是您第一次运行,则可能需要选择一个文本编辑器,然后选择适合您的文本编辑器(默认 nano)。

转到文件末尾并添加新行:

*/5 * * * * /usr/local/sbin/dyndns.sh > /dev/null 2>&1

保存更改,您的域名指向的IP地址将每5分钟更新一次。

结论

等待几分钟,然后转到OVH域名的DynHost部分。您应该看到与域关联的IP与您的IP相匹配。如果您设法更改盒子的IP(例如,通过重新启动它,取决于ISP),则应该在5分钟后看到它的更新。

您也可以尝试通过尝试使用域名(而不是IP)访问您的pi(例如在SSH中)来检查一切是否正常。

现在,您可以通过其域名在互联网上访问Raspberry Pi!

Notez cet article.
分享
通讯
作者:
Raspberry Pi FR
加入Raspberry Pi社区
一台售价35美元的计算机已经售出了1000万本
购买新的RASPBERRY PI 4
相关教程
使用Raspberry Pi和Python打开和关闭LED。 激活Raspberry Pi的TTL串行端口,并验证其是否正常运行。 使用码头沼泽创建树莓派群集 启动Raspberry Pi时如何运行程序? 学习使用Python 3和Raspberry Pi进行编程的入门课程。
没有评论

分享
订阅电子报
订阅新闻通讯。
你喜欢这篇文章吗 ?
订阅并保持最新状态!