-
약속의 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)에서 각각 strongSwan과 iked를 사용하여 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 등의 외부 시스템 없이 내부 규칙과 자동화로 처리함