C.W.K.
Stream
Lesson 12 of 12 · published

Mini-VPN 으로서 SSH Tunnel

~12 min · ssh-tunnel, socks, wake-on-lan

Level 0Pinger
0 XP0/101 lessons0/12 achievements
0/150 XP to next level150 XP to go0% complete

WireGuard 전 패턴

WireGuard 와 Tailscale 전엔 SSH port forwarding (Track 3) 이 사람들이 원격 access 하는 방법. 여전히 동작, SSH 너머 아무것도 필요 없고, 풀 VPN 셋업이 과한 일회성 bridge 에 옳은 도구.

Track 3 의 세 패턴, VPN 으로 적용

  • LocalForward — "내 localhost 통해 원격 서비스 access 줘". DB, 웹 admin UI, metric dashboard 로의 일회성 bridge.
  • SOCKS proxy — "이 서버 통해 브라우저 트래픽 라우팅". 본질적으로 HTTP 모양 트래픽용 작은 user-space VPN.
  • Wake-on-LAN — wakeup-relay 머신에 SSH 해서 거기서 WoL 패킷 보내 LAN 의 sleep 맥 깨우기.

홈 IP 위한 Dynamic DNS

Tailscale 안 쓰고 집에 dynamic public IP 면 dynamic-DNS 서비스가 안정 도메인 (yourname.duckdns.org) 을 ISP 가 오늘 준 IP 에 매핑. Non-default 포트의 port-forward 된 SSH + 키 전용 인증 + fail2ban (Track 8) 과 결합하면 동작 가능, 옛스럽지만 원격 access 패턴.

Code

Mini-VPN 패턴·bash
# Local forward: reach a remote web app
ssh -NfL 8080:localhost:80 office
# Open http://localhost:8080

# SOCKS proxy: route browser through office's connection
ssh -NfD 1080 office
# Set browser to SOCKS5 localhost:1080

# Verify the SOCKS proxy works
curl --socks5-hostname localhost:1080 https://ifconfig.me
# Should report office's public IP, not yours

# Wake-on-LAN — wake a sleeping Mac
brew install wakeonlan
ssh always-on-host "wakeonlan AA:BB:CC:DD:EE:FF"

# Dynamic DNS update from cron (DuckDNS example)
curl -fsS "https://www.duckdns.org/update?domains=mynetwork&token=$TOKEN&ip=" >/dev/null

External links

Exercise

SOCKS proxy 셋업 — ssh -NfD 1080 your-tailscale-host. curl 설정 — curl --socks5-hostname localhost:1080 https://ifconfig.me. 보고된 IP 가 네 거 아니라 tailnet host public IP 여야. 죽여 — pkill -f 'ssh -NfD 1080'. 방금 SSH 를 작은 VPN 으로 사용.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.