Friday, July 23, 2004

TIA/slirp/nat/ip-masquerade/UPnP/SoftEther

ความจริง Blog นี้อยากจะเขียนเรื่อง SoftEther โปรแกรมสัญชาติญี่ปุ่นที่ค่อนข้างดังในตอนนี้ แต่ระหว่างที่ลำดับความคิด ก็คิดไปถึงโปรแกรมเก่าๆที่เคยใช้นานมาแล้วหลายตัว

  • สมัยก่อนตอนมาญี่ปุ่นใหม่ๆ ที่มหาลัยมี Dial-Up Account ให้ใช้ได้ ก็ใช้สำหรับ Login เข้า Unix Account อ่านเมล์ด้วย MH หรือ Emacs รับส่งไฟล์ก็ใช้พวก xyz-Modem

    ก็เหมือนจะราบรื่นดีจนกระทั่งมี Web Browser: Mosaic/Netscape/Splyglass=ต้นตำรับ IE และก็โปรแกรมอ่านเมล์พวก Eudora ออกมา จึงเริ่มอยากได้ SLIP/PPP Connection ผ่านโมเด็มจากบ้าน

    โปรแกรมแรกที่ใช้ คือ TIA: The Internet Adapter ไม่ฟรี เป็นของขาย แต่ก็มีรุ่นทดลองให้เล่น รันใน Unix แล้วมันจะพูดภาษา SLIP ออกมา ต้องเขียน Script เครื่องที่บ้าน ให้ Login และเรียก TIA ให้เรียบร้อย ก่อนเข้าโหมด SLIP/PPP

  • หลังจากนั้นมีโปรแกรมประเภทเดียวกัน ของฟรี slirp ออกมาให้ใช้ แต่ slirp ใช้อยู่ไม่นาน เพราะไปสมัคร ISP ได้ PPP Account ของจริง เลิกเล่นของมหาลัย

    ที่ยอมจ่ายเงินก็เพราะตอนนั้น Terminal Server ของมหาลัยค่อนข้างห่วย ถ้ากด Disconnect ทางบ้านวางสายไปเลย โปรแกรม TIA/Slirp ก็จะตาย แต่ยังไม่ Logout ออกจาก Unix ทำให้คนถัดมาที่ต่อเข้ามา เล่นต่อได้เลย

    มีอยู่ครั้งนึงเจอญี่ปุ่นมือบอน มันพิมพ์ rm -fr ลบเกลี้ยงไปหลาย Folder ที่รู้เพราะดูใน History ไปโวยกับศูนย์คอมให้เขาเช็คเบอร์โทร เขาก็บอกว่าเขาเองไม่มีข้อมูล ต้องไปแจ้งความแล้วให้ตำรวจไปขอดูกับ NTT อาจารย์ไม่อยากให้มีเรื่องก็เลยไม่ได้ทำ ยังดีที่พอมี Backup บ้าง

  • โปรแกรม slirp (TIA ด้วยหรือเปล่าไม่แน่ใจ) มันมีคุณสมบัติอย่างนึงที่ไม่ค่อยได้ใช้ คือเป็น gateway สำหรับ Share Internet ได้ด้วย ถ้าเครื่องที่ต่อกับ Slirp อยู่ต่อกับ LAN ในบ้าน แล้วให้เครื่องลูกชี้มาที่เครื่องนี้ และเครื่องนี้ route ออกไปที่ slirp ทุกเครื่องใน LAN ก็จะเล่นเน็ตได้หมด โดยแชร์ IP จริงของเครื่อง UNIX ที่รัน slirp อยู่

    ถ้าเปิด web server ที่บ้าน ก็ตั้งค่า slirp ให้ forward port จากข้างนอกเข้ามาได้เหมือนกัน

  • หลังจากมาใช้ PPP Account จริง slirp ก็เลิกเล่น ต้องไป share Internet ด้วย IP-Masquerade ของ Linux เปิด Linux Server ประจำบ้าน หันมาใช้ ISDN 64Kbps ที่เก็บค่าบริการ Flat Rate หลังห้าทุ่มของ NTT กลายเป็นคนเล่นเน็ตกลางคืน นอนดึกตี 2-3 ตลอด ช่วงนั้นมีโมดูลให้เล่น FTP หรือฟังเสียง RealAudio ได้ด้วย แค่นี้ก็พอใจแล้ว

    เคยเอา socks มาลองเล่นเหมือนกัน แต่มันไม่ค่อยเวิร์ค โปรแกรมที่ใช้ Socks ได้ก็มีน้อย

  • ต่อมาโปรแกรม IM:Instant Messaging พวก ICQ/MSN เริ่มฮิต พวกนี้ก็ชอบมีปัญหากับการแชร์ IP ใช้ได้บ้างไม่ได้บ้าง (รับส่งข้อความ ไฟล์ NetMeeting ฯลฯ) จนกระทั่งที่บ้านเปลี่ยนมาเล่น ADSL ของ NTT (เริ่มจาก 1.5Mbps แล้วเปลี่ยนเป็น 8Mbps) ต่อผ่าน PPPoE (Point-to-Point Protocol over Ethernet) ก็เลยใช้ ICS (Internet Connection Sharing) ของ Windows จัดการ

    คงเพราะเป็น Microsoft เหมือนกัน ICS พวกนี้ไม่มีปัญหากับ MSN เล่นรับส่งไฟล์ คุยด้วยวิดีโอ หรือเสียง ได้หมด

    ภายหลังจึงมารู้ว่า เดี๋ยวนี้เขาแชร์ผ่านระบบที่เรียกว่า IGD: Internet Gateway Device ซึ่งเป็นส่วนหนึงของ UPnP: Universal Plug and Play

    ถ้าเอา IGD มาลงบน Linux ได้ ก็ใช้ Linux เป็น Gateway สำหรับเล่น MSN ได้ดีไม่มีปัญหาดิ ? ลองหาๆดูบน Linux ก็มีโปรแกรมสำหรับให้บริการ UPnP/IGD เหมือนกัน เช่น Linux-IGD และ PSEUDOICSD โดยส่วนตัวยังไม่เคยลอง แต่ Otto บอกว่าเคยพยายามลองแล้วไม่สำเร็จ (ไม่รู้ลองตัวไหน)

  • ไม่กี่เดือนก่อนบอกเลิกบริการ ADSL ของ NTT ย้ายมาใช้ของ Yahoo แทน เพราะเร็วและถูกกว่า (45Mbps แต่ได้จริง 6-8Mbps) คราวนี้เสียบช่อง Ethernet ปุ้บ มันก็แจก IP ผ่าน DHCP ให้เลย ไม่ต้อง Login ด้วย PPPoE ให้วุ่นวาย

    มาเจอปัญหาว่าใช้ ICS แชร์เน็ตไม่ได้แล้ว เพราะ ICS ใช้สำหรับแชร์ Connection อันนึง ไปบน Connection อีกอันนึง เดิมก็แชร์ PPPoE ไปบน Local Ethernet Card ซึ่งมันก็ทำงานได้ดี ทั้งๆที่ PPPoE ก็เล่นผ่าน Ethernet Card ใบเดียวกันนั่นแหละ แต่ Windows มันมองเป็นคนละ Connection ก็เลยแชร์ได้

    ตอนนี้ Local Ethernet Card มันกลายเป็นตัวเล่นเน็ต จะแชร์ก็ต้องหาอีกการ์ด (Connection) นึงมารองรับ แต่ก็เพิ่มไม่ได้เพราะ PCI Slot เต็มหมดแล้ว !

  • ออกไปเดินหาซื้อ Ethernet Card แบบ USB แต่ไปเจอ Router ถูกๆที่เขาทำขายสำหรับแชร์ Internet อยู่แล้ว หน้าตาก็สวยดี ราคาก็ไม่แพง (~3000 เยน แพงกว่า USB Ethernet Card นิดเดียว) ก็เลยซื้อไอ้นี่กลับมาแทน เพราะว่าจะได้ไม่ต้องเปิด PC ทิ้งไว้ เวลาต้อง Reboot ฯลฯ คนอื่นที่เล่นเน็ตอยู่ก็ไม่เดือดร้อน


    ภาพจากเวบผู้ผลิต

    บนกล่องบอกว่ามี UPnP ด้วย ดีเลยเล่น MSN ฯลฯ ได้ไม่มีปัญหา รับประกัน Throughput 78Mbps มากเกินพอ เท่าที่ใช้มาก็ใช้งานได้ดี ไม่เคยตายเลยสักครั้ง ชอบมากๆ ตั้งค่าทุกอย่างผ่านเวบได้ ค่อนข้างยืดหยุ่น เปิดพอร์ตเล่น WinMX ฯลฯ ได้ แถมยังคอยไป Update IP กับพวก dyndns.org ให้ได้อีกด้วย !

    ข้างในคิดว่าน่าจะเป็น Linux แต่ไม่แน่ใจว่าใช้ UPnP ของใครตัวไหน

  • เหนื่อยแล้ว เรื่องของ SoftEther ค่อยมาเขียนต่อวันหลัง

No comments: