我刚刚获得了加拿大贝尔公司的光纤互联网连接(Fibe 50-50),取代了旧的、缓慢的、不再可靠的 ADSL 连接。
我有一个家庭办公室,我使用 VPN、DHCP 预留、DDNS 服务等。Bell 提供的路由器不支持所有这些功能。我想绕过他们的 Home Hub 2000 并使用我自己的路由器。
我在网上发现,ONT(光网络终端 - 一端接收光纤,另一端提供 WAN RJ-45 以太网端口的设备)使用 PPPoE 协议工作,就像旧的 ADSL 调制解调器一样。
因此,我尝试使用正确的用户 ID 和密码将我自己的路由器的 WAN 端口连接到它。没有运气。它不起作用。Bell Home Hub 2000 路由器中可能隐藏了一个自定义设置。
如何使用我选择的路由器连接到 Fibe?
答案1
经过一些 wireshark 和一些头发脱落后,我明白了为什么普通路由器无法绕过 Bell 提供的糟糕透顶的 Sagemcom Home Hub 2000 路由器,而是通过安特卫普使用 PPPoE。这是因为 Bell 路由器通过802.1Q VLAN! VLAN ID #三十五,确切地说。基本上,在发送之前,需要将数字 35 添加到每个数据包的开头。如果没有这个额外的数字,Bell 就会忽略你。
因此,要自己做这件事:
- 将您的计算机/路由器直接连接到 ONT 的以太网端口。
- 使用802.1Q VLAN 35。
- 使用 PPPoE。
大多数民用路由器(包括我的 Linksys EA6300v1)都不支持 802.1Q,所以你还是有点麻烦,除非你安装定制固件、购买更好的路由器,或将 ONT 直接连接到计算机。(或者,如果您要使用的路由器不支持 802.1Q,您可以使用管理型交换机。 看用户1686的评论) 即使您的路由器确实支持 802.1Q,设置说明也会因路由器而异,所以我无法为您提供进一步的帮助,但有了上述三条信息和支持 802.1Q 和 PPPoE 的硬件,您应该能够完成它。
在 Linux 中
这是在 Linux 中设置的方法。同样,您必须将 Linux 计算机 (/router) 直接连接到 ONT 的以太网端口。您将需要命令ip
(由 iproute2 提供,如果您还没有的话)和rp-pppoe
。将其替换enp3s0
为您的实际接口名称。所有命令都必须以 root 身份运行。
首先必须创建 VLAN:
# ip link add link enp3s0 name enp3s0.35 type vlan id 35
这将创建一个名为 enp3s0.35 的新虚拟网络接口。该接口上发送的所有流量都将封装到 VLAN id 35 中,然后再发送到 enp3s0。
现在,您需要配置rp-pppoe。修改/etc/ppp/pppoe.conf
,更改以下几行:
ETH=enp3s0.35
[email protected]
现在,修改/etc/ppp/pap-secrets
,添加以下行:
[email protected] * your_ppp_password
现在,您可以使用 启动 pppoe pppoe-start
。如果成功,该命令应在几秒钟后返回。您也可以使用 检查ip a
。应使用您的全局 IP 创建一个新接口ppp0
。停止它的命令是pppoe-stop
。以下是成功启动和停止的示例:
[user@host ~]% sudo pppoe-start
. Connected!
[user@host ~]% ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:21:70:71:82:b9 brd ff:ff:ff:ff:ff:ff
3: enp3s0.35@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:21:70:71:82:b9 brd ff:ff:ff:ff:ff:ff
inet6 fe80::221:70ff:fe71:82b9/64 scope link
valid_lft forever preferred_lft forever
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
link/ppp
inet 70.27.234.242 peer 10.11.2.201/32 scope global ppp0
valid_lft forever preferred_lft forever
[user@host ~]% sudo pppoe-stop
Killing pppd (4102)
Killing pppoe-connect (4080)
ip link
在启动时自动运行和命令的方法pppoe-start
将因您的发行版而异。同样,我无法在这里为您提供更多帮助。路由器和防火墙发行版应该对所有这些东西都有很好的支持。systemd-networkd 在启动时支持 802.1Q 设置。并且您的发行版的 rp-pppoe 包很可能也带有在启动时自动启动它的方法,但您可能需要对其进行修改,禁止它在 802.1Q 接口启动后启动。
一旦 802.1Q 和 PPPoE 在启动时自动启动,就可以安全地将 Bell 路由器点燃。如果这样做,请在通风良好的地方进行,然后给我发一张照片。不要将 ONT 点燃。
奖励回合:openwrt/ea6300v1
正如之前提到的,openwrt 不会遇到奇怪的配置问题——这确实是它的特色。即使你的路由器不支持 802.1Q,在安装 openwrt 后,它很有可能会支持。这是/etc/config/network
对于我的 ea6300v1:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fc00::/48'
config interface 'lan'
option type 'bridge'
option ifname 'eth0.1'
option proto 'static'
option ipaddr '10.0.0.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option ifname 'eth0.35' # <----
option proto 'pppoe' # <----
option username '[email protected]' # <----
option password 'your ppp passphrase' # <----
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 5t'
config switch_vlan
option device 'switch0'
option vlan '35' # <----
option ports '4t 5t' # <----
我把# <----
所有需要修改才能使 Bell Fibre 正常工作的线路都放在旁边。在最后一行中,我t
向端口 4 添加了一条,告诉交换机使用 802.1Q 标签标记从端口 4(WAN 端口)出来的所有内容。所以这t
应该在那里。这不是错误。
对于您的消费级路由器,该过程(可能)非常相似。请记住,不同的路由器使用不同的交换机架构和端口编号,因此您可能需要真正考虑一下。例如,您的 WAN 端口可能是端口 0 — 而不是端口 4。因此,绝对不要复制和粘贴,除非您的路由器实际上是 ea6300v1。我相信你。
答案2
不确定这个问题是否仍然相关,但仍然想分享我的调查结果。
我刚刚从有线 ISP 切换到 Bell Fibe,用于电视和互联网。Bell 在我所在地区仍未提供光纤入户服务,因此仍然属于某种 DSL 类型的连接。Bell 提供了 HUB2000 集成调制解调器/路由器。该设备非常用户友好,但所有高级网络功能均被阻止......正如预期的那样。
我已经像我以前的互联网提供商一样设置了整个网络(Videotron 只提供了电缆调制解调器),并且我想保持相同的配置(防火墙、IP 等)。
这就是我所做的:
- 电视接收器通过网线连接到 HUB2000 LAN 端口(按照原始 Bell 设置)
- HUB 2000 连接到电话线,充当 DSL 调制解调器(按照原始设置)
- 我的 MikroTik 路由器的 WAN 端口连接到 HUB 2000 的一个 LAN 端口。现在这里有个窍门,在我的 Mikrotik WAN 配置中,我实际上使用 PPPoE 客户端而不是 DHCP 客户端,并使用 Bell 为我的互联网帐户提供的凭据(b1xxxx 用户和密码)。
通过这种配置,我的路由器从 Bell 获取外部 IP,因此 HUB2000 充当桥梁。
下一步,我已禁用 HUB2000 上的 WIFI,并重新使用我本地网络中的其他接入点。因此所有客户端都在同一个防火墙后面。
上述操作不会影响电视接收器,也无需对 HUB2000 或电视接收器进行任何更改。我还让 DHCP 在 HUB2000 上运行。
概括:
- 我不需要对电视接收器或路由器 (HUB2000) 进行任何更改
- 我没有失去 HUB2000 上的 WIFI,它仍然可以使用,我可以通过 WIFI 连接到互联网
- 当我使用 PPPoE 客户端连接时,我的家庭路由器就从 HUB2000 的 DHCP 租约中消失了,因为它不再从 HUB2000 DHCP 服务器获取 IP
HUB2000 通过其自己的 PPPoE 连接保持与互联网的连接。所以现在我有 3 个不同的外部 IP 分配给:
1.电视
2.HUB2000的WAN口
3.我的 Mikrotik 的 WAN 端口
MikroTik 在 HUB2000 上不可见,反之亦然。
- 当然,您必须在路由器上运行 FW、DHCP 服务器和其他所需的任何东西,因为 HUB2000 不再妨碍您。
我希望这能有所帮助:+)
答案3
我在与 Bell 的某位非客户技术支持人员交谈中得到了部分答案。我太幸运了!与 BELL 加拿大的某位技术人员交谈是极其罕见的。我靠猜测找到了其余答案,以下是整个方法。将 FTTU RJ45 端口连接到 BELL Home 2000 WAN 端口。使用 BELL 给您的 1B ID 和密码配置 BELL 2000 FIBER 端口(建议如此)。然后将 4 个 BELL 2000 路由器 LAN 端口之一连接到您自己的路由器 WAN 端口。使用您在 BELL 2000 中输入的完全相同的 1B ID 和密码,将您的路由器的 WAN 配置为 PPPOE。将其他所有 BELL 2000 设置保留为默认值。(DHCP 已启用 ==> 对电视非常重要)。这听起来很疯狂,但这样,BELL 2000 就可以充当直通端口,并且您的 LAN 上的任何 DHCP 请求都将被您自己的路由器捕获。
现在棘手的部分是让电视终端从 RJ-45 端口工作。如果我将它连接到路由器,它根本不起作用。电视终端抱怨看不到“电视信号”。我发现的诀窍是将电视终端连接到第二个 BELL 2000 LAN 端口。非常奇怪的是,它完全杀死了我路由器上的 WIFI 网络。我猜它以某种方式唤醒了 BELL 2000 中的某些东西,然后出现了冲突。最后的解决办法是禁用 BELL 2000 WIFI 接口,尽管它的 SSID 与我的不同。
这就是我如何通过高级路由器将完整的本地网络连接到互联网,该路由器还带有电视以及 FIBE 互联网连接。
有趣的是,BELL 2000 路由器的 IP 地址为 192.168.2.1。我自己的路由器也有相同的地址,似乎没有发生任何冲突。事实上,我的路由器在本地网络上看不到 BELL TV(这对我来说没问题)。看起来 BELL 2000 只是将任何数据包直接传递到我的路由器和从任何 IP TV 直接传递到电视终端,并将其视为两个不同的子网。
希望它能帮助其他人。