Passeio por Akihabara e obtendo um IPv6 global com Starlink + OpenWrt
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.



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

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


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 0Com 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 addrCom 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.