Passeio por Akihabara e obtendo um IPv6 global com Starlink + OpenWrt

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

Olá, aqui é o Munou.

Finalmente obtive um endereço IP global usando o modo Bypass do Starlink, algo que eu vinha prometendo fazer há muito tempo____.

Passeio por Akihabara

Passei por algumas lojas de sucata, mas não encontrei nada de interessante e continuei vagando.

Os SSDs ficaram caros, não? Como também coleciono PCs antigos, tenho dezenas de SSDs de centenas de GiB, então pensei que não precisava de nenhum agora, mas me arrependi de não ter comprado SSDs de TB quando estavam baratos.

A alta dos semicondutores continua, eu acho.

8bf63b43e1b56c78

cd7d763f2e3c1dfc

88bfa08b05b057f8

E então, achei que algo parecia barato...

a23ec3f83c3f8d11

Oh?

Ao pesquisar:

  • Qualcomm IPQ5018 2Core

  • RAM 512MB

Parece que, apesar de ser um modelo relativamente recente, ele suporta OpenWrt.
[OpenWrt Wiki] Techdata: Linksys MX2000

Não entendo mais muito de SoCs de roteadores, mas como é Dual Core, achei que estava bom... foi nesse impulso.
Não existem muitos roteadores compatíveis com OpenWrt por menos de 10.000 ienes que venham com 512MB de RAM, então decidi comprar.

Linksys MX2000

23168c31b4b96c74

e13eeaf0cd541987

Pequeno e fofo. Possui 4 terminais RJ45: 3 portas LAN e 1 WAN.
Então, instalei o OpenWrt. Este artigo foi muito útil por resumir tudo de forma bem simples.
Linksys MX2000 - OpenWrt

Instalei a imagem disponível no Wiki oficial do OpenWrt.
Para gravar a imagem de sysupgrade, eu simplesmente fiz o upload através da interface web LuCI.

Fiz o seguinte para concluir as configurações básicas:

  • Permitir apenas SSH com chave pública

  • Negar SSH pelo lado da WAN

  • Ajustei um pouco os parâmetros do kernel

  • Reativei e configurei o Wi-Fi, que estava desativado por padrão

  • Ativei o irqbalance

etc.

O uso de memória foi mais ou menos o esperado, já que eu tinha verificado que haveria folga no FreeBSD.

~# free -h
              total        used        free      shared  buff/cache   available
Mem:         442860      203588      180296        2224       58976      186768
Swap:             0           0           0

Com isso feito, as configurações mínimas terminaram. Conectei ao Starlink, ativei o modo Bypass para desativar as funções de roteador do Starlink e passei a usar outro roteador, neste caso o MX2000 com OpenWrt.

Distribuindo endereços IPv6

Não farei nada com IPv4, pois sei que é impossível devido ao endereço compartilhado CGNAT.

/etc/config/network

~~omitted~~
config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        list ipaddr '192.168.1.1/24'
        option ip6assign '64'

~~omitted~~
config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'

Depois disso, basta verificar o endereço IPv6 no lado do cliente com o seguinte comando:

ip -6 addr

Com isso, testei permitindo uma página HTTP em uma porta específica via endereço IPv6 no OpenWrt e funcionou, então está concluído.

O que resta é anunciar periodicamente o endereço IP deste roteador, vinculá-lo a um registro AAAA e configurar um servidor WireGuard.
Dessa forma, basta especificar o domínio vinculado ao registro AAAA como o endpoint do servidor no cliente WireGuard para se conectar ao servidor WireGuard de casa.

A vantagem disso é não precisar se preocupar com limites de banda; atualmente tenho um servidor WireGuard hospedado na ConoHa, mas a banda é limitada a no máximo 100Mbps. Na verdade, como é uma conexão Starlink, a diferença de velocidade nem importa mais...

Na verdade, achei a implementação mais fácil do que esperava, e a operação via WebUI é bem intuitiva.
Entendi um pouco o sentimento de quem compra um roteador compatível com OpenWrt de propósito para instalar o sistema, em vez de apenas fazer isso para prolongar a vida útil de um roteador antigo.

Related Posts