kire@net:~$ uptime seit 1998 • ddos: scharf • vhosts: geladen • identd: an • bouncer: online • bot: +o und schützt #channel

$./vpn

Eine Shell ist kein VPN-Produkt.

WireGuard vom Account aus fahren. Das ist erlaubt. Wir haben die Ressourcen. Es ist trotzdem ein Linux-Login, kein VPN-SKU. Login bleibt ssh user@kire.net. Hostnames und Adressen bringen Lacher, wenn sie reverse auflösen.

Was diese Seite ist. Ein ehrlicher Vergleich: SSH-Tunnel gegen SOCKS gegen WireGuard auf einer Multi-Tenant-Shell. Ein minimales Ein-Peer-Modell. Config-Formen. Limits, die wir nicht übertünchen.

Für wen. Du hast schon eine Shell und einen Grund, warum ein Port-Forward die Aufgabe nicht kann. Wenn der Grund „ich will ein kommerzielles VPN“ ist, kauf ein kommerzielles VPN. Wenn der Grund „Café-WLAN hasst IRC“ ist, fang mit ./ssh-forwarding und -D an.

$why-a-kire-shell

Immer an, DDoS davor, ident und vhost schon erledigt. Der Deckel deines Laptops ist weiter keine Infrastruktur. Nichts davon macht das Konto zu einem Exit-Node für die Nachbarschaft.

$cheat-sheet

werkzeugwas es tutwann
SSH -Lein TCP-Port durch die Sessionein Dienst, ein Job
SSH -DSOCKS, Apps optierenBrowser, IRC-Client der SOCKS spricht
SSH TUN / -wLayer-3 über SSHselten. TCP-über-TCP. Schmerz
TLS-Proxyeinen Port wickeln oder beenden./proxies
WireGuardUDP-Overlay, AllowedIPs ist die Policywenn du wirklich ein Netz brauchst, nicht nur SOCKS
Userspace-VPNkein Kernelmodul, mehr CPUwenn Kernel-WG nicht da ist. sei höflich auf einer geteilten Kiste

$for-beginners

SSH -L bewegt einen Port. SSH -D ist ein SOCKS-Proxy: jede App entscheidet selbst. WireGuard ist ein Punkt-zu-Punkt- (oder Hub-and-Spoke-) UDP-Tunnel mit einer Cryptokey-Routingtabelle. AllowedIPs ist diese Tabelle. Denk „ein Peer, ein /32“ bevor du „Full-Tunnel 0.0.0.0/0“ denkst.

Ein Tunnel reicht, wenn der Client SOCKS spricht oder du nur einen Port brauchtest. Full-Tunnel-VPN ist, wie du die SSH-Session schwarzlochst, mit der du das VPN hochgebracht hast. Das ist einmal lustig.

Kernel-WireGuard braucht ein Modul und meist Rechte, die eine geteilte Shell dir nicht gibt. Wir versprechen nicht CAP_NET_ADMIN. Wir versprechen nicht modprobe wireguard. Userspace-Implementierungen gibt es, und sie verbrennen mehr CPU. Auf einer Multi-Tenant-Kiste ist das eine Frage der Höflichkeit, kein Flex.

Lies die AUP und frag Staff, bevor das ein Exit-Node, ein Familien-VPN oder eine Bandbreiten-Geschichte wird. Kein VPN mit unbegrenzter Bandbreite. Kein „ich habe das ganze Haus drauf gezeigt“.

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

Wenn wg / wg-quick nicht da sind, stopp. Kompiliere in $HOME nur, wenn du schon weißt, dass du ein tun-Device anlegen darfst. Die Platzhalter-Adressen unten sind Beispiele, keine Zuteilung.

Shell als „Server“-Peer

# /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

Laptop als Client-Peer

[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 ist, wie du den SSH-Weg zum Endpoint verlierst, außer du policy-routest die echte Adresse der Shell am Tunnel vorbei. Ein /32 (und /128) für kire.net / die zugewiesene IP per ip rule / Table / FwMark bevor du den Full-Tunnel hochbringst. Wenn du nicht weißt wie, kein Full-Tunnel.

IPv6: entweder absichtlich oder weglassen. Ein halb eingeschalteter v6-Pfad ist ein DNS-Leak mit Extra-Schritten. DNS: ist der Tunnel oben und der Stub-Resolver redet noch mit dem Café, hast du geleakt. Redet er nur durch den Tunnel, solltest du immer noch SSH können.

Keepalive 25s ist der übliche NAT-Charme. MTU: konservativ anfangen (1280), wenn es stockt. ICMP-Blackholes gibt es noch.

Userspace gegen Kernel: Kernel ist billiger. Userspace (wireguard-go, boringtun usw.) taucht in top auf. Geteilte Shell. Sei langweilig. Ein Peer. Kleine AllowedIPs. Kein Transit für Freunde.

$dont

  • Öffentlicher VPN-Exit. Nachbarschafts-NAT. „Meine Discord-Freunde hüpfen durch KIRE.“ Nein.
  • Open Proxy unter anderem Namen. Mining. Scanner. Dienste, die dir nicht gehören.
  • root, Module oder CAP_NET_ADMIN annehmen.
  • Full-Tunnel ohne Bypass für den SSH-Endpoint.

Wenn dich dieser Absatz überrascht hat, nimm SSH -D und geh nach draußen.

$smaller-tool

SSH-Tunnel · TCP/SSL-Proxy · WireGuard. Kleinstes Werkzeug, das die Aufgabe löst. Das ist meist nicht WireGuard.