1P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • 약속의 LAN은 소규모 지인 기반의 폐쇄형 24/7 LAN 파티 네트워크
  • 각 LAN은 Backbone 네트워크를 통해 연결되어, 유지보수성과 보안성 간의 균형을 추구함
  • 독자적인 .tpl TLD와 복수의 DNS 루트 서버로 네트워크 분리와 장애 복구성 향상
  • x509 기반의 PKI 체계를 통해 TLS와 인증서 관리를 시스템화함
  • DNS와 SSH 기반의 간소화된 인증서 발급 구조로, 내부 유지보수 효율 강화

소개

  • 약속의 LAN은 폐쇄된 멤버십 네트워크로, 2021년부터 운영 중인 지속적 LAN 파티 공간
  • 공식 문서는 대부분 내부 LAN에 보관되며, 본 웹사이트는 참여 희망자와 지인들에게 네트워크 소개를 제공함

약속의 LAN 선언문(Manifesto)

  • LAN을 시작하게 된 배경, 목표, 사회적·기술적 접근법을 담은 선언문을 공개 중임
  • 선언문은 유사 구조의 LAN 구성 독려를 목적으로 하며, 기술적·사회적 측면이 긴밀하게 연결됨

Backbone 네트워크 구조

  • 각 약속의 LAN 세그먼트는 직접 연결 대신 Backbone 네트워크 노드에 접속함

    • 직접 LAN 간 연결은 IP 변경, 키 교환, 암호 협상 등 관리 복잡성 증가로 인해 비효율적임
  • 다양한 운영체제(Debian, OpenBSD)에서 각각 strongSwaniked를 사용하여 IPSec 기반 Peering 구조로 동작함

  • 선택한 알고리듬은 속도, 보안, 호환성 간의 최적 점을 찾음

    • IKE SA 인증: HMAC SHA2 512
    • IKE SA 암호화: AES 256
    • IKE SA DH: Curve25519
    • Child SA 암호화: ChaCha20 Poly1305
    • Child SA DH: Curve25519
  • /24 전용 할당 대역에서, 백본마다 Node ID 기반 IP를 부여

  • 각 백본은 IPSec 연결된 노드의 라우트만 하드코딩되어 있음

  • Default Free Zone(DFZ) 컨셉으로 동작하며, IP 연결된 후에는 BGP(bird 또는 bgpd 활용)로 전체 백본 간 사용자 LAN을 광고함

DNS 시스템

  • .tpl이라는 자체 TLD 사용하며, LAN이 가입하면 자동으로 도메인 할당함
  • 신규 도메인 요청도 가능하며, 루트 DNS 서버(ns1.tpl, ns2.tpl, ns3.tpl)는 세 개의 서로 다른 LAN의 Backbone에 설치됨
  • 단일 노드 장애에도 핵심 서비스 지속성 확보를 추구함
  • 권한 네임서버는 nsd를 사용하며, 중앙 git 저장소를 주기적으로 당겨와 설정 파일을 동기화함
  • 각 LAN은 자체 네임서버를 x.x.x.254 고정 IP에 운용하며, 자동 구성과 템플릿화를 용이하게 만듦
  • 각 LAN은 전체 루트 목록을 필수적으로 알 필요는 없음
  • Backbone들은 anycasted IP(x.x.0.1)recursive resolver(unbound) 를 구동하여, DNS 질의를 처리함

PKI 체계

  • 이미 내부적으로 충분히 보안적이지만, TLS 적용과 기존 툴 호환을 위해 PKI 체계 구축
  • root x509 CA를 3년 주기로 운용함
    • 1년: 루트를 배포/업데이트
    • 2년: 본격 인증서 발급
    • 3년: 인증서 만료/전환 기간
  • 루트는 ECDSA P-384, SHA384 서명을 사용하고, X509v3 Name Constraints 기능으로 .tpl 도메인/이메일로 제한함
  • DNS 기반 인증서 발급 프로세스 설계: 각 도메인에 대해 _pki TXT레코드에 OpenSSH 공개키 등록
  • 인증서는 SSH 인증 및 DNS 확인 후 발급되며, ACME 등의 외부 시스템 없이 내부 규칙과 자동화로 처리함
