简介
免责声明:本文面向消费者和爱好者。
如果你想在家里运行自己的路由器,树莓派4型号B1可以是一个优秀的硬件选择:
- 相当便宜
- 够快了
- 它可以饱和它的千兆网口
- 它是节能的
关键的问题似乎是,它只有一个,单网络接口。如果你构建一个路由器,你至少需要两个:
- 连接到网络调制解调器/路由器的第一个接口(理想情况下是网桥模式)
- 连接到家庭网络的第二个接口(可能是交换机)
因此,如果你要使用树莓派,你可能会花20美元左右买一个千兆USB3网卡,然后就不用它了。
现在,如果我告诉你你可以通过使用只有树莓派4的单板载网络接口?
这怎么可能?
引入vlan
是的,我在向读者介绍一种技术90年代就存在了.它被广泛应用于企业和其他组织。
因为我有一种感觉,这项技术在IT运营之外的圈子里不太出名,所以我认为这可能是一个有趣的话题。
理解vlan
VLAN技术允许您在同一条物理线路上和同一台交换机上运行不同的、独立的网络。如果您想要操作彼此分离的网络,这将节省大量的网络布线和所需的物理交换机数量。
如果您希望通过相同的物理线路或交换机运行来自不同网络的流量,如何识别这些不同的流量?
启用VLAN技术后,这样的网络“数据包”被标记为标签.由于VLAN技术在以太网级别上运行,所以我们不应该讨论“数据包”,而应该讨论“以太网帧”。欧宝体育直播官网我认为术语对于理解概念并不重要。
了解以太网帧前有一个标签就足够了,它告诉支持vlan到哪个网络的任何设备框架因此,一个包属于。
这样,网络上的流量流,就可以互相区分开来。这些标签并不花哨,它们被称为VLAN ID,它只是1到4096之间的一个数字2.
管理交换机
现在我们已经了解了vlan的概念,那么如何使用它呢?
首先,你需要一个管理支持vlan的网络交换机。
我能找到的支持VLAN的最便宜的交换机是TP-LINK TL-SG105E,大约25欧元或美元。这是一个5端口的交换机,但8端口的版本通常只多几欧元/美元。
Juan Pedro Paredes在评论中指出,这种TP-LINK交换机可能无法处理可能到达连接到互联网调制解调器的端口的大量ARP请求。在Hacker News的讨论中(链接如下),其他人欧宝体育直播官网对这一转变持否定态度。我不确定价格接近的Netgear交换机的表现是否更好。
这样的交换机有一个基于web的管理界面,允许您在设备上配置vlan。
有标签vs无标签
在vlan环境中,网络交换机端口有两种状态:
- 特定网络(VLAN)的成员(untagged)
- 多网络(vlan)传输(带标签)
如果一个端口只是VLAN的成员,它就像任何其他交换机端口一样。在这种模式下,它可以很明显只能是一个网络/VLAN的成员。VLAN标签将从该端口流出的所有网络流量中剥离。
然而,一个端口被分配了“带标签”的VLAN流量,只是按原样转发流量,包括它们的VLAN标签。
这是我们用来通过单个端口/线将来自不同网络(vlan)的网络数据包发送到树莓派路由器的技巧。
那么,让我们一起一步一步地解开这张图。
让我们想象一个来自Internet的(返回)包到达调制解调器并被发送到交换机端口1。
交换机知道该交换机端口上的任何流量都属于VLAN 10。由于此流量需要发送到Pi路由器,它将在数据包上添加标签并转发数据包,包括在交换机端口2上向Pi发送标签。
反过来,Pi被配置为与vlan一起工作,就像交换机一样。包装上的标签告诉Pi打开虚拟必须发送的接口。
一个netplan配置示例来说明这个设置:
网络:版本:2以太网:enp2s0f0:dhcp4:没有vlan:enp2s0f0.10:id:10链接:enp2s0f0地址:-68.69.70.71/24(假的互联网地址)gateway4:68.69.70.1(假的上游ISP路由器)enp2s0f0.20.:id:20.链接:enp2s0f0地址:-192.168.0.1/24(内部网络地址,代理作为网关)
正如您所看到的,作为带标签的数据包到达的VLAN数据包被发送(不带标签)到属于该特定网络的虚拟网络接口。这些虚拟网络接口都共享同一个物理接口(enp2s0f0)。虚拟网络接口只是物理接口的名称。(VLAN ID)”。
从这里开始,您可能会理解这是怎么回事:这两个虚拟网络接口基本上类似于带有两个物理网络接口的设置。所以所有需要发生的路由和NAT,都发生在这两个虚拟接口上。
如何使用vlan
要使用vlan,您需要一个管理支持vlan的交换机。托管交换机有一个管理界面,通常是基于web的管理界面。
在本例中,我以TP-LINK TL-SG105E交换机为例。通过web界面的“VLAN——> 802.1Q VLAN”进入该界面。
从这个表格中我们可以得出:
- 端口1是VLAN 10的untagged成员
- 端口2是VLAN 10和VLAN 20的tagged成员
- 端口3是VLAN 20的untagged成员
请注意,还建议从它们不使用的vlan中删除端口。所以我从默认VLAN 1中删除了端口1、2和3。
现在,如果您有更多的设备连接到这个交换机上的内部局域网,您需要将端口配置为VLAN 20的untagged成员。
警告
带宽的影响
显然,如果使用单个接口,则只能使用该接口的带宽。在大多数情况下,这不是一个问题,因为千兆以太网是全双工的:上行流量和下行流量都有物理专用布线。
因此,您可能会说全双工千兆以太网的原始吞吐量为2千兆/秒,尽管我们通常不会这样说。欧宝体育直播官网
因此,当您以200mbit /s的速度下载时,该流量将通过VLAN 10的传入流量路径摄入。然后通过VLAN 20发送到您的计算机。没有问题。
如果你还将树莓派用作备份服务器(附带一个外部硬盘驱动器),备份流量和互联网流量都可以在同一个千兆链路上“争夺”带宽。ob体育下载
对千兆互联网的影响
2022年6月更新我实际上能够在vlan上使用全千兆网速,大约111 MB/s。我在之前的测试中犯了一些错误。
你永远不会得到完整的千兆互联网网络速度,如果你建立这个设置。它可能最大达到~900兆。(我在这里假设你将使用x86硬件,因为Pi无论如何都无法处理这种流量防火墙。)
这是因为大多数流量是基于TCP连接的,当你下载时,流量是双向的!下载流量是流量的主要部分,但有大量稳定的返回数据包流向发送方确认已收到流量(如果没有,将触发重传)。
请记住,在这种单端口设置中,Pi使用相同的千兆端口通过VLAN 10将返回流量发送到互联网,并通过VLAN 20将下载数据发送到您的家用计算机。因此,上游流量的大小将限制您的最大下载性能。
树莓派4型号B作为路由器
最大的限制——对越来越多的人来说是一个问题——是性能。如果您在Linux上使用IPTABLES作为防火墙,根据我的经验,网络吞吐量下降到最大650 Mbit/s。
这只是一个问题(第一世界的问题),如果你有千兆比特的互联网,或者网速超过了Pi的处理能力。
如果你的网速连这个都达不到,这根本不是问题。
也许树莓派400或计算模块在这方面表现更好,因为它们的cpu的频率更高。
关闭的话
实现这个设置是否有意义,只由您自己决定。我已经运行这种设置(使用x86服务器)10年了,因为我无法从我的调制解调器连接到路由器所在的房间。为了更详细地了解我的家庭网络设置,看这里.
请在下方留下任何问题。
关于这篇文章的黑客新闻讨论欧宝体育直播官网可以在这里找到.
Route-on-a-stick
我从黑客新闻讨论中了解到,只有一个网络接口的路由器被称为路由器棍子上的路由器.