thep's blog

การตั้ง internet gateway ภายในบ้าน หรือในองค์กร เพื่อใช้หมายเลขไอพีหมายเลขเดียวที่ได้มาเป็นทางผ่านสู่อินเทอร์เน็ตให้กับเครื่องลูกข่าย ทำได้ด้วยเทคนิคที่เรียกว่า IP Masquerade และสามารถเขียนกฎ firewall ในการกรองแพ็กเก็ตต่างๆ ได้ด้วย ทั้งหมดนี้ อาศัยกลไกในเคอร์เนลลินุกซ์ที่เรียกว่า netfilter (สำหรับเคอร์เนล 2.4 ขึ้นไป ถ้าเป็นรุ่นเก่ากว่านั้นจะเป็น ipchain และ ipfwadm) คำสั่งที่ใช้ตั้งกฎก็คือ iptables

ฟังดูยุ่งยาก แต่ในเดเบียนมีแพกเกจที่ช่วยให้ตั้งเกตเวย์ได้อย่างรวดเร็ว คือ ipmasq ซึ่งจะมีคำสั่งช่วยตรวจสอบ route table แยกแยะ interface ที่เป็น public IP และเครือข่ายภายใน แล้วสร้างกฎ iptables เพื่อให้ทำ IP masquerade จากภายในสู่ภายนอก พร้อมทั้งทำ firewall กันแพ็กเก็ตจากภายนอกโดยอัตโนมัติ

พูดถึง ifupdown พื้นฐาน และ การใช้กับเครือข่ายไร้สาย ไปแล้ว คราวนี้ มาพูดถึงการใช้งานอีกแบบหนึ่ง ซึ่งเหมาะสำหรับเครื่องที่เปลี่ยนเครือข่ายบ่อย เช่น แล็ปท็อป คือการทำโพรไฟล์เครือข่าย

สมมุติว่าคุณหิ้วแล็ปท็อปไป ๆ มา ๆ เป็นประจำ 2-3 ที่ ที่บ้านใช้เครือข่ายไร้สายแบบ static IP แบบมี WEP key ที่สำนักงานใช้ DHCP แบบมี WPA และที่ไซต์งานใช้ DHCP แบบล็อค MAC address การเซ็ตค่าใหม่ทุกครั้งคงไม่สะดวก แต่คุณสามารถทำโพรไฟล์ของเครือข่ายต่างๆ เก็บไว้ แล้วเลือกใช้เอาตามต้องการได้

จาก ตอนที่แล้ว ที่ได้เกริ่นถึง ifupdown แบบปกติไปแล้ว คราวนี้จะมาดูการใช้งานลักษณะอื่นบ้าง โดยในตอนนี้จะกล่าวถึงการตั้งค่าเครือข่ายไร้สาย

ถ้าเครือข่ายของคุณเป็นแบบไร้สาย จะมีค่าพารามิเตอร์ของ Wi-Fi ที่ต้องเซ็ตด้วย ซึ่งคำสั่งสำหรับสั่งแบบ manual ก็คือ iwconfig ซึ่งอยู่ในแพกเกจ wireless-tools เช่น คำสั่งง่ายๆ สำหรับตรวจหา wireless interface ในเครือข่ายก็:

ก่อนจะเข้าเรื่อง network admin กัน ขอเรียกน้ำย่อยก่อน ด้วยการทำความรู้จักกับแพกเกจ ifupdown ที่ใช้เป็นกลไกในการตั้งค่าเครือข่ายของ debian แบบลงลึกสักหน่อย

เท้าความเรื่องคำสั่งระดับล่างสักนิด ว่าการที่คุณจะเชื่อมต่อเครื่องของคุณเข้าสู่อินเทอร์เน็ต โดยทั่วไป สิ่งที่จำเป็นต้องเซ็ตก็คือ

Topic: 

การแก้ไขจากต้นฉบับเก่า: เพิ่มเรื่องการเซ็น archive ด้วย GPG

