LAN แห่งคำสัญญา - The Promised Lan
(tpl.house)- LAN แห่งคำสัญญา คือ เครือข่าย LAN party แบบปิดที่เปิดตลอด 24/7 สำหรับกลุ่มคนรู้จักขนาดเล็ก
- แต่ละ LAN เชื่อมต่อผ่าน เครือข่าย Backbone เพื่อมุ่งหาสมดุลระหว่างการดูแลรักษาและความปลอดภัย
- ใช้ .tpl TLD ของตนเองและมี DNS root server หลายตัว เพื่อปรับปรุงการแยกเครือข่ายและความสามารถในการกู้คืนเมื่อเกิดปัญหา
- วางระบบ TLS และการจัดการใบรับรองให้เป็นระบบด้วย โครงสร้าง PKI ที่อิง x509
- เสริมประสิทธิภาพการดูแลภายในด้วย โครงสร้างการออกใบรับรองแบบย่อที่อิง DNS และ SSH
แนะนำ
- LAN แห่งคำสัญญาเป็นเครือข่ายสมาชิกแบบปิด และเป็น พื้นที่ LAN party แบบต่อเนื่อง ที่เปิดดำเนินการมาตั้งแต่ปี 2021
- เอกสารทางการส่วนใหญ่เก็บไว้ภายใน LAN และเว็บไซต์นี้ใช้สำหรับ แนะนำเครือข่ายแก่ผู้ที่สนใจเข้าร่วมและคนรู้จัก
แถลงการณ์ของ LAN แห่งคำสัญญา (Manifesto)
- มีการเผยแพร่แถลงการณ์ที่บรรจุ ที่มา เป้าหมาย และแนวทางเชิงสังคม·เทคนิค ของการเริ่มต้น LAN นี้
- แถลงการณ์มีจุดมุ่งหมายเพื่อ ส่งเสริมการจัดตั้ง LAN ที่มีโครงสร้างคล้ายกัน โดยเชื่อมโยงมิติทางเทคนิคและสังคมไว้อย่างใกล้ชิด
โครงสร้างเครือข่าย Backbone
-
แต่ละเซกเมนต์ของ LAN แห่งคำสัญญาจะเชื่อมต่อกับ โหนดเครือข่าย Backbone แทนการเชื่อมต่อหากันโดยตรง
- การเชื่อมต่อ LAN ต่อ LAN โดยตรงไม่มีประสิทธิภาพ เนื่องจาก เพิ่มความซับซ้อนในการจัดการ เช่น การเปลี่ยน IP การแลกเปลี่ยนคีย์ และการเจรจาเข้ารหัส
-
ทำงานในรูปแบบ Peering บนพื้นฐาน IPSec โดยใช้ strongSwan และ iked บนระบบปฏิบัติการที่หลากหลาย (Debian, OpenBSD) ตามลำดับ
-
อัลกอริทึม ที่เลือกถูกปรับให้หาจุดสมดุลที่เหมาะสมระหว่างความเร็ว ความปลอดภัย และความเข้ากันได้
- การยืนยันตัวตน IKE SA: HMAC SHA2 512
- การเข้ารหัส IKE SA: AES 256
- IKE SA DH: Curve25519
- การเข้ารหัส Child SA: ChaCha20 Poly1305
- Child SA DH: Curve25519
-
ในช่วงจัดสรรเฉพาะ /24 จะกำหนด IP ตาม Node ID ให้กับแต่ละ backbone
-
แต่ละ backbone จะฮาร์ดโค้ดเฉพาะเส้นทางของโหนดที่เชื่อมต่อผ่าน IPSec เท่านั้น
-
ทำงานตามแนวคิด Default Free Zone(DFZ) และหลังจากเชื่อมต่อ IP แล้ว จะประกาศผู้ใช้ LAN ข้าม backbone ทั้งหมดด้วย BGP (ใช้ bird หรือ bgpd)
ระบบ DNS
- ใช้ TLD ของตนเองชื่อ .tpl และเมื่อ LAN เข้าร่วมจะได้รับการจัดสรรโดเมนโดยอัตโนมัติ
- สามารถขอโดเมนใหม่ได้ และ root DNS server (ns1.tpl, ns2.tpl, ns3.tpl) ถูกติดตั้งบน Backbone ของ LAN สามแห่งที่แตกต่างกัน
- มุ่งให้ บริการหลักทำงานต่อเนื่องได้ แม้โหนดเดี่ยวจะล้มเหลว
- authoritative nameserver ใช้ nsd และซิงก์ไฟล์ตั้งค่าด้วยการดึงจาก git repository กลางเป็นระยะ
- แต่ละ LAN จะรัน nameserver ของตนเองที่ IP คงที่ x.x.x.254 เพื่อให้ง่ายต่อการตั้งค่าอัตโนมัติและทำเป็นเทมเพลต
- แต่ละ LAN ไม่จำเป็นต้องรู้รายการ root ทั้งหมด
- Backbone จะรัน recursive resolver(unbound) บน anycasted IP(x.x.0.1) เพื่อจัดการ DNS query
โครงสร้าง PKI
- แม้ภายในจะมีความปลอดภัยเพียงพออยู่แล้ว แต่ได้สร้างโครงสร้าง PKI ขึ้นเพื่อ รองรับ TLS และความเข้ากันได้กับเครื่องมือเดิม
- มีการใช้งาน root x509 CA เป็นรอบทุก 3 ปี
- ปีที่ 1: แจกจ่าย/อัปเดตรูต
- ปีที่ 2: ออกใบรับรองอย่างจริงจัง
- ปีที่ 3: ช่วงหมดอายุ/เปลี่ยนผ่านของใบรับรอง
- รูตใช้ ECDSA P-384, ลายเซ็น SHA384 และจำกัดไว้ที่โดเมน/อีเมล .tpl ด้วยฟีเจอร์ X509v3 Name Constraints
- ออกแบบกระบวนการออกใบรับรองบนพื้นฐาน DNS: ลงทะเบียน OpenSSH public key ใน _pki TXT record สำหรับแต่ละโดเมน
- ใบรับรองจะถูกออกหลังจาก ยืนยันตัวตนผ่าน SSH และตรวจสอบ DNS โดยจัดการผ่านกฎภายในและระบบอัตโนมัติ โดยไม่พึ่งระบบภายนอกอย่าง ACME
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
น่าสนใจที่ความหมายของ “LAN Party” สำหรับแต่ละคนต่างกันมาก สำหรับฉัน LAN Party แบบดั้งเดิมคือทุกคนยกคอมพิวเตอร์ของตัวเองมารวมกันที่เดียว เล่นเกมและแลกไฟล์กัน แต่รูปแบบของฉันคือเพื่อน ๆ มาที่บ้านแล้วใช้คอมพิวเตอร์ที่ฉันเซ็ตไว้ล่วงหน้าเลย เพราะไม่ได้ขนเครื่องของตัวเองมา จึงแทบไม่มีการแลกไฟล์หรือแชร์เดโมกัน แก่นหลักคือการสื่อสารแบบเจอหน้ากัน ช่วงหลัง LAN ก็พัฒนาไปเป็นโครงสร้างที่เชื่อมหลายบ้านเข้าด้วยกันแบบเสมือนจริง ซึ่งก็น่าสนใจตรงที่แต่ละคนอยู่บ้านตัวเองแต่ยังทำกิจกรรมคล้าย LAN Party สมัยก่อนได้ ฉันยังมีหน้าแนะนำบ้านตัวเองที่ lanparty.house ด้วย สงสัยเหมือนกันว่าสุดท้ายแล้วนิยามไหนในนี้จะโดนทักว่าผิดมากกว่ากัน
เซ็ตอัปนี้น่าประทับใจมาก ถ้าเป็นต่อจากนี้ฉันก็คงชอบแบบนี้มากกว่าเหมือนกัน แต่เสน่ห์ของ LAN Party สมัยก่อนคือทุกคนยก PC ที่มีเอกลักษณ์ของตัวเองมาให้ดูกัน ช่วยกันแก้ปัญหา แล้วก็สร้างความทรงจำร่วมกัน วิธีแต่ง PC ของแต่ละคนก็ต่างกันหมด ตั้งแต่ RGB LED ไปจนถึงระบบระบายความร้อนด้วยน้ำ และความหลากหลายนั้นเมื่อมารวมกันก็ให้ความรู้สึกเหมือนเวทมนตร์ การแบก PC หนัก ๆ ไปด้วยความลำบากก็เป็นการแสดงถึงความตั้งใจและความรักในงานอดิเรกนั้นเหมือนกัน
ราวปี 1999 มีเดโมเฉพาะของ Unreal Tournament ที่เล่นได้เฉพาะคนที่มีการ์ดจอ 3dFX และต้องดาวน์โหลดแยกมาเล่น แต่จริง ๆ แล้ว แค่สร้างไฟล์ข้อความชื่อ “glide2.dll” ไว้ในไดเรกทอรีของเกม ก็สามารถรันในโหมดซอฟต์แวร์เรนเดอริงได้แล้ว ตอนนั้นมีห้องเรียนขนาดใหญ่ที่มีคอมพิวเตอร์เยอะมาก เราเอากระดาษแข็งสีดำไปแปะที่ประตูให้ดูเหมือนไม่มีคนอยู่ แล้วหลังเลิกงานก็มักจะมารวมตัวกับเพื่อนร่วมงานที่ชอบอะไรคล้าย ๆ กัน เล่นเดโมแมปกันหลายชั่วโมง เรายังเล่น Half-Life deathmatch กับ Counterstrike เพิ่มด้วย และถึงจะไม่มีการ์ดจอเฉพาะ เล่นแบบซอฟต์แวร์เรนเดอริงที่ความละเอียด 320x200 ก็ยังมีความสุขมาก เป็นช่วงเวลาที่สนุกจริง ๆ
พูดอย่างเคร่งครัดแล้ว The Promised LAN น่าจะใกล้เคียง WAN party มากกว่า แต่ฉันคิดว่าชื่อ “LAN Party” ก็ควรรวม LAN เสมือนจริงเข้าไปด้วย ทุกวันนี้ ต่อให้อยู่ในพื้นที่เดียวกันแล้วเล่นเกมออนไลน์เกมเดียวกันด้วยโน้ตบุ๊ก แท็บเล็ต สมาร์ตโฟนร่วมกัน ก็ยังถือว่าเข้ากับจิตวิญญาณของ LAN Party ได้เต็มที่ ซีรีส์อย่าง Diablo เองก็พัฒนาไปสู่ความเป็นออนไลน์มากขึ้น และ MMO ก็เช่นกัน ถ้าได้เล่นเกมร่วมกับรูมเมตหรือเพื่อนในพื้นที่เดียวกัน ก็พูดได้เสมอว่านั่นคือ LAN Party ที่ดีที่สุด
สำหรับฉัน องค์ประกอบสำคัญของ LAN Party คือผู้เล่นทุกคนต้องมารวมอยู่ในสถานที่เดียวกัน ถ้าเล่นออนไลน์กับเพื่อนที่อยู่ไกล ๆ ฉันจะเรียกมันว่าแค่ “คืนเล่นเกม”
เว็บ lanparty.house อ่านสนุกมากจริง ๆ โดยเฉพาะเรื่องตอนย้ายไป Austin, Texas ที่น่าประทับใจ ภรรยาของเขาคัดค้านการย้ายเพราะเขตการศึกษาของ Palo Alto อยู่อันดับ 12 ของประเทศ แต่พอรู้ว่าเขตการศึกษาของ Austin อยู่อันดับ 8 ก็เปลี่ยนใจทันที ตรงนี้ตลกมาก ให้ความรู้สึกถึงความใส่ใจเรื่องการศึกษาตามแบบพ่อแม่เชื้อสายจีน ชวนเอ็นดูมาก
ในเนื้อหามีลิงก์ไปยัง manifesto/บทความอธิบายละเอียด ฉันคิดว่าเนื้อหานั้นอ่านสนุกกว่าหน้าต้นฉบับเสียอีก
จริง ๆ แล้วลิงก์ไปที่ manifesto อยู่ในย่อหน้าที่สอง พออ่านหน้าหลักต่อกับ manifesto แล้วเป็นประสบการณ์ที่ดีทีเดียว
ลิงก์นั้นทำให้ฉันได้เห็นสิ่งที่ตอนดูต้นฉบับแบบผ่าน ๆ พลาดไป ตัวเนื้อหาอบอุ่นดีและทำให้ฉันอยากลองสร้างอะไรคล้าย ๆ กันบ้าง โดยเฉพาะส่วนที่ใช้เครื่องพิมพ์ใบเสร็จส่งข้อความหากัน ไอเดียดีมากจริง ๆ
ว้าว ส่วนนี้ส่วนตัวฉันชอบที่สุดเลย
มีการพูดถึงการใช้ TLD ที่ไม่เป็นมาตรฐานอย่าง “.tpl” ฉันกลับคิดว่าไม่ใช่ทางเลือกที่ผิดนัก อินเทอร์เน็ตเดิมทีก็ไม่ได้ถูกออกแบบมาเพื่อการรวมศูนย์ และฉันคิดว่าเราควรต่อต้านอำนาจศูนย์กลางแบบ ICANN ในปัจจุบัน ถ้ามีวิธีที่แต่ละคนควบคุม ID ของตัวเองได้โดยไม่ต้องมานั่งเปลี่ยนไฟล์ hosts เองก็คงจะดีกว่า
รู้สึกว่าคล้าย dn42 มาก ดูได้ที่ หน้าแรกของ dn42
สงสัยเพราะมีคำอธิบายน้อยไปหน่อยว่าปกติเล่นเกมอะไรกันเป็นหลัก ไอเดียน่าสนใจ แต่ข้อมูลมีจำกัดเกินไป จนให้บรรยากาศคล้ายบ้านต้นไม้ที่รับแต่เด็กผู้ชาย
สำหรับความเห็นที่ว่า “เหมือนบ้านต้นไม้ที่ให้แต่เด็กผู้ชายเข้า” ฉันคิดว่าการรวมกลุ่มส่วนตัวขนาดเล็กแบบนี้ก็ยอมรับได้และดีต่อสังคมเหมือนกัน การที่คนที่มีรสนิยมหรือคุณลักษณะคล้ายกันมารวมตัวกันเองโดยสมัครใจ กลับเป็นเรื่องที่ดีด้วยซ้ำ
มันไม่ได้ดูเป็นโปรเจกต์ที่สร้างขึ้นมาเพื่อเอาไปโพสต์บน Hacker News ตั้งแต่แรก ดังนั้นจะไม่ได้ตั้งใจดึงดูดความสนใจจากคนนอกก็ไม่เป็นไร
ใน TPL กิจกรรมหลักจะเป็นเรื่องสังคมมากกว่าเกม มี IRC ด้วย และบางคนก็เปิดบริการแปลก ๆ ของตัวเองขึ้นมา ถ้าเข้าร่วม คุณจะได้รับเอกสารข้อมูลการเชื่อมต่อที่ทำด้วย LaTeX ซึ่งเขียนวิธีเชื่อมต่อไว้ดีมาก และยังมีคำแนะนำให้เชื่อมต่อแบบ 1:1 กับคนหลักของ backbone ด้วย
มันดูใกล้เคียงกับเครือข่ายเพื่อน-ถึง-เพื่อนแบบกึ่งปิดมากกว่า ถ้าเป็นรูปแบบแบบนี้ ส่วนใหญ่ก็เลี่ยงไม่ได้ที่จะมีความเอนเอียงในองค์ประกอบของกลุ่ม
พอเห็นว่าค่อนข้างปิดและไม่ค่อยบอกให้ชัดว่ามีบริการอะไรอยู่บ้าง ก็ให้ความรู้สึกว่าอาจจะเน้นเรื่องแชร์ไฟล์มากกว่าเกม ถ้าจะเล่นเกมอย่างเดียวจำเป็นต้องทำให้ซับซ้อนขนาดนี้หรือ เพราะใช้ Discord ก็ง่ายกว่าเยอะ
สงสัยว่าทำไมถึงเลือก IPSec แทน Wireguard ส่วนตัวรู้สึกว่าตั้งค่ายากเหมือนกัน เลยเดาว่าอาจเป็นเพราะข้อจำกัดของระบบเก่าหรือเปล่า
เดาว่าน่าจะใช้ L2TP-IPSec เพื่อส่งผ่าน Layer 2 หรือเปล่า ถ้าจะทำแบบเดียวกันด้วย Wireguard ก็คงต้องมีการตั้งค่าเพิ่มอย่าง GRE tunneling
ส่วนตัวฉันชอบโซลูชันที่ใช้ Wireguard อย่าง Tailscale หรือ Headscale มากกว่า แบบนี้จะจัดการรายละเอียดหลายอย่างอย่าง DNS ได้สะดวกโดยอัตโนมัติ
เหตุผลหลักที่ฉันใช้ IPSec คือ Mac, iPhone และเราเตอร์ของฉันรองรับมาให้เลยโดยไม่ต้องติดตั้งอะไรเพิ่ม สร้างระบบได้ง่ายโดยไม่ต้องลงโปรแกรมเสริม
โดยทั่วไปเวลาองค์กรหรือสำนักงานสาขาจะตั้งระบบกัน วิธีนี้ก็ถือเป็นมาตรฐานอยู่แล้ว หลายคนคุ้นกับการตั้งค่า IPSec เลยไม่ได้รู้สึกว่ายากนัก
สิ่งที่ฉันชอบคือมันเป็นเครือข่ายที่คนที่มีรสนิยมคล้ายกันสามารถทำอะไรสนุก ๆ ร่วมกันได้จริง โดยไม่มีอัลกอริทึมหรือฟีดมาคั่นกลาง ฉันคิดว่านี่เป็นตัวอย่างที่ดีในการแก้ปัญหาของอินเทอร์เน็ตยุคนี้ และแต่เดิมอินเทอร์เน็ตก็เริ่มจากการที่แต่ละคนสร้างเครือข่ายตรงกับเพื่อนของตัวเองทั้งนั้น
ยังมีตัวอย่างของ P2P LAN จริงที่รันอยู่บนวิทยุสมัครเล่น (ลิงก์ไมโครเวฟไร้สาย) ด้วย ดูได้ที่ hamwan.org คนที่ฉันเคยรู้จักก็เคยสร้างแบบนั้นไว้ที่ Culver City/West LA และถึงจะช้า แต่ก็สามารถใช้อีเมลกับส่งรูปภาพได้แบบพึ่งพาตัวเอง
ฉันชอบไอเดียเครือข่ายแบบนี้มาก มันอยู่ในลิสต์ “สักวันหนึ่งต้องลองทำ” ของฉันเหมือนกัน แต่ลิสต์นั้นยิ่งนานยิ่งยาวขึ้น เลยรู้สึกอิจฉาอยู่บ้าง ฉันคิดถึงชุมชนเล็ก ๆ ของอินเทอร์เน็ตแบบเดิม และคิดว่าพื้นที่จำกัดที่ตั้งอยู่บนความไว้วางใจสามารถสร้างความเป็นไปได้ที่ยิ่งใหญ่ได้