Depois de um pouco de "wiresharking" e alguma perda de cabelo, descobri por que os roteadores regulares não podem ignorar o terrível roteador Sagemcom Home Hub 2000 fornecido pela Bell, conectando-se diretamente ao Bell através do
ONT usando PPPoE. É porque o roteador Bell se conecta aos servidores da Bell através de uma
802.1Q VLAN ! VLAN id #
35 , para ser exato.
Então, faça você mesmo:
- Conecte seu computador / roteador diretamente à porta ethernet do ONT.
- Use 802.1Q VLAN 35 .
- Use PPPoE.
A maioria dos roteadores civis (incluindo o meu Linksys EA6300v1) não suporta o 802.1Q, então você ainda está meio que estragado, a menos que você instale firmware personalizado , obtenha um roteador melhor ou conecte o ONT diretamente a um computador. (Alternativamente, se o roteador que você deseja usar não suporta 802.1Q, você pode fazer o bit 802.1Q usando um switch gerenciado . Consulte comentário de Grawity .) Mesmo que o seu roteador suporte 802.1Q, as instruções de configuração vão variar de roteador para roteador, então eu não posso ajudá-lo , mas com essas três informações acima e hardware que suportam 802.1Q e PPPoE, você deve ser capaz de fazê-lo.
No Linux
É assim que você configura isso no linux. Novamente, você deve ter seu computador linux (/ roteador) conectado diretamente à porta ethernet do seu ONT. Você precisará do comando ip
(fornecido pelo iproute2, caso ainda não o tenha) e rp-pppoe
. Substitua enp3s0
pelo seu nome de interface real. Todos os comandos devem ser executados como root.
Primeiro você tem que fazer a VLAN:
# ip link add link enp3s0 name enp3s0.35 type vlan id 35
Isso cria uma nova interface de rede virtual chamada enp3s0.35. Todo o tráfego enviado nessa interface será encapsulado em VLAN id 35 antes de ser enviado em enp3s0. O que realmente acontece é basicamente que o número 35 será adicionado a cada pacote antes de ser enviado. Sem esse número extra, Bell irá simplesmente ignorar você.
Agora, você precisa configurar o rp-pppoe. Modifique /etc/ppp/pppoe.conf
, alterando as seguintes linhas:
ETH=enp3s0.35
[email protected]
Agora, modifique /etc/ppp/pap-secrets
, adicionando a seguinte linha:
[email protected] * your_ppp_password
Agora, você pode iniciar o pppoe usando pppoe-start
. Se funcionar, o comando deve retornar após alguns segundos. Você também pode verificar usando ip a
. Uma nova interface deve ser chamada de ppp0
com seu IP global. O comando para pará-lo é pppoe-stop
. Veja um exemplo de início e parada bem-sucedidos:
[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)
O método de execução dos comandos ip link
e pppoe-start
automaticamente na inicialização varia com a sua distribuição. Mais uma vez, não posso ajudá-lo mais aqui. As distribuições de roteador e firewall devem ter um bom suporte para todas essas coisas. O systemd-networkd suporta configurações 802.1Q na inicialização. E é bem provável que o pacote rp-pppoe da sua distro tenha sido iniciado automaticamente, mas você pode precisar modificá-lo, proibindo que ele inicie até que a interface do 802.1Q esteja ativa.
Uma vez que você tenha 802.1Q e PPPoE iniciando automaticamente na inicialização, agora é seguro configurar seu roteador Bell em chamas. Se fizer isso, faça-o em uma área bem ventilada e envie-me uma foto. Não coloque fogo no ONT.
Rodada de bônus: openwrt / ea6300v1
Como foi mencionado antes, openwrt não tem problemas com configurações estranhas - isso é o tipo de coisa, na verdade. Mesmo que o seu roteador não suporte 802.1Q, há uma boa chance de que ele apareça depois de ter instalado o openwrt. Este é o /etc/config/network
para meu 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' # <----
Eu coloquei # <----
ao lado de todas as linhas que eu tive que modificar para que o Bell Fiber funcionasse. No último, adicionei um t
à porta 4, informando ao switch para marcar tudo que sai da porta 4 (a porta WAN) com tags 802.1Q. Então, t
deveria estar lá. Não é um erro.
O processo (provavelmente) será muito semelhante para o seu roteador de nível de consumidor. Tenha em mente que roteadores diferentes usam diferentes arquiteturas de comutação e numeração de portas, então você pode ter que pensar um pouco nela. Por exemplo, talvez sua porta WAN seja a porta 0 - não a porta 4. Portanto, definitivamente não copie e cole, a menos que, por alguma coincidência selvagem, seu roteador seja, na verdade, um ea6300v1. Eu acredito em você.