อัปเกรดกันบ่อย ๆ มีการดาวน์โหลดแพกเกจมาไว้ที่เครื่องทุกวัน อยากเอามาใช้ประโยชน์อื่นหลังจากติดตั้งแล้วหรือเปล่า? ไม่อยาก? โอเค aptitude clean หรือ aptitude autoclean จบ ไม่ต้องอ่านต่อ :-) แต่ถ้าคิดว่าน่าเอาไปรีไซเคิล ก็ทำได้หลายอย่างครับ แต่ขั้นแรกที่น่าทำ คือการย้ายเข้า sub-mirror ส่วนตัวเสียก่อน ด้วยเครื่องมือที่จะแนะนำในวันนี้ คือ apt-move

Topic: 
เดเบียนมี kernel image คอมไพล์สำเร็จมาให้แล้ว ในแพกเกจ linux-image-version-revision-cpu (เช่น linux-image-2.6.22-1-686) โดยจะเปิดตัวเลือกแบบครอบจักรวาล และ build module ทั้งหมด เพื่อให้ใช้ได้กับทุกเครื่อง แต่ถ้าคุณต้องการหรือจำเป็นต้องคอมไพล์ใช้เอง ก็จะมีวิธีคอมไพล์ในแบบฉบับของเดเบียน โดยสร้างเป็น deb package ที่สามารถใช้ติดตั้งซ้ำได้หลายครั้ง

สรุปขั้นตอนการคอมไพล์และติดตั้ง

แพกเกจเครื่องมือคอมไพล์เคอร์เนลก็คือ kernel-package และถ้าคุณใช้ menuconfig ก็จะต้องการ libncurses-dev ด้วย
# aptitude install kernel-package libncurses-dev
สำหรับซอร์สของเคอร์เนล คุณสามารถติดตั้งจากแพกเกจของเดเบียน หรือจะดาวน์โหลดจาก kernel.org ก็ได้ แต่โดยทั่วไป คงใช้ของเดเบียนมากกว่า
# aptitude install linux-source-2.6.22

อยากรู้ว่าแพกเกจที่ปรับเป็นรุ่นใหม่ทุกวันเนี่ย มีอะไรใหม่ใช่ไหม? มีเครื่องมือให้อ่าน changelog ก่อนติดตั้งได้ คือ apt-listchanges

# aptitude install apt-listchanges

แพกเกจจะถามว่าต้องการอ่าน changelog แบบไหน ระหว่าง:

  • pager โดยใช้ more หรือ less อ่านทีละหน้าในโหมดตัวอักษร
  • browser โดยเปิดแบบ HTML ในเว็บเบราว์เซอร์
  • xterm-pager, xterm-browser เหมือน pager, browser ตามลำดับ แต่เปิดใน xterm ต่างหาก
  • text โดยแสดงออกทางเทอร์มินัลโดยไม่มีการหยุด
  • mail โดยส่งเป็นเมล
  • none ไม่ต้องแสดง

โดยทั่วไป แบบ pager น่าจะเหมาะที่สุด แต่ถ้าระบบของคุณสั่งปรับรุ่นแบบอัตโนมัติ (เช่น ผ่าน cron) ก็อาจจะใช้แบบ mail

Topic: 

เริ่มการกู้บทความเก่าจากเรื่องของ aptitude ก่อน แต่ใน lenny/sid นี้ ข้อจำกัดเดิมของ apt-get ได้หมดไปแล้ว จึงถือโอกาสปรับแก้ไปในตัว

การติดตั้งแพกเกจใน debian ด้วย apt-get เป็นสิ่งมหัศจรรย์อย่างหนึ่งที่ debian นำมาสู่โลกใบนี้ ระบบที่ติดตั้ง debian ส่วนใหญ่ ติดตั้งกันครั้งเดียว แล้วก็ปรับรุ่นแบบออนไลน์กันไปตลอดอายุขัยของเครื่อง

ในระยะแรก คุณอาจเพลิดเพลินกับการ apt-get install โน่นนี่สนุกสนาน แต่ก็ควรทำ 5ส ไปด้วยเหมือนกัน เรื่องแรกที่คุณอาจพบคือ แพกเกจที่ดาวน์โหลดมา ทำให้ /var ใหญ่ขึ้นเรื่อยๆ จนอาจทำให้ฮาร์ดดิสก์เต็ม ปัญหานี้ ทางแก้ค่อนข้างเป็นที่รู้จักกันดีอยู่แล้ว:

# apt-get clean
Topic: 

Pages

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้