$./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
| werkzeug | was es tut | wann |
|---|---|---|
SSH -L | ein TCP-Port durch die Session | ein Dienst, ein Job |
SSH -D | SOCKS, Apps optieren | Browser, IRC-Client der SOCKS spricht |
SSH TUN / -w | Layer-3 über SSH | selten. TCP-über-TCP. Schmerz |
| TLS-Proxy | einen Port wickeln oder beenden | ./proxies |
| WireGuard | UDP-Overlay, AllowedIPs ist die Policy | wenn du wirklich ein Netz brauchst, nicht nur SOCKS |
| Userspace-VPN | kein Kernelmodul, mehr CPU | wenn 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_ADMINannehmen. - 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.