Hacker News 의견
  • “LAN Party”의 의미가 사람마다 정말 달라지는 점이 재미있음<br>내 기준 전통적인 LAN Party는 모든 사람이 자신의 컴퓨터를 들고 와서, 한 곳에서 게임도 하고 파일도 주고받는 것인데, 내 방식은 친구들이 집에 와서 내가 이미 세팅해 둔 컴퓨터를 그냥 사용하는 형태임<br>직접 컴퓨터를 가져오지 않으니 파일 교환이나 데모 공유는 거의 없고, 핵심은 대면 소통임<br>최근엔 LAN이 여러 집을 가상으로 연결하는 구조로 발전했는데, 집에서 각자 즐기면서 예전 LAN Party와 비슷한 활동을 할 수 있다는 점에서 흥미로움<br>lanparty.house라는 내 집 소개도 있음<br>과연 이중 어떤 정의가 더 “틀리다”는 지적을 더 많이 들을지 궁금함

    • 이 셋팅이 엄청 인상적임<br>앞으로라면 나도 이런 식이 더 좋을 것 같지만, 예전 LAN Party의 매력은 모두가 각자 특색 있는 PC를 들고 와서 서로 구경하고 도와주며 구성한 추억이 있다는 점임<br>PC를 꾸미던 방식, RGB LED부터 워터쿨링 시스템까지 친구마다 다 달랐고, 그런 다양성이 모였던 것이 마법 같은 경험이었음<br>무거운 PC를 힘들게 들고 가는 것도 그만큼 정성과 애정의 표현이었음

    • 1999년쯤, 3dFX 비디오 카드를 가진 사람만 다운로드해 플레이할 수 있었던 Unreal Tournament 전용 데모가 있었음<br>그런데 실은 “glide2.dll”이라는 텍스트 파일만 게임 디렉토리에 만들어도 소프트웨어 렌더링 모드로 실행할 수 있었음<br>당시 큰 교육실에 컴퓨터가 많았는데, 방문에 블랙 카드보드를 붙여서 비어있는 것처럼 위장하고 퇴근 후 같은 취향의 동료들과 곧잘 모여 데모 맵을 몇 시간씩 즐겼음<br>Half-Life 데스매치와 Counterstrike도 추가해서 달렸는데, 전용 그래픽 카드가 없어 320x200 해상도의 소프트웨어 렌더링으로도 꽤나 행복했음<br>정말 즐거운 시절이었음

    • The Promised LAN은 엄밀히 보면 WAN party에 가깝지만, “LAN Party”라는 이름에 가상 랜까지 포함된다고 생각함<br>실제로 요즘은 같은 공간에서 같은 온라인 게임을 노트북, 태블릿, 스마트폰 등으로 함께 즐기는 경우도 충분히 LAN Party의 정신에 맞는다고 봄<br>디아블로 같은 시리즈도 온라인 중심으로 진화했고, MMOs도 마찬가지임<br>룸메이트, 친구와 함께 한 공간에서 게임을 하면 언제나 가장 좋은 LAN Party라고 말할 수 있음

    • 내게 있어 LAN Party의 중요한 요소는 플레이어들이 모두 같은 공간에 모여 있다는 것임<br>원격 친구들과 온라인에서 플레이하는 시간은 그냥 “게임 나이트”라고 부름

    • lanparty.house 웹사이트, 정말 재밌게 읽었음<br>텍사스 Austin으로 이사하는 일화가 특히 인상적이었는데, 아내분이 Palo Alto의 학군이 전국 랭킹 12위라서 이사를 반대했지만, Austin 학군이 8위인 걸 알자마자 바로 마음을 바꾸는 대목이 웃겼음<br>중국계 부모님 특유의 교육열이 느껴졌음, 정말 사랑스러움

  • 본문에 manifesto/상세 설명글에 대한 링크가 있음<br>이 내용이 원문 페이지보다 훨씬 흥미로운 읽을거리라고 생각함

    • 실제로 manifest가 두 번째 문단에 링크되어 있었음<br>페이지와 manifest를 이어서 읽으니 꽤 괜찮은 경험이었음

    • 그 링크 덕분에 원문 대충 볼 때 놓쳤던 내용을 알 수 있었음<br>내용 자체가 훈훈하고 나도 비슷한 걸 구축해보고 싶게 만듦<br>특히 영수증 프린터로 서로 메시지 전송하는 부분이 정말 기발했음

    • 와, 개인적으로 이 부분이 제일 좋았음

  • “.tpl”이라는 비표준 TLD를 사용하는 부분에 대해 언급함<br>나는 오히려 잘못된 선택이 아니라고 생각함<br>인터넷은 원래 중앙집중화를 위해 설계된 게 아니었고, 지금의 ICANN과 같은 중앙 권력에 저항해야 한다고 생각함<br>호스트 파일 수동 교체 대신 개인이 직접 ID를 통제할 수 있는 방안이 나온다면 더 좋을 것 같음

    • 맞는 말이긴 하지만, 만약 ICANN이 .tpl을 새로운 TLD로 지정해서 기업이 소유하게 된다면, 그 다음엔 무슨 대응을 할지 궁금함
  • dn42와 매우 비슷하다고 느꼈음<br>dn42 홈페이지 참고

    • dn42는 진짜 재미있는 장난감임, 실제 인터넷에 바로 연결된 느낌이고 내부 서비스도 점점 늘어나고 있음
  • 어떤 게임을 주로 하는지에 대한 설명이 부족해서 궁금함<br>아이디어는 흥미로운데, 정보가 너무 제한적이라 남자애들만 받는 트리하우스 같은 분위기도 느껴짐

    • “남자애들만 입장 가능한 트리하우스 같다”는 의견에 대해, 난 이런 형태의 소규모 사적 모임도 충분히 허용되고 사회적으로 건강하다고 생각함<br>비슷한 취향과 특성을 가진 사람들이 자발적으로 모임을 만드는 것은 오히려 바람직함

    • 처음부터 Hacker News 등에 소개하고자 만든 프로젝트가 아니라, 외부인의 흥미를 유도하려는 의도가 아니어 보여도 무방함

    • TPL에서는 게임보다는 주로 소셜 활동이 이루어짐<br>IRC도 있고, 사람이 자기만의 이상한 서비스를 열기도 함<br>참가하면 라텍스 기반의 연결정보 문서를 받는데, 연결 방법 등이 잘 적혀 있고, 주요 backbone 사람과 1:1로 연결되는 안내도 있음

    • 반쯤 비공개 친구-친구 네트워크에 더 가까워 보임<br>대부분 이런 형태면 집단구성에 치우침이 나올 수밖에 없다고 생각함

    • 이렇게 폐쇄적이고 실제 서비스가 뭔지 제대로 안 밝히는 점을 보니, 그냥 게임보다는 파일 공유 쪽이라는 인상을 받음<br>게임하려고 이렇게까지 복잡하게 만들어야 할 이유가 있을까 싶음, Discord로 쉽게 할 수 있으므로

  • IPSec을 Wireguard 대신 선택한 이유가 궁금함<br>개인적으로 설정도 까다롭다고 느껴서, 혹시 레거시 이슈 때문인가 하고 생각함

    • 아마도 L2TP-IPSec을 사용해서 Layer 2 전송을 하려던 게 아닐까 추측함<br>Wireguard로 같은 걸 하려면 GRE 터널링 같은 추가 구성이 필요할 것임

    • 내 개인적으론 Tailscale 또는 Headscale처럼 Wireguard 기반 솔루션을 선호함<br>이 경우 자동으로 DNS 등 여러 디테일을 손쉽게 관리할 수 있음

    • 내가 IPSec을 쓰는 가장 큰 이유는 Mac, iPhone과 내 라우터 모두 별도 설치 없이 기본 지원해서임<br>추가 프로그램 설치 없이 간편하게 구축할 수 있음

    • 일반적으로 기업이나 위성 사무실 설립할 때도 이 방식이 표준임<br>많은 사람들이 IPSec 설정에 익숙해서 그리 어렵다고 느끼지 않음

  • 내가 좋아하는 부분은 알고리즘, 피드 없이 비슷한 취향을 가진 사람들이 진짜로 뭔가 재밌는 걸 할 수 있는 네트워크라는 점임<br>요즘 인터넷의 문제를 해결할 좋은 사례라고 생각하고, 모두가 자기 친구들과 직접 네트워크를 만드는 게 인터넷의 시작이었다고 봄

  • 진짜 P2P LAN이 아마추어 무선(Microwave 무선 링크)로 운영되는 예시도 있음<br>hamwan.org 참고<br>내가 알던 사람들도 Culver City/West LA에서 그런 걸 구축했었고, 속도는 느렸지만 자립적으로 이메일, 사진 전송까지 가능했음

    • 참고로 아마추어 무선에서는 암호화가 불법임<br>중간에 표준 프로토콜 터널링해서 암호화하더라도 불법으로 간주함<br>하지만, 일반(ISM 대역)에서는 암호화가 문제가 되지 않음—wifi도 그 중 하나임
  • 이런 네트워크 아이디어가 너무 마음에 듦<br>내 “언젠가 꼭 해볼 일” 목록에도 있었는데 점점 그 목록이 길어지기만 하기 때문에 부러움<br>기존 인터넷의 작은 커뮤니티가 그리운데, 신뢰 기반의 제한된 공간에서 큰 가능성이 만들어질 수 있다고 생각함