kire@net:~$ uptime desde 1998 • ddos: armado • vhosts: cargado • identd: activo • bouncer: en línea • bot: +o y protege #channel

$./vpn

Un shell no es un producto VPN.

Corre WireGuard desde la cuenta. Está permitido. Tenemos los recursos. Sigue siendo un login Linux, no un SKU de VPN. El login sigue siendo ssh user@kire.net. Los hostnames y las direcciones dan risa cuando hacen reverse.

Qué es esta página. Una comparación honesta: túnel SSH contra SOCKS contra WireGuard en un shell multi-tenant. Un modelo mental mínimo de un peer. Formas de config. Límites que no vamos a maquillar.

Para quién. Ya tienes un shell y una razón por la que un port forward no hace el trabajo. Si la razón es «quiero una VPN comercial», compra una VPN comercial. Si la razón es «el Wi-Fi del café odia IRC», empieza por ./ssh-forwarding y -D.

$why-a-kire-shell

Siempre encendido, DDoS delante, ident y vhost ya resueltos. La tapa de tu portátil sigue sin ser infraestructura. Nada de eso convierte la cuenta en un nodo de salida para el barrio.

$cheat-sheet

herramientaqué hacecuándo usarlo
SSH -Lun puerto TCP a través de la sesiónun servicio, un trabajo
SSH -DSOCKS, las apps eligennavegador, cliente IRC que habla SOCKS
SSH TUN / -wcapa 3 vía SSHrara vez. TCP sobre TCP. dolor
proxy TLSenvolver o terminar un puerto./proxies
WireGuardoverlay UDP, AllowedIPs es la políticacuando de verdad necesitas una red, no solo SOCKS
VPN userspacesin módulo de kernel, más CPUsi el WG de kernel no está. sé educado en una caja compartida

$for-beginners

SSH -L mueve un puerto. SSH -D es un proxy SOCKS: cada app elige usarlo. WireGuard es un túnel UDP punto a punto (o hub-and-spoke) con una tabla de routing cryptokey. AllowedIPs es esa tabla. Piensa «un peer, un /32» antes de pensar «full tunnel 0.0.0.0/0».

Un túnel basta cuando el cliente habla SOCKS o solo necesitabas un puerto. Una VPN full tunnel es como haces un agujero negro de la sesión SSH con la que levantaste la VPN. Hace gracia una vez.

WireGuard de kernel necesita un módulo y, normalmente, privilegios que un shell compartido no te da. No prometemos CAP_NET_ADMIN. No prometemos modprobe wireguard. Las implementaciones userspace existen y queman más CPU. En una caja multi-tenant eso es cortesía, no un flex.

Mira la AUP y pregunta al staff antes de que esto sea un nodo de salida, una VPN familiar o una historia de ancho de banda. Nada de VPN de ancho de banda ilimitado. Nada de «le apunté toda la casa».

$for-people-who-already-know-the-flags

Si wg / wg-quick no están, para. Compila en $HOME solo si ya sabes que tienes permiso para crear un dispositivo tun. Las direcciones de abajo son ejemplos, no una asignación.

El shell como peer «servidor»

# /home/user/wg0.conf  — example only
[Interface]
Address = 10.13.37.1/24
ListenPort = 51820
PrivateKey = SHELL_PRIVATE_KEY
# MTU = 1280

[Peer]
PublicKey = LAPTOP_PUBLIC_KEY
AllowedIPs = 10.13.37.2/32

El portátil como peer cliente

[Interface]
Address = 10.13.37.2/24
PrivateKey = LAPTOP_PRIVATE_KEY
# DNS = ...   # set it on purpose or not at all

[Peer]
PublicKey = SHELL_PUBLIC_KEY
Endpoint = shell.kire.net:51820
AllowedIPs = 10.13.37.1/32
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 es como pierdes el camino SSH hacia el endpoint salvo que hagas policy-route de la dirección real del shell fuera del túnel. Añade un /32 (y /128) para kire.net / la IP asignada vía ip rule / Table / FwMark antes de levantar el full tunnel. Si no sabes cómo, no hagas full tunnel.

IPv6: hazlo a propósito o déjalo fuera. Un camino v6 a medias es una fuga de DNS con pasos de más. DNS: si el túnel está arriba y el stub resolver sigue hablando con el café, se te fugó. Si solo habla por el túnel, más te vale poder seguir haciendo SSH.

Keepalive 25s es el encanto NAT de siempre. MTU: empieza conservador (1280) si se atasca. Los agujeros negros de ICMP siguen existiendo.

Userspace contra kernel: el kernel sale más barato. El userspace (wireguard-go, boringtun, etc.) va a salir en top. Shell compartido. Sé aburrido. Un peer. AllowedIPs pequeños. Nada de tránsito para los amigos.

$dont

  • Salida VPN pública. NAT de barrio. «Mis amigos de Discord pasan por KIRE.» No.
  • Open proxy con otro nombre. Mining. Scanners. Servicios que no son tuyos.
  • Dar por hecho root, módulos o CAP_NET_ADMIN.
  • Full tunnel sin un bypass para el endpoint SSH.

Si este párrafo te sorprendió, usa SSH -D y sal fuera.

$smaller-tool

túnel SSH · proxy TCP/SSL · WireGuard. La herramienta más pequeña que resuelve el trabajo. Normalmente no es WireGuard.