421
Internet Edition http://linux.thai.net/ott/books หมายเหตุ: หนังสือสรางอินเทอรเน็ตเซิรฟเวอรดวยลีนุกซฉบับอินเทอรเน็ตนีอนุญาตให นําไปใช, เผยแพร, แกไข และเผยแพรฉบับที่แกไขตอไปได โดยขอใหอางถึงแหลงที่มา ตาม URL ขางตน และขอความหมายเหตุนีตนฉบับของหนังสือเลมนี้ถูกจัดพิมพ และวางจําหนายในป ๒๕๔๒ (1999) เนื้อความในหลายสวนอาจจะไมทันตอยุคสมัย ผูเขียนไมรับผิดชอบตอความเสียหายใดๆ อันอาจจะเกิดขึ้นจากเนื้อหาในหนังสือเลมนี

หนังสือทั้งเล่ม (PDF format, 14.5 MB)

  • Upload
    dangdat

  • View
    235

  • Download
    2

Embed Size (px)

Citation preview

Page 1: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

Internet Edition http://linux.thai.net/ott/books

หมายเหต: หนงสอสรางอนเทอรเนตเซรฟเวอรดวยลนกซฉบบอนเทอรเนตน อนญาตให นาไปใช, เผยแพร, แกไข และเผยแพรฉบบทแกไขตอไปได โดยขอใหอางถงแหลงทมา

ตาม URL ขางตน และขอความหมายเหตน ตนฉบบของหนงสอเลมนถกจดพมพ และวางจาหนายในป ๒๕๔๒ (1999) เนอความในหลายสวนอาจจะไมทนตอยคสมย ผเขยนไมรบผดชอบตอความเสยหายใดๆ อนอาจจะเกดขนจากเนอหาในหนงสอเลมน

Page 2: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 3

สารบญ

¿“§∑’Ë 1 คานยม 18

¿“§∑’Ë 2 ∫∑π” บทนา 31 สงทมในหนงสอเลมน 31 สงทไมมในหนงสอเลมน 32 สงทควรรกอนอานหนงสอเลมน 32 โครงสรางของหนงสอเลมน 33

¿“§∑’Ë 3 ‡∑§‚π‚≈¬’‡§√◊բ˓¬Õ‘π‡∑Õ√χπÁµ

∫∑∑’Ë 1 ‡∑§‚π‚≈¬’‡§√◊բ˓¬ เครอขายอนเทอรเนต 36 LAN และ WAN 39 Ethernet 40 Leased Line 41 Frame Relay 42 การสอสารขอมลแบบ Connection - Oriented และ Connectionless 43 Internet Address (IP Address) 45 Subnet Mask หรอ Net Mask 48 Classless IP Address 49

Page 3: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

4 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Gateway 51 อปกรณเลอกเสนทาง (Router) 52 สรป 53 แหลงขอมลเพมเตม 53

∫∑∑’Ë 2 DNS พนฐาน DNS 54 Name Server 56 Primary และ Secondary Name Server 57 Cache Name Server 58 Time to Live 60 Resource Tecord 60 แหลงขอมลเพมเตม 62

∫∑∑’Ë 3 ∂“ª—µ¬°√√¡ Client/Server ¿“§∑’Ë 4 Linux ‡∫◊ÈÕßµÈπ

∫∑∑’Ë 4 √–∫∫ªØ‘∫—µ‘°“√·∫∫ Unix

∫∑∑’Ë 5 √–∫∫ªØ‘∫—µ‘°“√ Linux ∫∑∑’Ë 6 §«“¡‡ªÁπ¡“¢Õß Linux ∫∑∑’Ë 7 ®ÿ¥‡¥Ëπ¢Õß Linux ∫∑∑’Ë 8 §ÿ≥ ¡∫—µ‘¢Õß Linux ∫∑∑’Ë 9 §«“¡µÈÕß°“√¥È“πŒ“√Ï¥·«√Ï ∫∑∑’Ë 10 °“√µ‘¥µ—Èß Linux

Page 4: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 5

∫∑∑’Ë 11 °“√„™Èß“π Linux ‡∫◊ÈÕßµÈπ การเปดเครอง 82 บญชผใช 83 การ Log in 84 การเปลยนรหสผาน 85 การ Log out 86 การปดเครอง 86 คาสง Unix พนฐาน 87 การขอความชวยเหลอแบบ Online 88 แหลงขอมลเพมเตม 90

¿“§∑’Ë 5 Linux-SIS

∫∑∑’Ë 12 ·π–π” Linux-SIS 92 กลมเปาหมายของ Linux–SIS คอใคร 93 ถาใช Linux Distribution อนอยแลว จะใชประโยชนจาก Linux–SIS

อยางไร 93

∫∑∑’Ë 13 °“√µ‘¥µ—Èß LinuxñSIS ‡«Õ√Ï™—π 3.0 94 ขนตอนการตดตง Linux–SIS เวอรชน 3.0 94 การแกไขปญหาในการตดตง 113

∫∑∑’Ë 14 °“√„™Èß“π LinuxñSIS ‡∫◊ÈÕßµÈπ 115

∫∑∑’Ë 15 °“√‡™◊ËÕ¡µËÕÕ‘π‡∑Õ√χπÁµ·∫∫ºŸÈ„™È (À¡ÿπ‚¡‡¥Á¡) ‚¥¬„™È LinuxñSIS 117

∫∑∑’Ë 16 °“√‡™◊ËÕ¡µËÕ LinuxñSIS ‡¢È“°—∫‡§√◊բ˓¬¿“¬„π¢Õß ‚√߇√’¬π°√≥’‡™◊ËÕ¡µËÕ·∫∫‡ªÁπ‚Àπ¥ 124 ขนตอนการเชอมตอ Linux–SIS เขากบเครอขายภายในของโรงเรยน

กรณเชอมตอแบบเปนโหนด 125

Page 5: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

6 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑∑’Ë 17 °“√¥Ÿ·≈‡§√◊ËÕß LinuxñSIS 128 การสราง Kernel ใหมสาหรบระบบ 128 การทาแผนบต (Boot) เพอใชในกรณฉกเฉน 131 การสารองขอมลของระบบ 132 แหลงขอมลเพมเตม 133

∫∑∑’Ë 18 °“√„™È Web Admin Tool การใช Web Admin Tool เบองตน 134 System Manager 138 User Manager 145

∫∑∑’Ë 19 °“√อพโหลด¢ÈÕ¡Ÿ≈ Web Page ŸË LinuxñSIS เซรฟเวอร ∫∑∑’Ë 20 ‚§√ß √È“ß∑“߇∑§π‘§¢Õß LinuxñSIS

พนฐานจาก Slackware 158 การตดตงเปนสวนๆ 158 การแบงเปน 3 พารทชน 159 /usr1 160 Startup File 160 /etc/hosts.deny 161 sissetup.txt 161 การใชงานแบบ Workstation 161

¿“§∑’Ë 6 °“√µ‘¥µ—Èß·≈–„™Èß“π Internet Server µË“ßÊ

∫∑∑’Ë 21 WWW Server: Apache ·≈– Apache/SSL บทสรปยอ 164 WWW Server 164 การตดตง Apache WWW Server 165 การตดตง Apache/SSL WWW Server 166 การใชงาน 168

Page 6: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 7

สาหรบผใช Linux–SIS 3.0 168 แหลงขอมลเพมเตม 169

∫∑∑’Ë 22 Proxy/Cache Server: Squid บทสรปยอ 170 หลกการของ Proxy/Cache Server 170 Squid 171 วธการตดตง 172 วธการใชงาน 178 การแกไขปญหา 181 สาหรบผใช Linux–SIS 3.0 183 แหลงขอมลเพมเตม 183

∫∑∑’Ë 23 DNS Server : Bind ความเปนมา 184 วธการตดตง 184 วธการทดสอบการใชงาน 190 การแกไขปญหา 192 สาหรบผใช Linux–SIS 3.0 192 แหลงขอมลเพมเตม 193

∫∑∑’Ë 24 SMTP Server: Sendmail 194 SMTP Server 194 วธตดตง Sendmail 198 Configuration File เพมเตม 200 วธใชงาน 202 การแกไขปญหา 203 สาหรบผใช Linux–SIS 3.0 205 แหลงขอมลเพมเตม 205

Page 7: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

8 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑∑’Ë 25 POP/IMAP Server: University of Washington 206 ความเปนมา 206 วธการตดตง 207 การแกไขปญหา 210 แหลงขอมลเพมเตม 210

∫∑∑’Ë 26 Mailing List Server: Majordomo 211 วธการตดตง 211 วธการใชงาน 212 สรปวธการใชงาน 214 ปญหาและวธแกไข 215 สาหรบผใช Linux–SIS 3.0 215 แหลงขอมลเพมเตม 215

∫∑∑’Ë 27 RADIUS: Livingston 216 ความเปนมา 216 วธการตดตง 217 วธการใชงาน 222 ขอมลสถตการใชงานของ RADIUS (Accounting) 223 การตรวจสอบการทางานของ RADIUS Server 225 สาหรบผใช Linux–SIS เวอรชน 3.0 227 แหลงขอมลเพมเตม 227

∫∑∑’Ë 28 °“√„™Èß“π∞“π¢ÈÕ¡Ÿ≈¥È«¬ MySQL 228 วธการตดตง 228 คาสงของ MySQL 229 คาสงของ SQL 231 การตดตง MySQL Grant Tables 236 หลกการทางานของ Grant Tables 236 การกาหนดสทธการใชงานฐานขอมลของผใช 239

Page 8: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 9

ขนตอนการสรางฐานขอมลและเชอมตอกบ MySQL Server 240 การเขยนโปรแกรมภาษา Perl ใหสามารถตดตอกบ MySQL ได 241 สรปวธการใชงาน 250 การแกไขปญหา 250 สาหรบผใช Linux–SIS 3.0 251 แหลงขอมลเพมเตม 251

∫∑∑’Ë 29 DHCP Server DHCP 252 วธการตดตง 253 วธใชงาน 254 การแกไขปญหา 255 สาหรบผใช Linux–SIS 3.0 255 แหลงขอมลเพมเตม 255

∫∑∑’Ë 30 Server ‡æ‘Ë¡‡µ‘¡Õ◊ËπÊ : News, File & Print, FTP New Server (INN) 256 แหลงขอมลเพมเตมสาหรบ USENET News Server 258 File & Print Server : Samba 258 แหลงขอมลเพมเตมสาหรบ SAMBA 262 FTP:Wu – ftpd 262 แหลงขอมลเพมเตมสาหรบ Wu – FTP Server 264

¿“§∑’Ë 7 ´ÕøµÏ·«√ϙ˫¬ß“π‡æ‘Ë¡‡µ‘¡

∫∑∑’Ë 31 MRTG คณสมบตของโปรแกรม MRTG 266 วธการตดตง 266 วธการตดตงคา 268 วธการใชงาน 269 ตวอยางผลลพธ 270

Page 9: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

10 สรางอนเทอรเนตเซรฟเวอรดวย Linux

การแกไขปญหา 271 สาหรบ Linux–SIS 3.0 272 แหลงขอมลเพมเตม 273

∫∑∑’Ë 32 Webmin คณสมบตของโปรแกรม WebMin 274 วธการตดตง 274 วธการใชงาน 275 ตวอยางผลลพธ 276 การแกไขปญหา 276 สาหรบ Linux–SIS 3.0 277 แหลงขอมลเพมเตม 277

∫∑∑’Ë 33 Mirror Package คณสมบตของโปรแกรม Mirror 278 วธการตดตง 281 วธการใชงาน 282 ตวอยางผลลพธ 282 การแกไขปญหา 282 สาหรบ Linux–SIS 3.0 282 แหลงขอมลเพมเตม 282

∫∑∑’Ë 34 ‡§√◊ËÕß¡◊ՙ˫¬„π°“√«‘‡§√“–ÀÏ “‡Àµÿ¢Õߪ—≠À“ ∑“߇§√◊բ˓¬ การวเคราะหสาเหตของปญหาทางเครอขาย 283 Ping 285 Traceroute 289 Nslookup 292 คาสงภายในรปแบบ Interactive ของโปรแกรม nslookup 293 Host 302

Page 10: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 11

แหลงขอมลเพมเตม 305

∫∑∑’Ë 35 ‡§√◊ËÕß¡◊ՙ˫¬„π°“√«‘‡§√“–ÀϪ√– ‘∑∏‘¿“æ¢Õ߇§√◊բ˓¬ การวดประสทธภาพของเครอขาย 306 Pathchar 307 Bing 308 Echoping 308 TTCP 309 NetPipe 309 แหลงขอมลเพมเตม 310

¿“§∑’Ë 8 °“√√—°…“§«“¡ª≈Õ¥¿—¬

∫∑∑’Ë 36 §«“¡ª≈Õ¥¿—¬¢Õß√–∫∫‡∫◊ÈÕßµÈπ ทาไมตองคานงถงความปลอดภย ? 312 ระดบของการรกษาความปลอดภย 313 การปองกนความปลอดภยของระบบ Linux 314 แหลงขอมลเพมเตม 320

∫∑∑’Ë 37 TCP Wrapper บทคดยอ 321 TCP Wrapper คออะไร 321 แหลงขอมลเพมเตม 325

∫∑∑’Ë 38 Firewall : Ipfwadm บทคดยอ 326 Firewall 326 การสราง Firewall โดยใช Linux 328 IPFWADM 330 แหลงขอมลเพมเตม 333

Page 11: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

12 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑∑’Ë 39 IP Masquerade แหลงขอมลเพมเตม 337

∫∑∑’Ë 40 Transparent Proxy บทคดยอ 338 Transparent Proxy 338 บทคดยอ 338 แหลงขอมลเพมเตม 339

∫∑∑’Ë 41 One Time Password (OPIE) One Time Password ทางานอยางไร 340 สาหรบผใช Linux–SIS 3.0 342 แหลงขอมลเพมเตม 343

∫∑∑’Ë 42 Secure Shell (SSH) บทคดยอ 344 วธการตดตง 344 วธการใชงาน 345 การกอบปไฟลระหวางเครองโดยใชคาสง Scp 347 การใชงาน Secure FTP 347 สาหรบผใช Linux–SIS 3.0 348 แหลงขอมลเพมเตม 348

¿“§∑’Ë 9 °“√ √È“ß Web Page

∫∑∑’Ë 43 °“√ √È“ß Web Page լ˓ßßË“¬ จะสรางโฮมเพจจาเปนตองรอะไรบาง ? 350 HTML คออะไร ? 351 การเขยน HTML ตองมอะไรบาง ? 351 สวนประกอบพนฐานของ HTML 351

Page 12: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 13

รปแบบของการเขยน HTML 352 ขนตอนในการเขยน HTML และการทดสอบ 352 การกาหนดชอของเอกสาร 353 การใสขอมลในเอกสาร 353 การกาหนดสพนและสของตวอกษร 354 การใสขอความทไมตองการใหเวบเบราเซอรแปลความหมาย 355 การขนบรรทดใหมและการขนยอหนาใหม 355 การสรางเสนคนหนากระดาษ 357 การกาหนดตวอกษรทเปนหวเรอง 359 การกาหนดชนดของฟอนต ขนาด และสของตวอกษรเฉพาะท 360 การจดกงกลางหนากระดาษ 361 การแสดงผลแบบรายการ (Lists) 362 ไฟลรปภาพ 366 การแสดงรปภาพในโฮมเพจ 366 การสรางไฮเปอรลงก 368 การสรางตารางในโฮมเพจ 370 แนวโนมในการพฒนาโฮมเพจในปจจบน 372

∫∑∑’Ë 44 ·π–π”„π°“√‡¢’¬π¿“…“ HTML 373

¿“§∑’Ë 10 °“√„™Èß“π Linux „π·∫∫ Desktop ∫∑∑’Ë 45 √–∫∫ X Window 380

X Window System Concepts 380 X Window System Software Architecture 381 การใชงาน X Windows บน Linux 382 แหลงขอมลเพมเตม 383

Page 13: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

14 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§∑’Ë 11 §”·π–π”„π°“√®—¥´◊ÈÕÕÿª°√≥χ§√◊բ˓¬

∫∑∑’Ë 46 µ—«Õ¬Ë“ß√˓ߢÕߢÈÕ°”Àπ¥ß“π®—¥´◊ÈÕ√–∫∫‡§‡∫‘≈ ·≈–Õÿª°√≥Ï°√–®“¬ —≠≠“≥‡§√◊բ˓¬§Õ¡æ‘«‡µÕ√Ï 386 การจดจาง/ซอระบบเคเบลและอปกรณกระจายสญญาณเครอขาย

คอมพวเตอร โรงเรยนสามเสนวทยาลย กรมสามญศกษา 386 ความตองการ 387 วตถประสงค 387 คณสมบตของผเสนอราคา 389 ขอกาหนดทวไป 389 คณสมบตจาเพาะของสวน fiber backbone 391 คณสมบตจาเพาะของ Building Wiring 393 คณสมบตจาเพาะของระบบกระจายสญญาณ 395 กฎเกณฑแหงการออกแบบ 395 การฝกอบรม 397 ภาคผนวกท 1 แผนผงของโรงเรยน 398 ภาคผนวกท 2 ผงแสดงจานวนเครองทจะเชอมตอในแตละหอง (เรมแรก) 399 ภาคผนวกท 3 ตารางกาหนดจดเชอมตอและจานวนเครอง (เรมแรก) 400 ภาคผนวกท 4 ผงแนวการเดนสาย fiber backbone 402 ภาคผนวกท 5 ผงการเดนสายรวมทงโครงการ 403 ภาคผนวกท 6 ผงแสดงอปกรณทศนยเครอขาย 404 ภาคผนวกท 7 คณลกษณะจาเพาะของ Optical fiber ทจะใชในโครงการ 405 ภาคผนวกท 8 คณลกษณะจาเพาะของ UTP cable ทจะใชในโครงการ 406

∫∑∑’Ë 47 µ—«Õ¬Ë“ß√˓ߢÕߢÈÕ°”Àπ¥ß“π®—¥´◊ÈÕÕÿª°√≥Ï Internet Server 407 งานจดหาระบบคอมพวเตอรแมขายอนเทอรเนต โรงเรยนสามเสนวทยาลย

กรมสามญศกษา 407 ความตองการ 407

Page 14: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

สารบญ 15

ขอกาหนดทวไป 410 คณสมบตจาเพาะของเครอง Internet Server 411 คณสมบตจาเพาะของ Remote Access และ WAN Interface 414 การฝกอบรม 415 แผนผงของระบบ 416

¿“§ºπ«° 417

Page 15: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

18 สรางอนเทอรเนตเซรฟเวอรดวย Linux

หนงสอ สรางอนเทอรเนตเซรฟเวอรดวย Linux เลมนไมเปนตาราสอนวชา "ระบบปฏบตการ" แตเปรยบเสมอนตาราทาอาหาร สาหรบผทสนใจจะทาใหเครองคอมพวเตอรของทาน กลายเปนอนเทอรเนตเซรฟเวอรดวยตนเอง ตาราอาหารเลมน มสตรปรงรสตารบตางๆ หลายชนด ทจะชวยทาใหระบบคอมพวเตอรของผอาน ทางานไดหลายดานพรอมๆ กนตามทตองการ หากไดลองใชดแลว กจะพบวาสามารถใชงานไดจรงอยางมประสทธภาพ สวนความจรงทวา เมอทานชานาญกบระบบ ลนกซ (Linux) นแลว ทานกมขดความสามารถทจะเขาใจระบบยนกซอนไดอกจานวนมาก นนถอวาเปนผลพลอยไดทนาพอใจ เนองจากระบบลนกซไดรบการพฒนาขนมาอยางด มระบบรกษาคณภาพ คอมพวเตอรทใชลนกซเปนระบบปฏบตการไดรบการยอมรบ ถกนาไปใชงานจรงทวโลกตงแตคอมพวเตอรแบบพกพา จนกระทงระบบคอมพวเตอรสมรรถนะสง ผลทคาดวาจะไดกคอ ตาราอาหารทอยในมอของทานในขณะน แททจรงแลวสามารถนาไปใชงานจรงได จะลองเปดเปน "ภตตาคาร" ขนมาบรการคนทวโลกกยอมได

ลนกซคงจะถอไดวาเปนระบบของ คนรนใหม เตบโตมาคกบ เครอขายอนเทอรเนต ไดรบการพฒนาขนมาโดยนกศกษาในยคอนเทอรเนต เผยแพรและเตบโตผานอนเทอรเนตมาเปนเวลานาน ตงแตเดอนสงหาคม พ.ศ. 2534 จนเปนทรจกกนแพรหลาย ถงขนาดทวา แมสนคาเชงพาณชย เชน Netscape Communicator เอง เดมเปนความลบทางธรกจ แตตอมาเจาของ ตดสนใจใหมการเผยแพรโปรแกรมตนฉบบ (Source Code) ทเรยกวา Mozilla ออกทางอนเทอร–เนตเมอป พ.ศ. 2541 จะเรยกวาเปนการเอาอยางลนกซกได กระบวนการรวมพฒนาซอฟตแวรโดยคนกลมมากเปนกระบวนการทมพลง และ เปนการใชอนเทอรเนตเพอสงคมโลกสวนรวม โดยไมคานงถงผลประโยชนเชงพาณชย สงทไดรบกคอ มาตรฐานใหมๆ ทเปนระบบเปด ไดซอฟตแวรฟรทมคณภาพสง และซอฟตแวรทมการใหบรการหลงการขาย แตราคาถกมาก เพราะเปนการนาซอฟตแวรฟรไปบรรจขาย พรอมเพมคณคาและบรการตางๆ อกมากมาย โปรแกรม

Page 16: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

คานยม 19

Linux-SIS (SIS = School Internet Server) ของศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรกนบวาเปนการนาลนกซมาเพมคณคาและบรรจหอใหมใหใชงานไดงายชนดหนงเชนเดยวกน

ปจจยททาใหระบบปฏบตการมความสามารถสง ทางานไดหลายงานพรอมกน และตดตอกบเครอขายคอมพวเตอรความเรวสงไดดกคอ ความเรวของเครองคอมพวเตอร (processor speed) นนเอง เรองนคงตองยกใหเปนผลของววฒนาการดานไมโครอเลกทรอนกสททาใหเครองคอมพวเตอรราคาถกลงทกวน

ป พ.ศ. 2542 นบเปนปทคอมพวเตอรแบบอเลกทรอนกสมอายครบ 53 ป หากจะนบวาคอมพวเตอรอตโนมตเครองแรกของโลกทมชอเรยกวา เอไนแอก (ENIAC) ไดรบการสรางขนมาจนประสบความสาเรจ ในวนวาเลนไทน ป ค.ศ. 1946 ENIAC จดวาเปนเครองทมโครงสรางการทางานแบบของ ฟอน นอยมาน (John von Neumann) กลาวคอ เปนระบบอเลกทรอนกสทเกบทงคาสงและขอมลไวดวยกนในหนวยความจา ดงนน การทางานของคอมพวเตอรโดยปฏบตตามรายการคาสง (โปรแกรม) และเกบหรอเรยกผลการคานวณ (ขอมล) จากหนวยความจาประเภทเดยวกน จากปนนเปนตนมา หลายอยางเปลยนแปลงไปอยางมาก เชน ความเรว ราคา ความจของขอมลในคอมพวเตอรยคปจจบน หากจะเทยบกน คงจะยงกวาฟากบดน แตยงมสองประการทแทบจะคงเดม ซงผมคงตองกลาวถง

ประการแรก คอมพวเตอรยคปจจบนทงหมดยงคงใชสถาปตยกรรมของ ฟอน นอยมาน เชนเดม คอเกบขอมลและคาสงไวในความจาเดยวกน ยงหาวธทดกวานไมได ประการทสองกคอ การคดเลขทใชบนทกวนทและเวลา โปรแกรมเมอรสมยใหมยงคงชอบยอเลขป ค.ศ. เปนสองหลก จนเกดปญหาคาโลกอยจนทกวนน ทงๆ ทมเวลามาหลายสบป ทจะแกไขนสยการเขยนโปรแกรมใหถกตอง ทงๆ ทราคาของหนวยความจาตาลงกวาเดมเปนแสนเทาตว เมอเทยบกบหาสบปกอน พนป ค.ศ. 1999 นไป โลกคงเปลยนไปมาก

หากจะใหวดความกาวหนาของเครองคอมพวเตอร ตวอยางทชดทสดและยงเปนจรงอยกคอ กฎของมอร (Moore's Law) ทบอกวา ไมโครโพรเซสเซอร จะมทรานซสเตอรเพมขนเปนสองเทาทกๆ 18 เดอน หากจะแปลความหมายกคอ คอมพวเตอรจะทางานเกงขนสองเทาทกๆ 18 เดอน โดยจะคงขนาดเทาเดม สงนนบวาเปนความจรงมาตลอด นบตงแตป พ.ศ. 2511 (1968) ท บอบ นอยส กอรดอนมอร และ แอนด โกรฟ รวมกนกอตงบรษทอนเทล คอรปอเรชน เพอ สรางเครองคอมพวเตอรทงระบบลงบนแผนซลกอน แมกอรดอนมอรเองกรสกประหลาดใจทสตรของเขาเปนเชนนนอยไดนาน เขาสารภาพวาอาจจะเปนเพราะบรษทสรางวงจรคอมพวเตอรกลว

Page 17: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

20 สรางอนเทอรเนตเซรฟเวอรดวย Linux

จะสญเสยความเปนผนา ตางจงลงทนดานวจย พฒนาและมนวตกรรมกนขนานใหญ เพอสรางวงจรอเลกทรอนกสใหมความสามารถทตรงตามคานายของมอร

ถาจะยกตวอยางใหชดกวาน กคอ เครองคอมพวเตอรแบบสมดบนทกทเราสามารถซอใชสวนตวและพกพาไปไดทกทนน จรงๆ แลว มขดความสามารถเทากบเครองคอมพวเตอรสมยป ค.ศ.1946 ทงโลกรวมกน

คอมพวเตอรจะใชงานไดด ตองใชงานงาย ผใชไมตองเรยนมาก และมประสทธภาพสง สงททาใหคอมพวเตอรยคใหมมประโยชนกบเรามากกคอ ระบบปฏบตงาน (Operating System) ซงเปรยบเสมอนแผงควบคมการขบรถทชวยใหเราสงการเครองคอมพวเตอรไดงาย มองเหนสถาน–ภาพตางๆ ไดด และเราสามารถเรยกโปรแกรมหลายๆ โปรแกรมมาชวยงานได บอยครงทเราใชชวตของเราตดตอกบสวนปฏบตการมากกวาการใชงานจรง

ผมยงจาเหตการณเมอครงตองใชเครองมนคอมพวเตอร เมอประมาณป พ.ศ. 2516 (ค.ศ. 1973) ซงเปนระบบปฏบตการทเกบไวในเทปกระดาษเจาะร (paper tape) ทกครงทเปดไฟใชงาน ผมตองโยกสวตชทหนาปดของเครอง PDP-8 จานวน 12 สวตชขนลงเปนคาสงเขาไปประมาณ 15 รอบ จากนน เครองจงสามารถอานเทปกระดาษและเรมทางานได การโยกสวตชหนาปดตอนนนเปนแคการปอนคาสงวธเรมอานเทปกระดาษ ซงเปนโปรแกรมควบคมระบบขนาดประมาณ 800 เวรด (เครอง PDP-8 คดขนาดขอมลเปนเวรด เวรดละ 12 บต กอนจะมคาวาไบตอยางในปจจบน) หลงจากทโหลดโปรแกรมควบคมเขาไปแลว การใชเครองกสบายขน เพราะผมสงงานตางๆ ผานเครองโทรพมพ (teletype) และเกบขอมลผานมวนเทปแมเหลกไดอยางสบายมาก และยงแถมเขยนคาสงเปนภาษาระดบสงได โปรแกรมควบคมระบบทเราโหลดเขาไปน คอแนวความคดของ ระบบปฏบตการ ในปจจบน แนละ คอมพวเตอรในยคปจจบนมสงทเรยกวา read-only memory เอาไวสงคอมพวเตอรตอนเรมตนเปดเครอง ชวตของพวกเราทกคนสบายขนมาก เพราะไมตองมใครตองมาโยกสวตชเปนรอยๆ ครงอกตอไปกอนเรม บต เครองใหคอมพวเตอรทางาน

คอมพวเตอรทกขนาด ไมวาจะเปนซเปอรคอมพวเตอร เมนเฟรมขนาดรอยลานบาท หรอ แมกระทงไมโครคอมพวเตอร หรอเครองบนทกขอมลสวนตวแบบพกพา (personal organizers) ตางตองอาศย ระบบปฏบตการ (Operating System หรอ โอเอส) ทงสน ตางกนกตรงทวาของใครจะสลบซบซอนกวากนเทานน แตหนาทพนฐานกเหมอนกน คอบรการผใชเรองการใชอปกรณรอบขาง การใชหนวยความจา การสอสารขอมล การแบงแยกงานหลายงานในหนวยความจาไมใหสบสน และการควบคมโปรแกรมสวนตางๆ ใหประสานงานกนอยางถกตอง

Page 18: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

คานยม 21

ระบบปฏบตการยนกซถกเขยนขนเปนครงแรก โดย เคน ทอมปสน และเดนส รตช แหงเบลแลปส (เปนของ AT&T ในสมยนน) ในป พ.ศ. 2512 (ค.ศ. 1969) เพอสาหรบใชงานกบเครองมนคอมพวเตอรรน PDP-7 เปนการสวนตว และเพอแจกแกเพอนฝงและผรวมงาน เขาสรางใหยนกซเปนระบบทสงการงาย เตมไปดวยโปรแกรมใชงานเลกๆ ททางานเกงเพยงเรองเดยว แตนามาประกอบกนเปนชดของโปรแกรมททางานใหญได เพราะระบบยนกซอานวยความสะดวกแกผใชในการนาโปรแกรมเลกๆ หลายๆ โปรแกรมมาทางานรวมกน และใชขอมลรวมกนได ดวยความเรยบงายทวานเอง โปรแกรมใชงานกบยนกซจงมเพมเตมขนมามากมาย

เนองจากเบลแลปสไมไดประกอบธรกจคอมพวเตอร บรษทจงเผยแพร Source Code ใหแกมหาวทยาลยหลายแหงในราคาตามาก ทาใหยนกซเปนรากฐานสาคญททาใหเกดพฒนาการใหมๆ ทยอดเยยม จากผรวมพฒนาหลายพนคน ออกมาสโลกมากมาย ในทศวรรษ 1970 เรยกไดวามยนกซแบบตางๆ ออกมามากมาย และหลายรน กาวสเสนทางอตสาหกรรมอยางเตมตว เชน BSD, System V, HP-UX, AIX, SunOS, Solaris, Ultrix, Coherent, Mach ระบบเหลาน มกจะใชงานกนในเครองทเรยกวา สถานงานวศวกรรม (Engineering Workstation) พดงายๆ กคอ คอมพวเตอรตงโตะราคาชดละเปนลานบาท สาหรบวศวกรททางานออกแบบสาคญทคมการลงทนระบบแพงๆ เทานน

ในจานวนนน มบางระบบ กลายเปนตนแบบของการเขยนตาราและชดทดลองปฏบตการ วชา "ระบบปฏบตการ" เชน Minix เปนตน และ Minix นเองทเปนตนตอของการกาวมาเปน Linux ในเวลาตอมา ระบบเพอการศกษาเปนระบบยอสวนมาจากระบบราคาแพงททางานในสถานงานฯ แตใชทดสอบกบไมโครคอมพวเตอรราคาตาๆ ได

ในชวงประมาณป พ.ศ. 2517 (ค.ศ. 1974) บรษท MITS ไดสรางเครองไมโครคอมพวเตอรเอนกประสงค ชอ อลแทร 8800 โดยใชไมโครโพรเซสเซอร 8080 ของอนเทล ออกจาหนายพรอมหนวยความจา 256 ไบต ในราคา 495 เหรยญสหรฐ (395 เหรยญสาหรบชดประกอบเอง) ราคานไมมคยบอรดหรอจอภาพ ผใชตองปอนโปรแกรมทางสวตชทหนาปด คอมพวเตอรเครองน ไดขนหนาปกของวารสาร Popular Electronics ในเดอนมกราคม พ.ศ. 2518 (ค.ศ. 1975) และถอวาเปนคอมพวเตอรสวนบคคลเครองแรก ประมาณเดอนเมษายน พ.ศ. 2518 บล เกตส และพอล แอลเลนรวมกนกอตงบรษทไมโครซอฟตขนมา เพอขายซอฟตแวรแปลภาษาเบสกสาหรบใชกบเครองอลแทร ทาใหไมโครคอมพวเตอรดงกลาว สามารถทางานกบภาษาโปรแกรมระดบสงไดเปนครงแรก

Page 19: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

22 สรางอนเทอรเนตเซรฟเวอรดวย Linux

สวนเครองทเรยกวาเปนรนทประสบความสาเรจอยางกวางขวางจรงๆ คอเครอง IMSAI 8080 ซงมองคประกอบพรอมมล นบตงแตฟลอปปดสกขนาด 8 นว (256KB) พอรต RS-232C สาหรบเชอมตอกบโทรพมพหรอจอเทอรมนล และไบออส (BIOS) ทอยใน ROM ทางานไดโดยไมตองโหลดโปรแกรมทางสวตชหนาปด CPU เปนรน 8080A ความเรว 2 MHz 4KB RAM บสเชอมตอภายในแบบ S-100 ขนาด 22 สลอต คอมพวเตอรรนนประสบความสาเรจมากเพราะมระบบปฏบตการทด ชอ CP/M (Control Program/Monitor ซงตอมาเปลยนชอเปน Control Program for Microcomputer) เขยนโดย ดร.แกร คลดอล ตงแตเขาทางานทอนเทล CP/M เลยนแบบมาจากระบบใหญ แตทางานกบ 8080 ไดโดยใชหนวยความจาตากวา 4 KB คาสงสวนใหญอยนอกโอเอส เปนโปรแกรมประเภท .COM ดงทเราเหนกนทวไปในระบบ MS-DOS จนทกวนน ซง MS-DOS เองกถอวาเปนการพฒนาตอเนองจาก CP/M โดยการใชหลกการทเหมอนกน คอการให OS ม Application Programming Interface (API) ทใชงานงายตอการพฒนาโปรแกรมประยกต

จากการทมไมโครคอมพวเตอรนเอง นกเรยนนกศกษาดานคอมพวเตอรในประเทศไทยเรมไดมโอกาสสมผสและเจาะลกเกยวกบระบบปฏบตการกนอยางแพรหลายจรงๆ กในชวงประมาณป พ.ศ. 2519 ซงเปนยคทมไมโครคอมพวเตอรแบบประหยดออกมาจาหนายในราคาทถกมาก เครองประเภท IMSAI หรอรนอนๆ ทออกตามกนมาโดยอาศยบสแบบ S-100 ถอวาเปนกญแจสาคญททาใหคนไทยไดเรยนรศาสตรแหงคอมพวเตอรไดอยางลกซงมากขน

ในปนนเอง สตฟ วอสเนยก และสตฟ จอบส ไดสรางเครองคอมพวเตอรรนเลก กระทดรดและเกงกวาเดมมากออกมา เรยกชอวา แอปเปลท (Apple II) เรมวางตลาดในป พ.ศ. 2520 โดย ม ROM ขนาด 16 KB RAM ขนาด 4 KB พรอมแปนพมพและจอภาพส ตอกบเทปบนทกเสยงเพอบนทกขอมลทงชดในราคา 1,300 เหรยญ สามารถทายอดขายไดถง 7 ลานเหรยญในปแรก ระบบปฏบตการของแอปเปลอยใน ROM และเพยงเพมเงนอกเลกนอย ผใชสามารถเพม ROM ของตวแปลภาษาเบสกมาใชไดทนท

เครองอลแทร IMSAI แอปเปล ในระยะตนๆ จดไดวายงไมมโอกาสไดใชระบบปฏบตการแบบยนกซ เพราะ CP/M และไมโครซอฟตเบสกเปนซอฟตแวรยอดนยมทใชไดด แมจะเปนระบบททางานไดครงละโปรแกรมเทานน (ตางกบยนกซ ซงเปนระบบทรนไดหลายโปรแกรมพรอมกนและใชพรอมกนไดหลายคน) ตอมา มเวรดโพรเซสเซอรออกมารวมวงอกรายการหนง (เชน เวรดสตาร) การใชไมโครคอมพวเตอรเพองานธรกจกาลงเรมตนไดด ทจดวาเปนสดยอดของยคป ค.ศ.

Page 20: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

คานยม 23

1970 คงจะไดแก โปรแกรมแผนงานเพอการคานวณ (Electronic Spreadsheet) ทชอวา วสแคลค (Visicalc) ตามดวยระบบบรหารฐานขอมล dBASE-II

ในเวลาเดยวกน การพฒนาดานไมโครโพรเซสเซอรไดกาวเขาสยค 16 บต และ 32 บต ทาใหหนวยประมวลผลกลางเกงขน หนวยความจาราคาถกลง และเรมมฮารดดสกราคาไมแพงออกมาสทองตลาด ผานทางระบบคอมพวเตอรยอดนยมสองตระกล คอ ไอบเอมพซ และเทยบเทา (กลมนใช CPU ของอนเทลตระกล x86 คกบระบบปฏบตการ MS-DOS ของไมโครซอฟต) กบตระกลแอปเปลแมคอนทอช (ใช CPU ของมอโตโรลา รน 68000) ตลอดชวงเวลาในทศวรรษ 1980 และ 1990 เปนยคทองของผใช เพราะมคอมพวเตอรรนใหมทเรวขนแตราคาถกลงออกมาสทองตลาดตลอดเวลา แตไมเคยมใครบนวาคอมพวเตอรเรวเกนไป หรอมหนวยความจาเหลอใช

ทเปนเชนนนกเพราะวาววฒนาการทางซอฟตแวรกมการเปลยนแปลงเปนอยางมาก มการคดคนระบบ Graphical User Interface (GUI) และเรมใสความบนเทงเขาสคอมพวเตอรตงโตะนบตงแตการเพมการดเสยง เครองเลนแผน CD เพมขดความสามารถของจอภาพและการดแสดงผลใหทางานกบสมากขน มความคมชด (resolution) มากขน แสดงผลเปนสธรรมชาตหรอสามมตมากขน เพยงพอทจะทาใหซพยรนใหมความเรวสงเปนทแพรหลายโดยไมตองชแจงเหตผลหรอความจาเปน ในปจจบน ผทมความตองการใชเครองทมสมรรถนะสงสดไมใชผนงทางานธรกจผานคอมพวเตอร แตกลบกลายเปนนกเรยน นกศกษารนหนมสาวทใชประโยชนจาก 3D interactive computer graphics และ multimedia นนเอง พลงทใชในการแสดงผลเปนภาพสามมต สธรรมชาต และเคลอนไหวดวยความเรวสง เปนพลงการคานวณทสงกวาเครอง ENIAC เมอ 53 ปกอนหลายพนเทา

การเฝาใฝหาระบบปฏบตการทเกงกวา MS-DOS มมานานแลว และบรษททประสบความสาเรจสงสดในเกมนกคอ ไมโครซอฟตนนเอง จากการทไมเคยมตลาดดาน GUI เลยในยคตน ปค.ศ. 1980 ซงถอวา GUI ตองเปนแมคอนทอชเทานน ไมโครซอฟตกลายเปนบรษททควบคม desktop กวา 85% ของทวโลกในปน ทเปนเชนนสวนหนงคงจะเนองมาจากการตดสนใจทผดพลาดของแอปเปล ทไมปลอยใหระบบ MacOS ทางานกบคอมพวเตอรตระกลอนเทลบาง แตกลบไปลงทนกบ CPU ตระกล PowerPC อยางไรกตาม ทวโลกไดรบความพงพอใจกบการม GUI มาใชงานกบพซตงโตะและเครองพกพาจากไมโครซอฟตวนโดวส นบตงแตรน 3.1 ทเปนการตอเตมการทางานของ MS-DOS และตอมาเปน วนโดวส 95 จนถงรนลาสด วนโดวส 98 ควบคกบโปรแกรมใชงานยอดนยมอนๆ นอกเหนอจากโอเอสทผลตโดยไมโครซอฟต

Page 21: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

24 สรางอนเทอรเนตเซรฟเวอรดวย Linux

จากการทคอมพวเตอรสวนบคคลมพลงความสามารถสงขนมากนเอง ประกอบกบการทคอมพวเตอรของนกพฒนาซอฟตแวรจานวนมากเชอมตอกบระบบอนเทอรเนตอยางสะดวก ทาใหนกวทยาการคอมพวเตอรจานวนมาก เกดความเลอมใสและมศรทธาในการใชงานกบระบบทตนเองเหนวาเปน ระบบเปด คาวา เปด ในทน หมายถงเปดทกอยาง นบตงแตสเปกการทางานทเปนมาตรฐานททกคนนามาใชได มผทาสนคาออกมาทางานรวมกนไดทกยหอ และทายสด คอเปดแมกระทงใหดโปรแกรมตนฉบบไดดวย ซงอนหลงสดนปกตหากทาเปนการคา กจะไมมผใดเปดความลบทางการคาใหด ประโยชนของการเปนระบบเปด คอ ชวยใหพวกเราสามารถศกษาอยางถองแทได และทสาคญสาหรบประเทศไทยกคอ สามารถนามาศกษาไดฟรครบ ลาพงแคการลงทนซอฮารดแวรเขาโรงเรยน หรอเขามหาวทยาลยกเปนการลงทนทสงอยแลว หากลดคาใชจายสวนซอฟตแวรแพงๆ นไดโดยไมใชซอฟตแวรผดกฎหมายกจะเปนสงด ดงนนจงอาจเรยกไดวา ระบบเปดเปนสงทมาคกบการเรยนการสอนในชนมธยมปลาย อาชวศกษา และอดมศกษา ลนกซ กเชนกน ถอไดวาเปนตานานโลกแหงระบบเปดเชนกน (โปรดอานรายละเอยดในบทท 6 ความเปนมาของลนกซ)

หองปฏบตการเครอขายคอมพวเตอรของเนคเทค เรมดาวนโหลดลนกซจากอนเทอรเนตมาใชงานตงแตรน 0.9 กวาๆ ในป พ.ศ. 2536 (1993) โดยนามาใชงานกบเครองรน 486 เปน อนเทอรเนตเซรฟเวอรราคาประหยด และทาหนาทแทนอปกรณเลอกเสนทาง (Router) สาหรบหนวยงานทประสงคจะเชอมตออนเทอรเนตแบบองคกร แตขาดทนทรพยทจะลงทนอปกรณเซรฟเวอรระดบเครองซนและตดตง router ซงในชวงนนกมแตของซสโก ความประหยดทเกด ขนกประมาณจดละหาแสนบาท แตทงนตองแลกกบการทางานหนก ผดแลระบบตองหดเรยนวธ การดแลเซรฟเวอรและตองเรยนคาสงยนกซกนพอควร จงจะดแลระบบได ตงแตป พ.ศ. 2536 เปนตนมา เนคเทคไดเผยแพรสาเนาของลนกซไปนบครงไมถวน หลายทานยกเครองมาโหลดกนทเนคเทคกนเลย

จากนน นกวจยในหองปฏบตการกเรมพฒนาซอฟตแวรตางๆ ขน เพอชวยในการลดเวลาทใชในการฝกอบรมผดแลระบบอนเทอรเนตเซรฟเวอร และชวยใหการทางานของผดแลระบบดขน ผลงานในระยะเวลาสามปทผานมากคอ ชดซอฟตแวรระบบอนเทอรเนตเซรฟเวอร ซงรวบรวมซอฟตแวรทจาเปนในการสรางระบบอนเทอรเนตเซรฟเวอร และซอฟตแวรควบคมผาน World-Wide Web ทเราเรยกชอวา “Web Admin Tools” ซงเรยนงาย ใชงาย ไมตองทองชอไฟลและ ไดเรกทอรของ UNIX จานวนมาก เพราะโปรแกรมชวยตรวจสอบความถกตองของการทางานโดยอตโนมต แถมผลตรายงานใหดผานจอ Web ไดทนท เราเรยกชอระบบซอฟตแวรทงระบบวา

Page 22: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

คานยม 25

Linux-SIS และเรมเผยแพรรนท 2 ทางแผนซดรอมดวย สวนหนงสอททานกาลงอานอยน จะใหคาแนะนาการใช Linux-SIS รนท 3

จากประสบการณการใหคาแนะนาแกผใชอนเทอรเนตเซรฟเวอร และการนาลนกซมาใชเองในกจกรรมตางๆ เราพบวาเปนสงจาเปนทควรจะรวบรวมประเดนทเปนความรทวไปในการตดตงและดแลอนเทอรเนตเซรฟเวอรเปนรปเลม และเผยแพรพรอมกบซอฟตแวรรนใหมใหเปนผลสาเรจ นอกจากนน ไดพยายามรวบรวมเกรดความรทวไปทเปนประโยชนกบผทตองตดตงอน–เทอรเนตเซรฟเวอรใดๆ ไมจาเปนตองเปนลนกซกได (เชน บทท 1- 4) ตงแตบทท 8 เปนตนไป ทานกจะเรมเขาถงระบบยนกซผานทางคาอธบายททานสามารถทดลองไดเองกบพซของทานโดยใชลนกซ ในบทท 15 ผเขยนไดแนะนาการใชลนกซเชอมตอเขากบเครอขายคอมพวเตอรเพอโรงเรยนไทย โดยผานเลขหมายพระราชทาน "1509" และการใชลนกซทาหนาทเปนเซรฟเวอรประจาโรงเรยนหรอสานกงานและอยในบทท 16

คาแนะนาตางๆ ทเกยวกบการเปดเซรฟเวอรชนดตางๆ บนลนกซอยในบทท 21-30 โดยเรมจาก WWW Server, Proxy/Cache Server, Name (DNS) Server, Mail Server, Radius Server, Database SQL Server, DHCP Server ฯลฯ ซงบทความในกลมนคงถอไดวาเปนหวใจของการตดตงบรการตางๆ ทเซรฟเวอรของทาน อยางไรกด ในการบรหารจดการระบบทด ทานยงจะตองอาศยเครองมอสนบสนนตางๆ อกมาก เซรฟเวอรของทานจงจะมสขภาพดอยางสมาเสมอ คณะผเขยนจงไดนาเสนอเครองมอชวยงานตางๆ เพมเตม ในบทท 31-35 นบตงแตการสราง รายงานวดสภาพการจราจรในเครอขาย การบรการระบบ การเจาะประเดนปญหาของระบบ

เมอทานอานไปถงจดนแลว กคงจะเกดความมนใจในการจดตงเซรฟเวอรขนใชเองไดแนนอน และคงจะไมเปนปญหาใดๆ นก ถาเปนการใชกนในเครอขายอสระ หรอเครอขายในองคกร แตถาเปนการเชอมกบอนเทอรเนตโลก ทานอาจจะตองแวะฟงคาแนะนาทเกยวของกบการรกษาความปลอดภยของระบบ (บทท 36-42) และเรมกาหนดนโยบายการใชระบบในองคกรของทาน หลายสงหลายอยางทในบทกอนๆ บอกวาทาได ทานกอาจจะไมเปดบรการ ดวยเหตผลดานความปลอดภย

เพอใหหนงสอเลมนสมบรณ คณะผเขยนไดนาเสนอเรอง การสราง Web Page อยางงาย ในบทท 43 พรอมกบขอแนะนาอนมคา ในบทท 44 ทเกยวของกบการเขยน HTML รวมถง การใชเครองหมายวรรคตอนตางๆ ใหถกตองตามหลกภาษาไทยและสากล ขอแนะนาในบทน เปนบทความทไดยอมาจากเอกสารททางเนคเทคใชในการแนะแนวคณะผพฒนาขอมลในเครอขายกาญจนาภเษก ตามพระราชดารสมเดจพระเทพรตนราชสดาฯ สยามบรมราชกมาร (ทแอดเดรสhttp://kanchanapisek.or.th)

Page 23: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

26 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในบทท 45 เปนการเกรนถงลนกซในการใชงานแบบตงโตะ กลาวคอ ม Graphical User Interface ของตนเอง ซงในวงการยนกซ ไดยดถอเอาระบบ X-Window เปนมาตรฐานมาชานานแลว เปนทคาดกนวา จะมการนาลนกซมาใชงานเปน client กนมากขนเรอยๆ หากไดมการพฒนาระบบภาษาไทยบน X-Window กนจนถงขนใชการได พรอมทงมโปรแกรมใชงานยอดนยมในสานกงาน เชน งานพมพเอกสาร สเปรดชต และการฉายภาพเพอนาเสนอผลงาน ววฒนาการตางๆ เหลานอาจจะเกดขนในเวลาอนไมชา

สาหรบบทท 46-47 เปนการนาเสนอตวอยางการเขยนสเปกของอนเทอรเนตเซรฟเวอรและการวาจางเดนสายเคเบลใยแกวนาแสง เพอสราง Campus Network ในระดบโรงเรยนขนาดใหญ ตวอยางทนาเสนอเปนตวอยางจรงทใชเมอป พ.ศ. 2540 ซงไมไดกาหนดวาเซรฟเวอรตองเปนยหออะไร แตบอกวาตองทาอะไรไดบาง และมสมรรถนะเทาใด (โดยไมตองระบวาตองเปน CPU รนใด ใช clock ความเรวเทาใด) การจดหาครงนนเปนไปดวยด และสามารถตรวจรบไดงาย เพราะผขายทราบดวาตองตรวจความสามารถทไหนบาง

คณะผเขยนไดใชความวรยะอตสาหะเปนอยางมาก ทจะพฒนาซอฟตแวร SIS ออกมาใหใชงานไดจรง ทงนเราไดทาเอกสารประกอบการใชงานเปนแฟมอเลกทรอนกส เผยแพรพรอมแผนซดของรนทสอง และทดลองเผยแพรออกมาจนเปนเวลาครบหนงปแลว ในระหวางนน ไดอาศยประสบการณและคาแนะนาจากผใช มาพฒนาตอเปน SIS รนทสาม และไดสนบสนนการเผยแพรแผนซดรนใหมโดยการจดทาหนงสอเลมนขนเผยแพร พรอมแผนซดทจาเปนตอการทางาน โดยคณะผเขยนทงหมดประกอบดวย นางสาวศรเพญ วกยสขสกล นายราชบดนทร สวรรณสนต นางสาวองคณา องคลกขณา นายทวศกด ชยรตนายทธ ดร.ศกด เสกขนทด นายจรพล มทวพนธ นายไพศาล เกยรตธนานนท และนายภทระ เกยรตเสว ไดสละเวลาสวนตว มาดาเนนการใหหนงสอเลมนแลวเสรจ พรอมเผยแพรใหกบสาธารณชนในงานประชมวชาการประจาป พ.ศ. 2542 ของสานกงานพฒนาวทยาศาสตรและเทคโนโลยแหงชาต โดยไดรบความรวมมอจากสานกพมพซเอดยเคชนเปนอยางด

ผมคาดวา หนงสอเลมนจะเปนเครองมอทชวยใหทานตดตามสถานการณลาสดของววฒนาการของเทคโนโลยคอมพวเตอร เมอมองลนกซจากมมของผดแลระบบเครอขายคอม– พวเตอร และศกษาหาความรจากกลมคนทวโลกทรวมกนสรางระบบปฏบตการคณภาพสง เพอให ทกคนไดใชรวมกน โดยไมคดเงนคาวจยและพฒนา ผมเชอมนวา หนงสอเลมนจะเปนประโยชนตอการนาไปใชงานเปนอยางด ไมวาจะเพอการสรางและดแลอนเทอรเนตเซรฟเวอรในหนวยงาน

Page 24: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

คานยม 27

หรอเพอใชสวนตว หรออานเพอประดบความร และหากทานจะมคาแนะนาใดๆ แกคณะผเขยน โปรดสงไปใหท [email protected] ไดทกเมอ

เทคโนโลยอนเทอรเนตไดพสจนใหชาวโลกเหนแลววาระบบเครอขายเปดทเปนสากล เปนสงทเปนไปได ผมเชอวาระบบปฏบตการทเปนระบบเปด ทกคนสามารถใชรวมกนไดอยางลนกซ (Linux) อาจจะเปนปรากฏการณ “แบบอนเทอรเนต” ทกาลงเกดขนกบอตสาหกรรมซอฟตแวร ควรแกการตดตามอยางใกลชด

ทวศกด กออนนตกล กมภาพนธ 2542

Page 25: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

30 สรางอนเทอรเนตเซรฟเวอรดวย Linux

บทนา

ในปจจบน คงเปนทยอมรบกนวา เครอขายอนเทอรเนตเปนแหลงขอมลความรมหาศาล ชวยใหเราสามารถรบ และแลกเปลยนขอมลกบผอนทอยทวทกมมโลก ไดในเวลาอนรวดเรว องคกรทงภาคการศกษาวจย และภาคธรกจ ทงภาครฐบาล และเอกชน ตางนยมทจะเชอมตอหนวยงานของตนเองเขากบเครอขายอนเทอรเนต

การเชอมตอกบเครอขายอนเทอรเนตนนม 2 รปแบบ คอ แบบผใช (Dial-up User) และแบบองคกร (แบบ Node) แบบแรกนนงาย เสยคาใชจายนอย เพยงมเครองคอมพวเตอร โมเดม สายโทรศพท และบญชอนเทอรเนต (จาก ผใหบรการอนเทอรเนต หรอ Internet Service Provider) กสามารถใชงานอนเทอรเนตไดทนท แตจะมขอเสยคอ สามารถใชงานไดเพยงครงละ 1 คน (หรอถามอปกรณชวย จะเพมใหใชงานไดถง 3-5 คน) และจะตองหมนโทรศพททกครงทตองการใชงาน หนวยงานซงมขนาดปานกลางถงใหญ จงมกจะเชอมตอแบบองคกร ซงจะเปนการเชอมตอแบบ 24 ชวโมง สามารถม Web Server ใหบรการขอมลของหนวยงานตนเองได สามารถแจกจายบญชอนเทอรเนตใหกบผใชภายในหนวยงานไดอกดวย โดยแบบหลงนจะตองมวงจรสอสารเชา (Leased Line) เชอมตอไปยงผใหบรการอนเทอรเนต และยงจะตองมเครองคอมพวเตอรททาหนาทเปน Internet Server ทใหบรการงานตางๆ เชน WWW Server ใหบรการขอมลแบบ WWW ของหนวยงานเอง, FTP Server ใหบรการขอมลแบบ FTP, Mail Server ใหบรการรบสงจดหมายอเลกทรอนกสกบสมาชกภายในองคกร และอนๆ อกมาก แตเดมนนคอมพวเตอรททาหนาทเปน Internet Server จะตองใชฮารดแวรและซอฟตแวรทมราคาแพง แตในปจจบนมซอฟตแวร Linux ซงสามารถทางานไดบนฮารดแวรแบบ Intel-x86 Compatible PC (Personal Computer) หรอเครองคอมพวเตอรสวนบคคลทเราใชกนทวไปนนเอง ซอฟตแวร Linux สามารถใชงานไดอยางถกกฎหมาย โดยไมตองเสยคาใชจายดานลขสทธอกดวย

Page 26: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทนา 31

ซอฟตแวร Linux มประสทธภาพสง สามารถทาหนาท Internet Server ไดเปนอยางด ดงนนหนงสอเลมนจงจะกลาวถงการตดตงและใชงาน Linux เปน Internet Server เปนเนอหาหลก

‘Ëß∑’Ë¡’„πÀπ—ß ◊Õ‡≈Ë¡π’È คาวา Linux ทจรงแลวจะหมายถงเฉพาะตวแกนกลางของระบบ (Linux Kernel) แตเรา

มกจะใชเปนคาเรยกรวมของสวนทเปนระบบปฏบตการ (เทยบเทากบ Microsoft Windows NT, Microsoft Windows 95, IBM OS/2, Novell Netware) และสวนทเปนโปรแกรมประยกตเพมเตมอกมาก เราสามารถใช Linux และโปรแกรมเพมเตมเหลานในงานไดหลายรปแบบ ตวอยางเชน

• Internet Server ใหบรการงานตางๆ เกยวกบอนเทอรเนต เชน ทาเปน WWW, FTP, DNS, Cache/Proxy, SMTP, IMAP/POP, Radius, Firewall Intranet Server

• Intranet Server ใหบรการงานตางๆ เกยวกบอนทราเนต ใชภายในองคกร เชน ทาเปน Intranet WWW, File, Print Server รวมถงงานฐานขอมล และ Groupware

• Desktop ใชเปนเครองตงโตะทางานสวนบคคล เชน พมพจดหมาย สรางตารางคานวณ รบ–สงจดหมายอเลกทรอนกส เปนตน

• งานวจยและพฒนา ใชในการพฒนาโปรแกรมภาษาตางๆ เชน C, C++, JAVA, COBOL, PASCAL, FORTRAN, Perl, TCL/TK เปนตน

• งานศกษา ใชในการเรยนการสอน ถงโครงสรางระบบปฏบตการ การเขยนโปรแกรมตางๆ

• งานกราฟกและออกแบบ ใชในการออกแบบรปทรง และภาพตางๆ รวมถงการทาภาพเคลอนไหว

จะเหนวาเราสามารถนา Linux ไปใชในงานตางๆ มากมายหลายแขนง ในหนงสอเลมน จะกลาวถงการนา Linux ไปใชเปน Internet Server เปนหลกเทานน โดยอาจมสวนอนเพมเตม เลกนอย เกยวกบการใชงานเปน Intranet (Database Server) และสวน Desktop (X Windows) เพอประกอบการใชงาน นอกจากนจะมการปพนความรทางดานเครอขายคอมพวเตอรดวย

Page 27: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

32 สรางอนเทอรเนตเซรฟเวอรดวย Linux

‘Ëß∑’ˉ¡Ë¡’„πÀπ—ß ◊Õ‡≈Ë¡π’È • ดงทกลาวไวในหวขอทแลววาหนงสอเลมนจะเนนดานการนา Linux ไปใชเปน Internet

Server เทานน จงไมเนน การใชงาน Linux ในดานอนๆ จะมเลกนอยกเพอประกอบความเขาใจ

• การใชคาสง Unix พนฐาน มหนงสอภาษาไทยจานวนมากทสอนเรองน

• การบรหารเครอง Linux (Linux System Administration) อยางละเอยด หนงสอเลมน จะเนนการบรหารงานเครองในสวนทเกยวกบเครอขายและอนเทอรเนต (Internet) เทานน ไมไดครอบคลมถงการบรหารเครองในทกแงมมอยางละเอยด

‘Ëß∑’˧«√√ŸÈ°ËÕπÕË“πÀπ—ß ◊Õ‡≈Ë¡π’È ผอานควรจะมความรพนฐานในดานตางๆ เหลาน

• พนฐานคอมพวเตอร ทานควรเขาใจความหมายของคาวา บต, ไบต, CPU, RAM, IDE, SCSI, Disk Partition, Serial Port, Parallel Port, CD-ROM มหนงสอภาษาไทยจานวนมากเกยวกบพนฐานคอมพวเตอร ตามรานหนงสอชนนาทวไป

• พนฐานดานเครอขายอนเทอรเนต ทานควรเขาใจความหมายของคาวา E-mail, World Wide Web (WWW), WWW Browser, Homepage, FTP, CGI มหนงสอภาษาไทยจานวนมากเกยวกบอนเทอรเนตเบองตน ตามรานหนงสอชนนาทวไป

• พนฐานดานการบรหารเครอง (หากทานเคยมประสบการณกบ DOS, Microsoft Windows95, Novell Netware หรอ Microsoft Windows NT จะชวยไดมาก หากทานเคยมประสบการณกบ Unix มาแลวจะสบายทสด) ทานควรเขาใจความหมายและสามารถใชคาสงเพอการสรางและทาสาเนาไฟล การเปลยนแปลงไดเรกทอร (สราง ลบ เปลยนชอ) การสราง Disk Partition (fdisk) การ format ฮารดดสก รวมทงควรมพนฐานดานฮารดแวรบางเลกนอย ควรรวาอปกรณชนไหน คอ ฮารดดสก และ Ethernet Card

Page 28: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทนา 33

หากทานทราบถงการใชงาน Linux โดยละเอยด ควรหาความรเพมเตมในดานตอไปน

• พนฐานดาน Unix Command เชน การใชคาสงเบองตนตางๆ ในการสรางและทาสาเนาไฟล, การเปลยนแปลงไดเรกทอร (สราง ลบ เปลยนชอ) การใช PIPE และ Redirector (|, >, >>, <) File Permission (เชน rwxr-xr-x คออะไร) การเขยน Shell Script อยางงาย ซงมหนงสอภาษาไทยจานวนมาก ทสามารถหาซอไดตามรานหนงสอชนนาทวไป

• การบรหารงานเครอง (Unix System Administration) ดงทกลาวไวแลววา หนงสอเลมนครอบคลมถงการบรหารงานเครองในสวนทเกยวกบเครอขาย และอนเทอรเนตเทานน ยงไมครอบคลมไดหมดทกแงมมของการบรหารเครอง ดงนน จงควรหาหนงสอเกยวกบ Linux System Administration ซงมอยจานวนมาก (สวนมากเปนภาษาองกฤษ) บางสวนอาจหาเอาไดฟรจากอนเทอรเนต รวมถงในแผนซดรอมทแนบมากบหนงสอเลมน (ดภาคผนวก)

‚§√ß √ȓߢÕßÀπ—ß ◊Õ‡≈Ë¡π’È หนงสอเลมนจะถกแบงออกเปน 11 ภาค โดยมรายละเอยดดงน

• ภาคท 1 คานยม

• ภาคท 2 บทนา ททานกาลงอานอยน

• ภาคท 3 เทคโนโลยเครอขายอนเทอรเนต เปนการปพน และทบทวนความจาเกยวกบเทคโนโลยเครอขาย และ TCP/IP

• ภาคท 4 Linux เบองตน ทาความรจกกบ Linux กนกอน

• ภาคท 5 Linux-SIS แนะนาถง Linux-SIS หากทานเปนผใช Linux ยหออนๆ เชน RedHat หรอ Slackware โปรดขามสวนนไป

• ภาคท 6 การตดตงและใชงาน Internet Server ตางๆ จะแนะนาถงการตดตง Internet Server แบบตางๆ

• ภาคท 7 ซอฟตแวรชวยงานเพมเตม ซงอาจจะเปนประโยชนกบการใชงานเครอขาย

Page 29: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

34 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ภาคท 8 การรกษาความปลอดภย เครอขายอนเทอรเนต มทงผประสงคด และประสงครายกบเครอง Linux ของเรา สวนนจะแนะนามาตรการในการปองกนความปลอดภย

• ภาคท 9 การสราง Web Page มคาแนะนาในการสราง Web Page อยางงาย รวมถงขอแนะนาในการเขยน HTML

• ภาคท 10 การใชงาน Linux ในแบบ Desktop แนะนาการใชงาน Desktop เบองตน และ X Window System

• ภาคท 11 คาแนะนาในการจดซออปกรณเครอขาย มตวอยางเขยนขอกาหนดในการจดซออปกรณครภณฑเครอขาย

• ภาคผนวก เปนการใชงานแผน CD–ROM ทมาพรอมกบหนงสอเลมน รวมทงลขสทธและทมงานผพฒนาโปรแกรม Linux–SIS

Page 30: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

36 สรางอนเทอรเนตเซรฟเวอรดวย Linux

‡§√◊բ˓¬Õ‘π‡∑Õ√χπÁµ ในทางเทคนคแลว เราสามารถกลาวไดวา เครอขายอนเทอรเนต คอ เครอขายของคอม–

พวเตอร หรออปกรณตางๆ ทสอสารกนในระดบ Network Layer ดวยโปรโตคอล IP ทานอาจม คาถามตอไปวา แลวระดบ Network Layer หมายความวาอยางไร

สบเนองมาจาก ISO (International Organization for Standardization, http://www.iso .ch) ไดกาหนดมาตรฐานการสอสารขอมลบนเครอขายระหวางจดปลาย 2 จดใดๆ ทเรยกวา OSI (Open Systems Interconnection) Reference Model โดยจะแบงงานออกเปน 7 ระดบ ดงทแสดงในรปท 1.1

ApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

ApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

รปท 1.1 แสดง OSI 7 Layers

Page 31: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 37

• ระดบท 7 Application Layer เปนระดบทสงทสด เปนสวนทระบเกยวกบ Quality of Service, User Authentication, ขอกาหนดของ Data Syntax

• ระดบท 6 Presentation Layer จดการเกยวกบรปแบบของขอมลทจะนาเสนอ เชน แปลงจาก text stream เปน Pop-up windows ทสวยงาม

• ระดบท 5 Session Layer จดการเกยวกบการสราง ใชงาน และยกเลกการตดตอการสอสารระหวางแอปพลเคชนระหวางทงสองปลาย

• ระดบท 4 Transport Layer จดการในระดบ End-to-end control และทาการตรวจสอบความผดพลาด ใหขอมลมความถกตอง

• ระดบท 3 Network Layer จดการเกยวกบการเลอกเสนทาง ใหขอมลไปถงปลายทางอยางถกตอง

• ระดบท 2 Data Link Layer มการควบคมความผดพลาด และทา Synchronization ในระดบกายภาพ

• ระดบท 1 Physical Layer จดการดานการสอสารขอมลในระดบฮารดแวรใหสญญาณขอมล (bit stream) สงไปถงอกปลายขางหนง

ระหวางอปกรณสองอยางทตองการสอสารขอมลกน แตละระดบทเทากนจะตดตอกนดวยภาษา และมาตรฐานเฉพาะของระดบนนๆ ระดบทตากวาจะรบสง และประมวลผลขอมลในระดบของมน แลวสงตอใหกบระดบทสงกวา และรบคาสงจากระดบทสงกวาเพอทาการรบสงขอมลตอไป (ดจากลกศรในภาพ)

ในหนงสอเลมน เราจะเนนไปท 4 ระดบลาง (1-4) ทจะตองทาความเขาใจ เพราะจะเปนประโยชน และเปนพนฐานตอไปในบทอนๆ สวนในระดบสงกวานน จะอยนอกเหนอจากหนงสอเลมน หากทานสนใจ สามารถหาอานไดในสวนแหลงขอมลเพมเตม หรอในหนงสอเกยวกบ Data Communications ทวไป

ระดบท 1 หรอ Physical Layer นน เปนระดบฮารดแวร พดงายๆ กคอ ระบวาทา อยางไรสญญาณไฟฟา จะสงถงกนไดระหวาง 2 ปลาย จะยงเกยวกบมาตรฐานของสวนเชอมตอตางๆ (จะเปนฮารดแวร) เชน V.35, RS.232 (PC’s Serial Port), RJ-45 วาจะตองมการกาหนดหวสาย จานวนขา ความยาวสงสดใชไดเทาไร เปนตน จะเกยวของในระดบสญญาณเทานน ไมมการตรวจสอบความผดพลาดใดๆ ทงสน

Page 32: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

38 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ระดบท 2 หรอ Data Link Layer จะรวมการตรวจสอบความผดพลาดและการ Synchro–nize ในระดบกายภาพ ในการรบสงขอมลระหวางปลายสองปลาย พดแบบงายๆ กคอ ทาอยางไรใหขอมลดจตอล (0,1) สงจากปลายหนงไปถงอกปลายหนงได ตวอยางโปรโตคอลในระดบ 2 เชน Ethernet, Token Ring, ATM, Frame Relay, PPP เปนตน ระดบนจะไมมการเลอกเสนทางมาเกยวของ ดงนนจงทางานระหวาง 2 ปลายทมการเชอมตอทางกายภาพถงกนเทานน เชน ตออยใน Hub, ring เดยวกน ตอดวยกนดวย Leased Line

ระดบท 3 หรอ Network Layer จะตอบคาถามทวา ถาจะไปยงปลายทางน (ซงอาจจะ อยไมตดกนทางกายภาพ) จะตองไปทางไหน คอจะตองมการเลอกเสนทางมาเกยวของนนเอง (Routing) ซงเสนทางทขอมลวงไปนน กอานจะผานหลายเสนทางยอย ทมการจดการในระดบท 1 และ 2 แตกตางกน เชน ผานเครอขายทเปน Ethernet และ Token Ring จากหลกการของ OSI กจะไมมผลตอการทางานในระดบ Layer 3 เนองจาก Layer ทตากวา คอ Layer 2 กจะสงขอมลทมนไดรบ และประมวลผลเรยบรอยแลวมาให ในระดบ Layer 3 จงทางานไดโดยไมจาเปนตองรวาในระดบ Layer 2 นนรบสงกนดวยมาตรฐานอะไร ตวอยางโปรโตคอลในระดบท 3 น กเชน IP (Internet Protocol) ทเราใชในเครอขายอนเทอรเนตนนเอง รวมถง IPX สาหรบเครอขายทสนบสนนโดยระบบปฏบตการ Novell Netware

ในระดบท 4 หรอ Transport Layer จะตอบคาถามทวา จะสอสารขอมลกบปลายทางนน ตองทาอยางไร โดยจะอาศยการทางานของ Layer 3 ทจะทาการเลอกเสนทางและสงขอมลให ในระดบนจะทาการตรวจสอบความผดพลาดของขอมลในระดบสง เชน ตรวจวามการเรยงลาดบ ผดพลาดไหม มสวนทผดพลาดบางบตไหม และทาการสงหรอขอใหสงใหมถาขอมลสญหายไป ตวอยางโปรโตคอลในระดบท 4 เชน TCP (Transmission Control Protocol) และ UDP (User Datagram Protocol) ทใชทางานอยบน IP (ระดบท 3) อกท

สรปไดวา

• OSI Reference Model เปนมาตรฐานทใชในการรบสงขอมลระหวางสองปลายใดๆ ในเครอขายสอสารแบงออกเปน 7 ระดบ

• แตละระดบมการกาหนดมาตรฐานในการตดตอเปนของตวเอง และระดบหนงจะตดตอกบระดบทเทากนของอกปลายหนง

• ระดบทสงกวาจะสงงานและรบขอมลทประมวลผลแลวจากระดบทตากวา ไมจาเปนตองทราบรายละเอยดของการทางานของระดบทตากวา

Page 33: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 39

• เครอขายอนเทอรเนต คอเครอขายของคอมพวเตอร หรออปกรณตางๆ ทสอสารกนในระดบ Network Layer ดวยโปรโตคอล IP

LAN ·≈– WAN LAN ยอมาจากคาวา Local Area Network คอเครอขายทเชอมตอคอมพวเตอรหรออปกรณ

อนๆ เชน เครองพมพ (printer) หลายๆ เครองเขาดวยกน โดยทเครอขาย LAN มกจะมขนาดเลก ครอบคลมพนทจากด เชน หองหนงหอง ตกหนงตก หรอหลายตกทอยใกลเคยงกน LAN มประโยชนทสามารถทาใหเครองคอมพวเตอร ทงหลายสงขอมลถงกนอยางสะดวก รวดเรว นอกจากนนเครองคอมพวเตอรตางๆ บน LAN ยงสามารถใชทรพยากร (resource) รวมกนได เ ช น ใชเครองพมพหรอฮารดดสกรวมกน ทงยงสามารถเรยกใชโปรแกรมบางอยางจากฮารดดสกบนเครอขายมาใชไดเสมอนโปรแกรมนนอยบนฮารดดสกของตนเอง

เทคโนโลยของ LAN มหลายชนด เชน Ethernet, Fast Ethernet, Token Ring และ FDDI เปนตน แตเทคโนโลยทไดรบความนยมมากทสดในปจจบนคอ Ethernet และ Fast Ethernet

ตรงขามกบเครอขายแบบ LAN กคอ WAN (Wide Area Network) ซงจะเปนเครอขายทเชอมคอมพวเตอร หรออปกรณตางๆ ทอยหางไกลกนเขาดวยกน อาจจะเปนองคกรเดยวกน แตตางสาขากน หรอตางองคกร รวมถงตางประเทศ เทคโนโลยของ WAN จะมเชน X.25, Frame Relay, ATM

โดยสรปแลวกคอ

• เครอขาย LAN คอเครอขายภายในเชอมตอระยะใกล และมความเรวสง

• เครอขาย WAN คอเครอขายทเชอมตอระยะไกลระหวางหนวยงาน จะมความเรวตาหรอสงขนอยกบปรมาณการใชงาน

Page 34: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

40 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Ethernet Ethernet เปนเทคโนโลยสาหรบเครอขายแบบ LAN ทถกคดคนเปนครงแรกโดยบรษท

Xerox และปจจบนไดรบความนยมสงสด Ethernet ใชมาตรฐาน IEEE 802.3 เครอขาย Ethernet ใชสาย Co-Axial หรอ สาย Unshielded Twisted Pair (UTP) ในการเชอมตอคอมพวเตอรเขาดวยกน ในปจจบนระบบ Ethernet ทใชกนแพรหลายทสดคอ 10BASE-T ทใชสาย UTP เปนสอ ซงสามารถสงขอมลไดเรวถง 10 Mbps (ลานบตตอวนาท) กรณทใชสาย UTP จะตองมอปกรณทเรยกวา Hub โดยคอมพวเตอรตางๆ จะตอสาย UTP ของตนเองไปยงอปกรณ Hub น

อปกรณทเชอมตอบน Ethernet LAN วงเดยวกนนนจะแขงกนในการสงขอมล ถาเกดการสงขอมลพรอมกนและสญญาณชนกน จะตองมการสงใหม เปนแบบ (CSMA/CD หรอ Carrier Sense Multiple Access with Collision Detection) ทาใหเสยเวลารอ แทนทจะไดสงเลย จงควรมการกาหนดจานวนเครองทจะอยในวง Ethernet LAN เดยวกนใหเหมาะสม (สวนใหญไมเกน 30 เครอง)

คาวาอยในวง LAN เดยวกน มความหมายวา อปกรณนนๆ มการเชอมตอถงกนทางกายภาพ (Physical) เชน ตออยใน Hub เดยวกน หรอตอตาง Hub กน แตทงสอง Hub นนมการตอเชอมถงกน ยกตวอยางเชน คอมพวเตอรเครองท 1 ตอเขากบ Hub ตวท 1, คอมพวเตอรตวท 2 ตอเขากบ Hub ตวท 2 กไมเรยกวา อยในวง LAN เดยวกน แตหากมสายเชอมตอระหวาง Hub ทงสองนเมอไร กคอจะอยในวง LAN เดยวกนทางกายภาพทนท (เปรยบเสมอนเปน Hub ตวใหญตวเดยว)

อกวธหนงทจะแกปญหาการชนกนนน อาจใชอปกรณ Ethernet Switch กรณตวอยางเครอง คอมพวเตอร 2 เครองกบ Hub 2 ตวขางตนนน หาก Hub ทงสองไมไดเชอมถงกนโดยตรง แตตางตอเขา Switch นน ทงสองเครองจะอยในวง LAN เดยวกนแตไมใชทางกายภาพ จะไมเกดปญหาการชนระหวางเครองคอมพวเตอรทตอคนละ Hub กน สามารถแกปญหาไดมากทเดยว

ปจจบนมเทคโนโลย Ethernet ใหมๆ เชน Fast Ethernet ซงสามารถสงขอมลไดเรวถง 100 Mbps และ Gigabit Ethernet โดยมจดประสงคจะเพมประสทธภาพเครอขาย backbone ถง 1,000 Mbps (หรอ 1 Gbps : 1 พนลานบตตอวนาท) โดยทงสองตางมลกษณะการเชอมตอคลายกบ Ethernet ธรรมดา

Page 35: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 41

สรปไดวา

• เทคโนโลย Ethernet จดไดวาเปนเทคโนโลยทใชกนแพรหลายบนเครอขายแบบ LAN มากทสด

• จดออนของ Ethernet คอ กรณทมอปกรณอยบนเครอขายมาก จะมโอกาสเกดการชนกน ในการสงขอมลสง ซงจะทาใหประสทธภาพโดยรวมตกลง

• วธแกทาไดคอ เพมความเรวเปน Fast Ethernet, Gigabit Ethernet, ควบคมจานวนอปกรณบนวง LAN หรอใช Ethernet Switch เขาชวย

Leased Line Leased Line หรอวงจรเชา/คสายเชา เปนวงจรเหมอนวงจรโทรศพททมการกาหนดตนทาง

และปลายทางทแนนอน ใชไดตลอด 24 ชวโมงโดยไมตองหมนเบอรโทรศพทปลายทางอกและ ไมตองมการวางสาย คาเชา Leased Line มกเปนอตราทคงทตอเดอน มความเรวตงแต 9,600 kbps, 64 kbps, 128 kbps ไปจนถง 34 Mbps เราสามารถสงขอมลทเปน data หรอเสยงกไดบน Leased Line

หนวยงานทวไปทตองการเชอมตอกบอนเทอรเนต แบบองคกร หรอทเรยกวา Internet node มกเชา Leased Line เพอเชอมตอ router ของหนวยงานตนเขากบอปกรณแบบเดยวกนทบรษทใหบรการอนเทอรเนต (Internet Service Provider: ISP) โดยจะเปนการเชอมตอเขากบเครอขายอนเทอรเนตตลอด 24 ชวโมง ไมจาเปนตองหมนโทรศพทเพอใชงานแตละครง เหมอนการใชงานสวนบคคล (Dial-up user)

วงจรเชา หรอคสายเชาน ถาเปนวงจรภายในประเทศ ผใหบรการจะเปนองคการโทรศพทแหงประเทศไทย หรอบรษทซงไดรบสมปทาน ถาเปนวงจรตางประเทศ ผใหบรการจะเปนการสอสารแหงประเทศไทย การพจารณาจดหาวงจรเชาน นอกจากตองพจารณาเรองความเรวในการสงขอมลแลว อาจตองคานงถงสอทใชดวย แบบทใชสายใยแกวนาแสง (Fiber Optic) จะมประสทธ–ภาพทดกวาแบบผานดาวเทยม แตกจะมราคาสงกวา

Page 36: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

42 สรางอนเทอรเนตเซรฟเวอรดวย Linux

สรปไดวา

• Leased Line คอวงจรเชา ทเราสามารถใชงานไดตลอดเวลา ไมจาเปนตองมการหมนโทรศพทเพอใชงานในแตละครง

• ปจจยในการพจารณาเลอกใช Leased Line คอผใหบรการ ความเรว ชนดของสอ

Frame Relay Frame Relay เปนบรการทางเครอขายโทรคมนาคมชนดหนงทเหมาะกบการรองรบขอมล

ของคอมพวเตอร ฉะนน Frame Relay จงเปนทางเลอกทดสาหรบการเชอมตอ LAN หรอ เครอขายสองเครอขายทอยหางกน (WAN: Wide Area Network) Frame Relay เปนเทคโนโลย ทพฒนามาจาก X.25 และเนองจาก Frame Relay ไดถกออกแบบมาบนสมมตฐานวาเครอขายโทรคมนาคมสมยใหมเปนระบบดจตอลซงมอตราการผดพลาดของขอมลตา ดงนน Frame Relay จะมการตรวจเชคความถกตองของขอมล เฉพาะทปลายทางเทานนไมใชทกจดระหวางทางเหมอน X.25 ทาให Frame Relay สามารถสงขอมลไดเรวกวา X.25 กลาวโดยสรปคอ เนองจากเครอขายสมยใหมมขอผดพลาดนอยลง Frame Relay จงลดการตรวจความถกตองใหนอยลด ประหยดเวลานนเอง

บรการ Frame Relay ไดรบความนยมเพมขนมากโดยเฉพาะในเวลาไมกปทผานมา หนวยงานบางแหงเลอกใช Frame Relay เพยงเพอทดแทน Leased Line แตในความเปนจรงแลว Frame Relay ไดเปรยบกวา Leased Line ในแบบเกาอยมาก ลกษณะของ Frame Relay จะเปนแบบ Packet switching เชนเดยวกบ X.25 ตางจาก Leased Line ซงเรยกไดวาเปน Circuit Switching, Circuit Switching นน คดงายๆ เหมอนกบการใชโทรศพททวไป คอมการเชอมตอ ชดเจนระหวางจดหนงกบอกจดหนง และจะใชไดเฉพาะผสนทนาทงสองเทานน เวลาใดททงคหยดพด กจะไมมขอมลใดๆ สงระหวางกน กเปนการสญเสยประสทธภาพของวงจรสอสารโดยรวมไปเปลาๆ จงมการคดคนวธ Packet Switching คอ จะไมมการจองวงจรสอสารไวใหคสนทนาคใดคหนง ขอมลจากแตละคนจะถกหนเปนชนเลกๆ เรยกวา Packet และสงเขาไปในเครอขาย ซงจะทาการสงตอไปยงปลายทาง ดงนนเครอขายจงมลกษณะเปนเครอขายรวมสาหรบทกคน ไมมการจองชองสญญาณใหคใดคหนง จดเดนกคอ เปนการใชงานเครอขายโดยรวมอยางคมคา ขณะทเราไมไดสงขอมลอะไร หากอกคสนทนามความตองการจะใช กสามารถใชสวนของเราทวางได

Page 37: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 43

ในการเลอกใชวงจรสอสารแบบ Frame Relay นน จะตองพจารณาถงคา 2 คา คอ CIR (Committed Information Rate: CIR) คอคาความเรวทรบประกนวาจะไดรบขนตา และ MIR (Maximum Information Rate: MIR) หมายถง คาความเรวทจะสงไดมากทสด กรณวงจรสอสารรวมมทเหลอ (เนองจากผใชรายอนๆ ไมไดมการสงขอมลในชวงนน) ในขณะเดยวกน ถาตอนไหนทเราไมไดใช คนอนกสามารถมาใชในสวนของเราไดเชนกน

เชน Frame Relay ทม CIR 64 kbps หมายความวา จะสามารถสงขอมลไดไมนอยกวา 64 kbps ไมวาในกรณใดๆ แตถาในขณะใดขณะหนง ผสงมความจาเปนตองสงขอมลทมากกวา 64 kbps (burst) เครอขาย Frame Relay กจะใหผานไดถาเครอขายรองรบไหว (ผอนอาจไมไดสง ขอมลในชวงนน) ตราบใดทยงไมเกนคา MIR

นอกจากนน Frame Relay ยงชวยประหยดจานวน port ของอปกรณเครอขายและจานวนวงจรได เมอเทยบกบ Leased Line ในกรณทมความจาเปนในการเชอมตอหนวยงานหลายๆ แหงเขาดวยกน

สรปไดวา

• Frame Relay เปนเครอขายแบบ Packet Switching ซงสามารถใชงานเครอขายโดยรวมไดอยางคมคากวา Leased Line ซงเปนแบบ Circuit Switching

• เราสามารถสงขอมลไดเกนกวาปกต ถาเกดวงจรสอสารรวมวาง (ผอนไมไดใช) นนนบเปนขอด แตในขณะเดยวกน ผใชคนอนๆ กสามารถใชในสวนของเราเวลาทเราไมไดใชเชนกน

• จะมการรบประกนคณภาพของวงจรสอสารโดยใชคา CIR และ MIR เราสามารถสงขอมลไดอยางนอยเทากบคา CIR และอาจเกนไดถงคา MIR

°“√ ◊ËÕ “√¢ÈÕ¡Ÿ≈·∫∫ Connection-Oriented ·≈– Connectionless

การสอสารขอมลบนเครอขายอนเทอรเนตนน จะทาไดโดยใชกฎขอบงคบทเรยกวา IP (In–ternet Protocol) เครอขายอนเทอรเนตบางครงจงถกเรยกวา เครอขาย IP (IP Network) โดย IP จะโปรโตคอลในระดบท 3 ของ OSI Model หรอ Network Layer โดยจะมโปรโตคอลระดบสง

Page 38: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

44 สรางอนเทอรเนตเซรฟเวอรดวย Linux

(ระดบท 4 ของ OSI Model คอ Transport Layer) ททางานอยเหนอระดบ IP อกท คอ TCP (Transmission Control Protocol) และ UDP (User Datagram Protocol)

TCP จะเปนการสอสารขอมลแบบ Connection-Oriented คอมลกษณะเหมอนการสงขอมลเสยงทางโทรศพท คอผใชตองสราง connection (หมนโทรศพท) แลวถงสงขอมล (พดโทรศพท) และเมอใชเสรจแลวกยกเลก connection (วางสายโทรศพท) การสงขอมลแบบน เปรยบเสมอนการสงของผานทอ คอผสงสงของทละชนไปตามทอ แลวผรบซงอยอกปลายหนงของทอกรบของทละชนออกจากทอ ตามลาดบทของถกสงมา

TCP ซงเปนแบบ Connection-Oriented น จะตองเสยเวลาในการเรมตนทาการสอสารคอนขางนาน การรบสงขอมลจะมความถกตอง และรบรองการไดรบของอกฝายไดแนนอน โดยผสงจะรอรบคายนยนวา “ไดรบแลว” ของขอมลชดทแลวจากผรบเสยกอน จงคอยดาเนนการสงขอมลชดตอไป เหมาะกบขอมลปรมาณมากๆ และมความสาคญ ตวอยางการใชงานทใช TCP เชน E-mail, World Wide Web และ FTP (File Transfer Protocol) เปนตน

สาหรบแบบ UDP จะเปนการสอสารขอมลอกชนดหนงทเราเรยกวา Connectionless แบบนมลกษณะคลายการสงจดหมายในระบบไปรษณย กลาวคอขอมลหนวยยอย (จดหมายแตละฉบบ) มทอยปลายทางของผรบ และแตละหนวยขอมลจะถกสงตอเปนชวงๆ (ผานททาการไปรษณยแตละพนท) จนถงจดหมาย การสงขอมลลกษณะนแตละหนวยขอมลอาจมเสนเดนทางตางกนเลกนอย และเปนไปไดวาจดหมายทสงทหลงอาจถงปลายทางกอน

แบบ Connectionless น การเรมตนสงสามารถทาไดรวดเรว เนองจากไมตองเสยเวลา สราง connection แตกไมสามารถรบรองการไดรบขอมลของอกฝาย เหมาะกบการสงขอมลเพยงเลกนอย สงเพยงครงเดยวกเสรจสน หรอขอมลทไมสาคญมาก สามารถสญเสยไดบางสวน ตวอยางงานทใช UDP เชน สญญาณ Video, เสยง ซงขอมลสามารถหายไปบางสวนได

สรปไดวา การสอสารขอมลบนอนเทอรเนต จะม 2 แบบ

• TCP เปนแบบ Connection-Oriented ตองสราง connection กอน เสยเวลาตอนเรมตน หลงจากนนจงเรมสงได มการรบประกนวาขอมลถงปลายทางอยางถกตอง

• UDP เปนแบบ Connectionless ไมมการสราง connection สงไดเลย ทาไดรวดเรว แตไมมการรบประกนวาขอมลถงปลายทางอยางถกตอง

Page 39: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 45

Internet Address (IP Address) คอมพวเตอรทกเครองบนอนเทอรเนตจาเปนตองมหมายเลข IP (IP Address) ทไมซากบ

ใคร เปรยบเสมอนบานเลขทในเครอขายอนเทอรเนต หมายเลข IP มขนาด 32 บต (4 ไบต, 8 บตเปน 1 ไบต) โดยเขยนเปนเลขฐานสบ 4 ตว คนโดยเครองหมายจด (dotted-decimal notation) ตวอยางเชน 203.150.154.5 เปนตน (หนงเลขฐานสบแทนหนงไบต) หมายเลข IP ประกอบดวยสองสวนหลกคอ หมายเลข Net ID (network ID or address) และ หมายเลข Host ID (host ID or address)

จาก IP Address ทเราไดรบแจกจายมา สวน Net ID เราจะเปลยนแปลงไมได เราจะเปลยนแปลงไดเฉพาะสวน Host ID ซงกหมายความวา ถา IP Address ทเราไดรบมามจานวนบตในสวน Host ID มากเทาใด กสามารถนาไปแจกจายใหกบคอมพวเตอรตางๆ ในหนวยงานของเราไดมากเทานน

หมายเลข IP Address ทเราพบเหนและใชกนบอยๆ นน คอ Class A, B, C ซงจะมขนาดของ Net ID และ Host ID แตกตางกนดงรปท 1.1 โดยแกน 0, 8, 16, 24, 32 นนมหนวยเปนบต

8

Class A

Class CClass B

Net ID : Host ID

0 322416

รปท 1.1 รปแสดงจานวน Net ID และ Host ID ของ IP Address แบบ Class A, B และ C

จากรปท 1.1 เราอาจกลาวไดวา คาวา Class A IP Address หมายความวา IP Address ทมจานวน Net ID 8 บต และ Host ID 24 บต, คาวา Class B IP Address หมายความวา IP Address ทมจานวน Net ID 16 บต และ Host ID 16 บต และ คาวา Class C IP Address หมายความวา IP Address ทมจานวน Net ID 24 บต และ Host ID 8 บต

อยางไรกด เราอาจไดยน หรอไดอานในบางตารากลาวไววา หมายเลข IP มทงหมด 5 แบบหรอ class ดงตอไปน

Page 40: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

46 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Class RangeA 0.0.0.0 ถง 127.255.255.255B 128.0.0.0 ถง 191.255.255.255C 192.0.0.0 ถง 223.255.255.255D 224.0.0.0 ถง 239.255.255.255E 240.0.0.0 ถง 247.255.255.255

รปท 1.2 Range ของ IP Class ตางๆ

วธกาหนดวา IP แตละ Class เปนอยางไรนน จากวธทกลาวมาสองแบบนนแตกตางกน ขนอยกบแตละตารา แตความจรงแลว ความแตกตางเกดขนเนองมาจากในยคอนเทอรเนตเรมแรกนน การแจกจาย IP Address จะกระทาโดยแจกเปน Class A, B หรอ C ขนอยกบจานวนความตองการในการใชงานขององคกรทขอ โดยถาจะแจก Class A จะแจกโดยใช IP ทอยระหวาง 0.0.0.0 ถง 127.255.255.255 เชน 16.0.0.0 ถาจะแจก Class B จะแจกโดยใช IP ทอยระหวาง 128.0.0.0 ถง 191.255.255.255 เชน 164.115.0.0 ตามตารางในรปท 1.2 แตภายหลงมา เครอ–ขายอนเทอรเนตไดเจรญเตบโตขยายขนอยางรวดเรว ทาให IP Address ทงหมดทม (0.0.0.0 ถง 255.255.255.255) เรมจะเหลอนอย จงมการเขมงวดในการแจกจายมากขน จะเหนวา IP ใน class A และ class B นนม host ไดถง 224 – 2 หรอ 16,777,214 เครอง และ 216 – 2 หรอ 65,534 เครองเลยทเดยว ซงโดยทวไปแลวเรามกจะไมไดม host มากขนาดนน (สาเหตทลบดวย 2 เพราะ host ID ไมสามารถเปนศนยหมดหรอหนงหมด โปรดดตวอยางในสวนถดไป) การแจก IP Address แบบเปน Class (A, B, C) นน ไมมประสทธภาพอกตอไป ในปจจบน การจดสรร IP Address มกจะใชวธแจกแบบเปน Classless IP Address ซงจะกลาวถงในสวนตอไป

จะเหนวา จากเหตผลทกลาวมา ทาใหหลกการของการแบง IP Address นนมความขดกนเลกนอย ระหวาง 2 วธการทนาเสนอ อยางไรกตาม ในปจจบนนน เรามกจะนยมพดถง IP ในแบบ Classless คาวา Class A, B, C จงไมมความหมายสาคญมากในตอๆ ไป

องคกรททาหนาทจดสรรหมายเลข IP เรยกวา Internet Network Information Center หรอ InterNIC (http://www.internic.net) และจะมหนวยงานยอยซงรบหนาทแจกจาย IP ในเขตภมภาค สาหรบในประเทศไทย ในปจจบน การตดตอขอ IP Address สามารถทาไดจาก APNIC

Page 41: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 47

(http://www.apnic.net) แตโดยมาก ผใหบรการอนเทอรเนตในประเทศไทยตางๆ จะเปนผขอจาก APNIC องคกรทเปนลกคา กสามารถขอจากผใหบรการอนเทอรเนตเหลานได ไมมความจาเปนตองตดตอกบ APNIC เอง

คอมพวเตอรทเชอมตออยมากกวาหนงเครอขาย (เชน ม LAN card มากกวาหนงใบ) จะ มหมายเลข IP เทากบจานวนเครอขายทมนเชอมตออย อปกรณเลอกเสนทาง (Router) ขนาดใหญนน สามารถม IP Address ไดเปนรอย IP Address ทเดยว

จะเหนวา จากรปท 1.2 ยงม IP อก 2 Class ทยงไมกลาวถง คอ Class D และ E หมายเลข IP นนจะแบงออกเปน 3 ชนดคอ Unicast (สาหรบผรบเครองเดยว) Broadcast (สาหรบผรบทกเครองบนเครอขาย) และ Multicast (สาหรบผรบบางเครองบนเครอขาย) ใน Class D จะใชในกรณทเปน Multicast IP Address สวน Class E นนสงวนไวยงไมใช ดงนน IP ทเราจะใชไดในองคกรทวๆ ไป กจะเปนสวนทอยใน Class A, B, C ตามตารางในรปท 1.2

ยงม IP บางสวน ทอยในสวนของ Class A, B, C น แตไมไดมการใชงานจรงในโลก จะเรยกวาเปน Private IP Address สาหรบใหใชภายในองคกร (Intranet) (หามเอามาใชภายนอก หรอสวนทอยในอนเทอรเนต)

IP Address เหลานคอ

• 10.0.0.0 – 10.255.255.255

• 172.0.0.0 – 172.16.255.255

• 192.168.1.0 – 192.168.16.255

สรปไดวา

• IP Address จะแบงเปนสวน Net ID และสวน Host ID

• จาก IP Address ทเราไดรบ สวน Host ID เทานนทสามารถเปลยนแปลงได

• การแบง IP ออกเปน Class สามารถทาไดโดยแบงตามจานวน Net ID ทม

• Class D ใชในงานดาน Multicast

• Class E สงวนไว ไมมการใช

Page 42: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

48 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Subnet Mask À√◊Õ Net Mask เนองจากเครองคอมพวเตอรจาเปนตองทราบ IP address ของตวเองและตองทราบวา ม

กบตเปน Network ID และมกบตเปน Host ID ฉะนนเราจงใช Subnet mask ในการบอกขอมล ดงกลาว Subnet mask เปนตวเลข 32 บต (4 ไบต เทากบ IP Address) ทจะมคา 1 สาหรบสวนทเปน Network ID และมคา 0 สาหรบ Host ID ตวอยางเชน ถาเราม IP Address ทเปน Class B ซงม Net ID เปน 16 บต และ Host ID เปน 16 บต สามารถเขยน Net Mask เรยงตามบตไดดงน

1111 1111 1111 1111 0000 0000 0000 00002

เลขดงกลาวเปนเลขฐาน 2 สามารถแปลงเปนฐาน 10 ไดเทากบ 255.255.0.0

สาหรบกรณของ Class C IP Address ในทานองเดยวกนกสามารถเขยน Net Mask ไดเปน 255.255.255.0

เพอใหเหนภาพ จงขอยกตวอยางจรง เชน หนวยงานหนงไดรบแจก IP Address เปน Class C IP Address 203.150.154.0 Net Mask 255.255.255.0 กจะหมายความวา สวน Host ID เปน 8 บต (นบจากสวนท Net Mask เปน 0) ดงนน หนวยงานนสามารถนาเอา IP Address ทไดไปแจกจายใหกบเครองคอมพวเตอรตางๆ ได ตงแต 203.150.154.1 จนถง 203.150.154.254 รวม 254 เครอง

• 203.150.154.0 ชอเครอขาย, Network Name (ไมนาไปแจกจาย)

• 203.150.154.1 แจกจายใหกบคอมพวเตอร เครองท 1

• 203.150.154.2 แจกจายใหกบคอมพวเตอร เครองท 2

• 203.150.154.3 แจกจายใหกบคอมพวเตอร เครองท 3

• ...

• 203.150.154.254 แจกจายใหกบคอมพวเตอร เครองท 254

• 203.150.154.255 เปน Broadcast Address (ไมนาไปแจกจาย)

จากตวอยางกจะเหนวา ถาเราม Class C IP Address กจะสามารถแจกจายใหกบอปกรณคอมพวเตอรตางๆ ไดทงหมด 254 เครอง

Page 43: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 49

บางทเรานยมเขยน Net Mask โดยนบเปนจานวนบตของ Net ID แลว เขยนตอทายเลข IP Address ไปเลย เชน กรณตวอยาง IP Address 203.150.154.0 (Network Name) ทม Net Mask 255.255.255.0 สามารถเขยนใหสนไดวา 203.150.154.0/24 เนองจากมจานวน Net ID 24 บตนนเอง

สรปไดวา

• การบอก IP Address จะตองบอก Net Mask มาดวยเสมอ มฉะนนจะไมทราบวา สวนไหนเปน Net ID และสวนไหนเปน Host ID

• สวนทเปน Host ID เทานน ทเรานาไปแจกจายตอได

• ใน IP Class หนงๆ จะมอย 2 IP ทเราไมสามารถใชได คอ ตวท Host ID เปน 0 หมด จะเรยกวาเปน ชอ เครอขาย (Network Name) และตวท Host ID เปน 1 หมด จะเรยกวาเปน Broadcast Address

Classless IP Address ในหวขอทผานมาไดกลาวถง ความสนเปลองในการแจกจาย IP Address แบบ เปน Class

A, B, C เนองจาก หนวยงานสวนมากทไดไป เอาไปใชกนไมหมด สวนทเหลอทแจกไปแลวกไมสามารถเอามาแบงใหคนอนทมาขอใหมได ดงนนจงมวธการแจกจาย IP Address โดยให IP เปน Classless คอจานวนบตของ Net ID ไมจาเปนตองเปนคา 8, 16, 24 (เหมอน Class A, B, C) อกตอไป โดยจะเปนคาใดๆ กไดตามความตองการจรง ตวอยางเชน ถา 203.150.154.0/24 เปน แบบ Class C ม Net ID 24 บต สามารถเอาไปแจกจายได 254 เครอง แตหากวาหนวยงานนนใชคอมพวเตอรเพยง 100 เครอง เราสามารถแจก IP แบบ Classless เชน ใหเปน 203.150.154.0/25 สามารถเขยน Net Mask ไดเปน

1111 1111 1111 1111 1111 1111 1000 00002 = 255.255.255.12810

จะเหนวาสวน Host ID จะลดลงเหลอแค 7 บต สามารถนาไปแจกจายได 27 - 2 = 126 เครอง ดงน

Page 44: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

50 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• 203.150.154.0 ชอเครอขาย Network Number (ไมนาไปแจกจาย)

• 203.150.154.1 แจกจายใหกบคอมพวเตอร เครองท 1

• 203.150.154.2 แจกจายใหกบคอมพวเตอร เครองท 2

• 203.150.154.3 แจกจายใหกบคอมพวเตอร เครองท 3

• ...

• 203.150.154.126 แจกจายใหกบคอมพวเตอร เครองท 126

• 203.150.154.127 เปน Broadcast Address (ไมนาไปแจกจาย)

จะเหนวาคราวน ชอเครอขายเดยวกน (203.150.154.0) ทม Net Mask ตางกน (/24 และ /25) สามารถนาไปแจกจายไดไมเทากน และเลข 203.150.154.127 ซงเดมเคยไปแจกจายได กกลายเปน Broadcast Address ไปแลว ดงนน การบอก IP Address จะตองบอก Net Mask ดวยเสมอ มฉะนนจะไมสามารถนาไปใชงานไดเลย

อกตวอยางหนง IP Address 203.150.154.128/25 สามารถแจกจายได 27 - 2 = 126 เครองเชนกน ดงน

• 203.150.154.128 ชอเครอขาย Network Number (ไมนาไปแจกจาย)

• 203.150.154.129 แจกจายใหกบคอมพวเตอร เครองท 1

• 203.150.154.130 แจกจายใหกบคอมพวเตอร เครองท 2

• 203.150.154.131 แจกจายใหกบคอมพวเตอร เครองท 3

• ...

• 203.150.154.254 แจกจายใหกบคอมพวเตอร เครองท 126

• 203.150.154.255 เปน Broadcast Address (ไมนาไปแจกจาย)

จะเหนวาการบอก Net Mask กมความสาคญอก ตวอยางเชน เลข IP 203.150.154.128 เฉยๆ อาจเปนสมาชกธรรมดา (แจกจายได) ใน 203.150.154.0/24 แตกลบเปนชอเครอขาย สาหรบกรณ 203.150.154.128/25 (ชอเครอขายคอ เลข IP Address ทมสวน Host ID เปน 0 หมด)

Page 45: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 51

จะเหนวา เราสามารถแบง 203.150.154.0/24 เดมนน ออกเปน 2 Network ยอย 203. 150.154.0/25 และ 203.150.154.128/25 แลวแจกจายใหกบสองหนวยงาน แตละหนวยงานใชได 126 เครอง กเปนการใช IP Address อยางคมคา ทานอาจลองฝกฝมอคานวณวา 203.150. 154.0/24 นน ถาจะแบงใหหนวยงานตางๆ โดยทแตละหนวยงานมคอมพวเตอรไมเกน 60 เครอง จะแบงอยางไร และแบงไดกหนวยงาน

สรปไดวา

• การใช IP แบบ Classless นน สามารถประหยด IP Address ได เราสามารถใช Net Mask ทมจานวนบตมาก หรอนอยกวาน ไดตามอสระ ตามความตองการใชงานจรง ทาใหไมเกดการสญเสยโดยเปลาประโยชน แตอาจจะตองตรวจสอบอปกรณตางๆ ทมอยวาสนบสนนการใชงานแบบ Classless IP หรอเปลา เนองจากอปกรณรนเกาๆ บางตวจะไมสนบสนน

Gateway

PC

PC

PC

PC PC

PC

PC

Gateway

Network 1 Network 2

รปท 1.3 แสดง Gateway

Page 46: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

52 สรางอนเทอรเนตเซรฟเวอรดวย Linux

การทเครองคอมพวเตอรในเครอขายสองเครอขายจะสงขอมลถงกนไดนน จะตองมอปกรณอนหนงซงเชอมตอกบทงสองเครอขาย (มนกจะม 2 IP Address) และทาหนาทสงตอขอมลจากเครองอนๆ ในแตละเครอขายขามไปมา อปกรณอนนน เราเรยกมนวา Gateway ซงอาจเปนคอมพวเตอร หรอเปน อปกรณเลอกเสนทาง (Router) กได

เครอขายอนเทอรเนตแลวแทจรงนน กคอการเชอมตอระหวางหลายๆ เครอขาย โดยอาศยอปกรณ Gateway เหลานนนเอง

รปแบบสวนใหญของการเชอมตออนเทอรเนต กจะมเครอขายภายใน และมอปกรณ Gateway ตวหนง เชอมตอไปยงผใหบรการอนเทอรเนตนนเอง Gateway บางทอาจทาหนาทเปน Firewall ดวย คอทาหนาทกรองขอมลทเขาและออก กอนทจะสงตอเพอดแลความปลอดภยนนเอง

สรปไดวา

• Gateway ทาหนาทสงตอขอมลระหวางเครอขายมากกวา 2 เครอขาย โดย Gateway จะตองมสวนเชอมตอกบเครอขายเหลานน และมจานวน IP Address เทากบจานวนเครอขายทมนตออย

Õÿª°√≥χ≈◊Õ°‡ Èπ∑“ß (Router) ดงทกลาวมาอปกรณ Gateway จะเปนเครองคอมพวเตอร หรออปกรณเลอกเสนทาง หรอ

Router กได Router เปนอปกรณเฉพาะทออกแบบมาใหทาหนาทสงตอขอมลระหวางเครอขายโดยเฉพาะ Router เครอขายอนเทอรเนตกประกอบดวยอปกรณ Router ตอกนโยงใยไปเรอยๆ นนเอง มนมหนาทสงตอ (forward) ขอมล จากเครอขายหนงไปยงอกเครอขายหนงและถดๆ ไป เพอขอมลนนจะไปถงจดหมายปลายทางในทสด Router จะตออยกบเครอขายไมนอยกวา 2 เครอขาย มนตดสนวาจะสงขอมลไปทางใด โดยพจารณาจาก ตารางขอมลเลอกเสนทาง (Routing Table) และจาก สถานะของเสนทางตางๆ Router จะมวธการ (algorithms) คานวณคาตางๆ รวมทงระยะทางของเสนทาง จากนนมนจะเลอกเสนทางทดทสดทจะสงขอมลตอไป (ในกรณทมทางเลอกมากกวาหนง) โดยทวไปแลว ขอมลบนอนเทอรเนตจะตองผาน Router หลายตวหลายจดจนกวาจะเดนทางถงปลายทาง

Page 47: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 1 เทคโนโลยเครอขายเบองตน 53

√ÿª ในบทนไดกลาวถง เทคโนโลยดานเครอขายอนเทอรเนตเบองตน เพอเปนพนฐานความรท

จะอานในบทตอๆไป อยางไรกตาม หากผอานมความสนใจในดานเทคโนโลยเครอขาย สมควรอานหนงสอเพมเตมในหวขอทเกยวกบเครอขายอนเทอรเนต และ TCP/IP ซงมอยมากมาย ทงภาษาไทย และภาษาองกฤษ

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. http://whatis.com/

2. Stevens, R. 1994. TCP/IP Illustrated, Volume 1. Addison-Wesley.

3. Tanenbaum, A. 1996. Computer Networks. Prentice Hall.

4. Internetworking Basics, http://www.clsco.com/cpress/cc/td/cpress/fund /ith/ith01gb .htm

Page 48: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

54 สรางอนเทอรเนตเซรฟเวอรดวย Linux

æ◊Èπ∞“π DNS เครองคอมพวเตอรและอปกรณสอสารตางๆ ทอยบนเครอขายอนเทอรเนตนน แตละตว

จะตองมเลข IP Address (ทตองไมซากน) การตดตอสอสารระหวางเครองตางๆ จะใช IP Address เปนหลก แตบางทานอาจสงสยวาเหตใดเราจงสามารถดเวบไซต (Web Site) ตางๆ โดยการพมพชอ เชน www.school.net.th กสามารถไปยงเวบไซตของโครงการ SchoolNet ได โดยทไมตองใส IP Address เหตทเปนดงน เพราะวาเรามระบบ DNS

Domain Name System หรอ DNS เปนระบบของการแปลงกลบไปกลบมาระหวางชอโฮสต (host) ใหเปน IP Address เชน www.school.net.th ม IP Address คอ 202.44.204.80 เปนตน

การแปลงจากชอโฮสตใหเปน IP Address เรยกวา Forward mapping คอแปลงจากชอ www.school.net.th ใหเปน IP Address 202.44.204.80 และการแปลงจาก IP Address ใหเปนชอโฮสตเรยกวา Reverse mapping เชนแปลงจาก IP Address 202.44.204.80 ใหเปนชอโฮสตคอ www.school.net.th

โครงสรางของ DNS กจะมลกษณะคลายคลงกบโครงสรางไฟลของระบบ Unix (Unix File System) ดงแสดงในรปท 2.1 น

Page 49: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 2 DNS 55

root

top leveldomains

secondlevel

domains

80.204.44.202.in-addr.arpa

www.slackware.com

www.school.net.th

country domainsgeneric domains

school

... ...arpa com edu gov int mil orgnet ae th us

net

www

in-addr slackware

202 www

44

204

80

รปท 2.1 โครงสรางของ DNS

จากรปท 2.1 จะเหนไดวามลกษณะคลายคลงกบตนไม คอมการแตกกงกานสาขาออกมาจากจดบนสด คอ root บางทเราเรยกวา . อานวา ดอต (dot) หรอจด แลวกแตกกงลงมาท top level domain และตอมากคอ second level domain ลงมาเรอยๆ

แตละ โหนด (Node) (วงกลมในรปท 2.1) สามารถมชอได 63 ตวอกษร และชอของแตละโหนดจะใชตวอกษรใหญหรอเลกกไดไมตางกน

โดเมนเนม (Domain name) ของโหนดใดๆ ในรปท 2.1 นนจะเรมตนทโหนดนนๆ และเลอนไปจนกระทงถง root โดยใช dot (.) เปนตวแยกชอในโดเมนเนม และทกโหนดในภาพจะตองมโดเมนเนมเดยวเทานน เชน www.school.net.th

ระดบของโดเมนสามารถแบงไดดงน

1. arpa เปนโดเมนพเศษซงใชสาหรบการแปลงกลบ (Reverse Mapping) IP Address เปนชอโดเมนเนม เชน 80.204.44.202.in-addr.arpa สามารถแปลงกลบเปนชอโดเมนเนมคอ www.school.net.th

Page 50: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

56 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. โดเมนทมตวอกษร 3 ตวทมอย 7 โดเมนเรยกวา generic domain สวนมากใชในประเทศสหรฐอเมรกา

ชอโดเมน คาอธบาย com องคกรธรกจ edu สถาบนการศกษา gov หนวยงานราชการ int องคกรระหวางประเทศ mil หนวยงานทหาร net ผใหบรการเครอขาย org องคกรอนๆ

3. โดเมนทมตวอกษร 2 ตว เรยกวา country domain ซงเปนตวอกษรทใชแทนประเทศตางๆ เชน th เปนโดเมนทแทนประเทศไทยคอ Thailand เปนตน

ตอนนทานผอานคงจะมคาถามอยในใจแลววาเครองของทานจะทราบไดอยางไรวา เมอทานเรยกไปท www.school.net.th แลวจะแปลงเปน IP Address ไดอยางไร สงทเปนหนาทหลกสาหรบระบบโดเมนเนมคอ การกระจายความรบผดชอบภายใน DNS ไมมสวนใดสวนเดยวทจะสามารถจดการทกระดบใน tree นได ดงนนจงมหนวยงานทเรยกกนวา NIC เปนผกระจายความรบผดชอบจากระดบ top-level domains ไปสระดบอนๆ ในแตละ zone เชน ประเทศไทยมหนวยงาน THNIC (http://www.thnic.net) เปนผดแล top level domains ของ TH หรอประเทศไทย และผทดแลโดเมน nectec.or.th กคอ NECTEC ซงจะเหนไดวา THNIC ไดกระจายความรบผดชอบในการดแลโดเมนน มาใหทาง NECTEC เปนผดแล

Name Server เมอความรบผดชอบของแตละโซนไดถกกระจายไปแลว ผทรบผดชอบโซนของตวเองก

จะตองจดหา Name Server ซงเปนเครองคอมพวเตอรทมซอฟตแวรเพอทาหนาทเกบฐานขอมล สาหรบการแปลง ชอ และ IP Address

Page 51: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 2 DNS 57

Name Server แบงออกไดเปน 3 ประเภท คอ

• Primary Name Server

• Secondary Name Server

• Cache Name Server

Primary ·≈– Secondary Name Server Primary และ Secondary Name Server จะทมหนาทเกบฐานขอมลของโดเมนเนมของ

สวนทมนรบผดชอบ เชน สาหรบโดเมน nectec.or.th จะม Primary Name Server คอ ns1. nectec.or.th และม Secondary Name Server 2 เครองคอ ns.thnic.net และ ns2.inet.co.th

ฉะนนผดแลระบบจะตองจดหา Primary Name Server 1 เครอง และ Secondary Name Server อยางนอย 1 เครองไวสาหรบเกบฐานขอมลในโซนทตนเองรบผดชอบอย โดยทเครอง Name Server ดงกลาวทง 2 ประเภทนนจะตองเปนคนละเครองกนเพอปองกนปญหาวา หากเครอง Primary Name Server ไมสามารถใหบรการแกผใชได (ไมสามารถตอบคาถามได) เครอง Secondary Name Server กจะใหบรการในการแปลงขอมลแทนได (Single point of failure)

ความแตกตางระหวาง Primary Name Server และ Secondary Name Server คอเครองททาหนาทเปน Primary จะเกบขอมลทงหมดสาหรบโซนทดแลอย (ดงนนการแกไขขอมลตางๆ จะทาท Primary Name Server เทานน) สวนเครองทเปน Secondary ทกเครองจะดงขอมลจากเครองทเปน Primary คอจะทาการโอนถายขอมลจากเครอง Primary ซงเรยกวา Zone transfer มายงเครองของตนเพอเกบเปนฐานขอมล ทกๆ ชวงเวลาหนงๆ

เมอมโฮสตใหมตองการทจะเพมเขาไปในโซน ผดแลระบบจะตองทาการเพมขอมลคอ ชอ host และ IP Address ของ host นนลงไปยงฐานขอมลบนเครอง Primary Name Server จากนนเครอง Primary กจะมการอานไฟลใหมเรอยๆ และทาใหสามารถทาการตอบคาถาม (Query) จากผใชไดวาโฮสตดงกลาวม IP Address อะไร นอกจากนนเครองทเปน Secondary กจะทาการสาเนาขอมลนนเขาเครองของตวเอง (ปกตแลวจะทาการสาเนาขอมลทกๆ 3 ชวโมง) และถาเครอง Primary มขอมลใหมเกดขนกจะทาใหเครอง Secondary มขอมลใหมตามไปดวย

การเพมขอมลเขาไปเวลาม host ใหมนน ควรจะทาทง Forward และ Reverse เชน เราตองการเพม host ใหม ชอ openmind.nectec.or.th ม IP Address 203.150.154.28 เราจะตอง

Page 52: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

58 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เพมในฐานขอมลของโดเมน nectec.or.th ท Primary Name Server ของโดเมน nectec.or.th (ซงคอ ns1.nectec.or.th) และเพมในฐานขอมลของ 154.150.203.in-addr.arpa ท Primary Name Server ของโดเมนของ 154.150.203.in-addr.arpa (ซงบงเอญอยทเครอง ns1.nectec.or.th) เชนกน นนคอ เครองหนงๆ สามารถเปน Primary และ/หรอ Secondary Name Server ใหกบหลายโดเมนได

Cache Name Server Cache Name Server จะทาหนาทรบคาสงจากเครองคอมพวเตอรของผใช เชน ขอทราบ

IP จากชอ หรอขอทราบชอจาก IP แลวไปคนหามาให Cache Name Server จะเปน DNS Server ทเราตงในเครองพซนนเอง การทเครอง Cache Name Server หยดทางาน จะมผลมาก เนองจากผใชพซจะใชงานอนเทอรเนตไมไดเลยทเดยว นอกจากจะใช IP Address แทนชอ สวน Primary และ Secondary จะรบ Request จาก Name Cache Server อกท จงไมคอยไดตดตอกบโปรแกรมของผใชโดยตรง

เครอง Cache Name Server จะมฐานขอมลสาหรบเกบชอ Root Name Server (กคอ Primary/Secondary Name Server ของโดเมนขนบนสด คอ “.” นนเอง ปจจบนมประมาณ 10 ตวกระจายอยทวโลก)

เวลาท Cache Name Server ไดรบคาขอทราบ IP Address จากชอ (หรอในทางกลบกน) มนจะไลถามผรบผดชอบในแตละโซน (จะถาม Primary Name Server กอน กรณทเครอง Primary หยดทางาน จะไปถามเครอง Secondary แทน) เรมจาก Root Name Server ไปจนกวาจะเจอตวทรบผดชอบจรงๆ ดตวอยางจากแผนภาพ นอกจากน คาถามใดทเคยออกไปคนหาและตอบไปแลวนน จะถกเกบไวในหนวยความจา เพอทวาครงตอไปจะไดตอบไดทนท ไมตองออกไปคนหาอก (เปนทมาของคาวา Cache) จนกวาจะถงชวงเวลาทจะตองอปเดต (update) ขอมลใหม (ตามคา Time to Live)

ขอดท Cache Name Server มความสามารถในการทา caching กคอสามารถลดปรมาณขอมลทจะตองเดนทางไปคนหาขอมลทางอนเทอรเนตในครงตอๆ ไป

Page 53: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 2 DNS 59

th

net ac

ip de

school sga wnet

"." (root)name server

thname server

CacheName Server

User PC

net.thname server

school.net.thname server

name serverth

name servernet.th

name serverschool.net.th

www.school.net.th

รปท 2.2 ขนตอนการทางานของระบบ DNS ในการคนหา IP Address ของ www.school.net.th

จากรปท 2.2 จะเหนไดวาเมอมผใชตองการทราบวา www.school.net.th คอ IP Address อะไร เครองกจะสงคาถามไปยง Cache Name Server ซง Cache Name Server กจะสงคาถามไปยง Root Name Server จากนน Root Name Server กจะตอบกลบมาวาผทรบผดชอบโซน th อยคอใครและสงชอและ IP Address ของ ns.thnic.net ซงเปน Primary Name Server ของโซน th นนกลบมา แลว Name Server ของเรากจะสงคาถามนไปยง ns.thnic.net แลวกสงตอไปเรอยๆ ดงแสดงในภาพจนกระทงทราบวาผดแลโซน school.net.th คอ ns1.nectec.or.th จากนนกสงคาถามไปยง ns1.nectec.or.th แลวไดรบคาตอบกลบมาวา www.school.net.th คอ 202.44.204.80

Page 54: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

60 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Time to Live Name Server ไมสามารถเกบขอมลทตนไปคนหามาไดตลอดไป เพราะวาถาใชขอมลเดม

อยตลอดเวลากอาจจะไมสามารถไดขอมลททนสมยเมอผรบผดชอบโซนนนเปลยนแปลงขอมลไป

ดงนนผดแลระบบ หรอผทรบผดชอบในโซนของตนนนจะตองมขอมลทเรยกวา Time To Live หรอ TTL สาหรบขอมลของตน และ Name Server กจะตองเกบเวลานนไวดวย แลวเมอถงเวลาดงกลาวกแสดงวาขอมลทตนไดมานนหมดอายลง Name Server จะตองยกเลกขอมลเดมแลวไป นาขอมลมาใหมจากผรบผดชอบในโซนนนๆ

Resource Record ชนดของขอมลในระบบโดเมนเนมมแตกตางกนมากกวา 20 ประเภทแตบางประเภทกได

ถกยกเลกไปแลว ผเขยนขอยกตวอยางประเภทของขอมลทมความสาคญในปจจบนดงน

ชอ ความหมาย A IP Address NS Name Server CNAME Canonical name PTR Pointer record HINFO Host information MX Mail exchange record

ผเขยนขอใชคาสง host เปนการยกตวอยางของ Resource Record ซงคาสงนผเขยนจะอธบายอยางละเอยดในหวขอตอไป

> host -t A www.school.net.th

www.school.net.th A 202.44.204.80

เมอเราถามไปยง Name Server ถงขอมลประเภท A เครอง Name Server กจะตอบ คาถามของเราออกมาในรปของ IP Address

Page 55: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 2 DNS 61

> host -t PTR 80.204.44.202.in-addr.arpa

80.204.44.202.in-addr.arpa PTR www.school.net.th

เมอเราถามไปยง Name Server ถงขอมลประเภท PTR เครอง Name Server กจะตอบคาถามของเราออกมาในรปของชอ host โดยทเราจะตองใสคาถามทอยในรปของ IP Address กลบดานแลวตามดวย .in-addr.arpa ดงแสดงในรปท 2.1

> host -t NS school.net.th school.net.th NS ns1.nectec.or.th

school.net.th NS ns2.inet.co.th

เมอเราถามไปยง Name Server ถงขอมลประเภท NS เครอง Name Server กจะตอบ คาถามของเราออกมาในรปของ Name Server ผทดแลโซน school.net.th ซงมอย 2 Name Server ทดแลโซนนอย ไดแก ns1.nectec.or.th และ ns2.inet.co.th

> host -t CNAME www.cisco.com

www.cisco.com CNAME cio-sys.cisco.com

เมอเราถามไปยง Name Server ถงขอมลประเภท CNAME เครอง Name Server กจะตอบคาถามของเราออกมาในรปของชอ host ทม IP Address เดยวกบโฮสตทเราถามไปหรอ บางทเราอาจจะเรยกวาเปนชอเลนกได ซงสามารถพสจนไดจากคาสงอก 2 คาสงดานลางน

> host -t A cio-sys.cisco.com

cio-sys.cisco.com A 192.31.7.130 > host -t A www.cisco.com

www.cisco.com CNAME cio-sys.cisco.com

cio-sys.cisco.com A 192.31.7.130

> host -t MX school.net.th

school.net.th MX 1 user.school.net.th

Page 56: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

62 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เมอเราถามไปยง Name Server ถงขอมลประเภท MX เครอง Name Server กจะตอบ คาถามของเราออกมาในรปของชอ host ทไวสาหรบรบ email ทสงไปยง school.net.th นน หมายความวา ถาเราสงจดหมายอเลกทรอนกสไปยง [email protected] ตวจดหมายจะวงไปยงเครอง user.school.net.th

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • DNS and BIND in a Nutshell, Paul Albitz and Cricket Liu, O’Really & Associates

Inc., Oct 1992

• TCP/IP Illustrated Volume 1 The Protocols, W.Richard Stevens, Addison-Wesley Publishing Company, 1994

• RFC 882, 883, 1034, 1035

Page 57: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 3 สถาปตยกรรม Client/Server 63

คอมพวเตอรทใหบรการงานตางๆ ใหกบเครองอนๆ จะเรยกวา Server ถาเครองนนใหบรการงานใด กจะเรยกวาเปน Server ของบรการนน เชน ถาใหบรการพมพงาน กจะเรยกวาเปน Print Server ถาใหบรการรบ-สง จดหมายอเลกทรอนกสกจะเรยกวา Mail Server

คอมพวเตอรทมาใชบรการจากเครอง Server กจะเรยกวา ไคลเอนต (Client)

ตวอยางเชน WWW (World Wide Web) เครองททาหนาทใหบรการ กจะเรยกวา Web Server ซงกจะมซอฟตแวรเชน Apache Web Server, Microsoft Internet Information Server (IIS), Netscape Enterprise Server เปนตน สวน Client กจะมซอฟตแวร เชน Netscape Navigator/Communicator หรอ Microsoft Internet Explorer เปนตน บางทเราเรยก Software ทเปน Client ของ WWW วา Web Browser

ลกษณะการทางานแบบนจะเรยกวา Client-Server มตวหนงใหบรการ และอกตวหนงใชบรการ เครองคอมพวเตอรหนงๆ ไมจาเปนตองวาจะตองเปน Client หรอ Server อยางใดอยางหนง อาจเปนทงสองอยางกได เชน เครองคอมพวเตอรเครองหนง อาจจะทาหนาทเปน Print Server สาหรบงานพมพ แตเปน Client ของอกเครองหนงในงานรบสงจดหมายอเลกทรอนกส

เครองคอมพวเตอรเครองเดยวกนอาจทาหนาทเปน Server สาหรบหลายๆ งานกได และอาจม Client ของงานนนๆ อยในเครองเดยวกนกได เชน เครองเดยวทาหนาทเปนทง File และ Print Server และอาจมโปรแกรมของผใชททางานบนเครองน ทาหนาทเปน Print Client ทาการสงพมพไปยงสวน Print Server ททางานอยบนเครองเดยวกนได

Page 58: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

66 Linux

ระบบปฏบตการแบบ Unix เปนระบบปฏบตการทมตนกาเนดจาก Bell Laboratory ประเทศสหรฐอเมรกา พฒนาขนโดย เคน ทอมปสน (Ken Thompson) และเดนนส รชช (Dennis Ritchie) ตงแตป พ.ศ. 2512 ในปจจบนคาวา Unix เปนเครองหมายการคาจดทะเบยน (Registered Trade-mark) ของหนวยงานชอ The Open Group ซงจะทาการกาหนด และรบรองมาตรฐานของระบบปฏบตการ Unix มการกาหนดมาตรฐาน API (Application Programming Interface) และ User Interface ทเรยกวา X/Open Programming Guide หรอบางทเรยกวา Unix95 หรอ Unix98 ผผลตระบบปฏบตการทตองการใหผลตภณฑของตวเอง สามารถใชชอวา Unix ไดอยางถกตอง จะตองทาตามมาตรฐานทกาหนด เพอใหไดคารบรองจาก The Open Group ระบบปฏบตการทไดรบมาตรฐานแบบ Unix เชน Digital Unix, SCO Unix และ IBM's OpenEdition MVS เปนตน

อยางไรกด มระบบปฏบตการจานวนมาก ทมลกษณะคลายระบบ Unix แตไมไดไปจดทะเบยนใหรบรองเปนทางการ เราอาจเรยกระบบปฏบตการเหลานวา ระบบปฏบตการแบบคลาย Unix หรอ Unix-Compatible เชน Sun Solaris, IBM AIX รวมถง Linux

ระบบ Unix และ Unix-Compatible นน จดไดวาเปนซอฟตแวรประเภทระบบปฏบตการ เชนเดยวกบซอฟตแวร Microsoft Windows 3.1, Windows 95, Windows 98, Windows NT หรอ IBM OS/2

ในอดต ระบบปฏบตการ Unix สวนมากจะมใชงานบนเครองคอมพวเตอรใหญๆ เชน เมนเฟรม หรอมนคอมพวเตอร จงเปนเรองทหางไกลผใชธรรมดาทใชเครองพซ (Personal Computer) จะไดใช การใชงานจะจากดอยเฉพาะในแวดวงนกคอมพวเตอรทใชงานเครองใหญๆ เทานน จนมาถงเมอ Linux ไดถกพฒนาขน การใชระบบแบบ Unix-Compatible จงแพรหลายในหมผใชธรรมดามากขน

Page 59: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 5 ระบบปฏบตการ Linux 67

Linux เปนชอของระบบปฏบตการ (Operating System) แบบ Unix-Compatible ตวหนง ททางานบนเครองคอมพวเตอร ทใชตวประมวลผล (CPU) ตระกล Intel-x86 Compatible, Motorola 68k, Compaq (ในอดต Digital) Alpha, Sparc, Mips และ Motorola PowerPC โดยมการพฒนาตามมาตรฐาน POSIX (Portable Operating System Interface) เชนเดยวกบระบบปฏบตการแบบ Unix อนๆ (ปจจบน POSIX ไดถกรวมเปนสวนประกอบของ X/Open Program-ming Guide)

Linux ไดถกพฒนาขน โดยมความตงใจเรมตนทจะใหเปนระบบปฏบตการแบบคลาย UNIX ทสามารถทางานไดบนเครองพซธรรมดา ทใช CPU ตระกล Intel-x86 Compatible ซงกคอ ทเราใชกนตามบานนนเอง เปนการพลกผนโลกของระบบ Unix แทนทจะอยเฉพาะในเครองใหญๆ ตามศนยคอมพวเตอรเหมอนแตกอน

Linux เปนระบบปฏบตการแบบคลายระบบ Unix (UNIX-Compatible) ทมประสทธภาพสงตวหนง จดเดนคอ Linux เปนซอฟตแวรภายใตลขสทธ GNU GPL (GNU General Public License, บางทเรยกวา GPL เฉยๆ) สามารถใชงานโดยทไมตองเสยคาใชจายใดๆ เราสามารถหาซอฟตแวร Linux ไดจากเครองใหบรการ FTP หลายแหงบนอนเทอรเนต หรออาจจะตองจายเงนเลกนอยเพอสงซอแผนซด จากบรษทจาหนายซอฟตแวรตางๆ ถาทานไมมอนเทอรเนตใชงานหรอไมอยากจะรอ FTP นานๆ ชนดขามวนขามคน เนองจากตวซอฟตแวรทงชดจะมขนาดหลายรอยเมกะไบต

เราสามารถใชงาน Linux ไดโดยไมตองเสยคาใชจายในสวนลขสทธ แต Linux ไมใช Free–ware หรอ Shareware ตว Kernel นน สงวนลขสทธโดย Linus Torvalds สวนโปรแกรมประกอบอนๆ ทเขยนขนโดยผใดกจะเปนสงวนลขสทธเปนของเจาของคนนน และจะอยภายใต GPL เราสามารถใชงาน Linux โดยไมเสยคาใชจายใดๆ โดยตองปฏบตตามเงอนไขของ GPL (บางท

Page 60: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

68 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เรยกวา CopyLeft) ซงสนบสนนใหเรามสทธทจะใชซอฟตแวรไดฟร, มสทธทจะไดรบ Source Code เพอแกไข รวมถงมสทธทจะเผยแพรฉบบทเราแกไขภายใต GPL ตอ รายละเอยดของ GPL นไดแนบทายมากบหนงสอเลมนแลว

ดวยเหตน Linux จงมผใชกนมากมาย ทงในวงการศกษา วจย หรอธรกจ ขอมลเกยวกบ Linux มอยมากมายในอนเทอรเนตทงบน World Wide Web และตาม Mailing list ตางๆ ทานสามารถหาคาปรกษา และแลกเปลยนความคดเหน จากผใช Linux อกหลายลานคนทวโลก Linux จดไดวาเปนระบบปฏบตการแบบ Unix-Compatible ทแพรหลายมากทสดตวหนงในปจจบน

Page 61: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 6 ความเปนมาของ Linux 69

Linux ถกพฒนาขนเปนครงแรกในป ค.ศ. 1991 (พ.ศ. 2534) ท University of Helsinki ประเทศ Finland โดยนกศกษา (ในขณะนน) ทชอ Linus B. Torvalds และถกแจกจายใหทดลองใชงานบนอนเทอรเนต ตว Kernel ของ Linux ไมไดใชสวนใดๆ จากระบบ Unix ของบรษท AT&T หรอระบบปฏบตการ UNIX อนใด ซอฟตแวรหลกทใชงานบน Linux สวนใหญพฒนามาจากโครงการ GNU (http://www.gnu.org) ท Free Software Foundation (FSF) (http://www.fsf.org) (เราอาจเรยกระบบรวมวา GNU/Linux เนองจากประกอบดวยตว Linux Kernel และซอฟตแวรจากโครงการ GNU นนเอง) อยางไรกตาม ในปจจบนเรมมนกพฒนาโปรแกรม หนมาพฒนาโปรแกรมเพอใชงานบน Linux เพมมากขนเรอยๆ ทงทอยในโครงการ GNU และไมใช

ในระยะแรก Linux ถกพฒนาเพอเปนงานอดเรกเทานน โดยผเรมพฒนาไดแรงบนดาลใจมาจากระบบมนกซ (Minix) ซงเปนระบบปฏบตการแบบคลาย UNIX เลกๆ ตวหนงทพฒนาขนโดย Andy Tanenbaum เพอประกอบการเรยนรในหนงสอเกยวกบการออกแบบระบบปฏบตการคอมพวเตอรของเขา Linux ถกพดถงเปนครงแรกในกลมขาว comp.os.minix วาเปนระบบปฏบตการแบบคลาย UNIX เพอการศกษาขนาดเลก สาหรบผใชงานมนกซทตองการความสามารถมากกวาทมนกซจะทาได การพฒนาในระยะแรกจะมงไปทความสามารถในการสลบการทางานระหวางโปรเซส (Task-Switching) ของหนวยประมวลผลกลาง 80386 ใน Protected Mode โดยโปรแกรมทงหมดถกเขยนขนดวยภาษาแอสเซมบลภายหลงไดเรมเปลยนมาใชภาษา C ซงชวยใหการพฒนาเปนไปไดเรวขนกวาเดมมาก

ในทสด Linux เวอรชน 0.01 (ราวๆ ปลายเดอนสงหาคม 1991) กถกแจกจายใหทดลองใช ในเวอรชนนมเพยงฮารดดสกไดรเวอร และระบบไฟลขนาดเลกใหใชงานเทานน ไมมแมแตฟลอปปดสกไดรเวอร ทานจะตองมระบบมนกซอยแลวจงจะสามารถทาการคอมไพลและทดลองใชงานได

Page 62: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

70 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เนองจากมนยงไมมโหลดเดอรและคอมไพเลอรทจะทางานบนเคอรเนลนไดโดยตรง ตองอาศยการคอมไพลขามระบบ (Cross-compile) และบตระบบผานทางมนนกซ

Linus เปดตว Linux อยางเปนทางการครงแรกในวนท 5 ตลาคม 1991 บนกลมขาว comp.os.minix ดวยเวอรชน 0.02 ซง Linux ในเวอรชนนสามารถรน โปรแกรม bash (GNU Bourne Again Shell), gcc (GNU C Compiler) และอนๆ อกเลกนอยไดแลว แตยงคงเปนระบบ ทเหมาะกบผพฒนาโปรแกรมระบบเทานน ยงไมมการพดถงเอกสารอธบายประกอบ ไมมการสนบสนนผใช และไมมสงทจะชวยอานวยความสะดวกในการเขาใจการทางานของเคอรเนลเลย ผทจะนาเคอรเนลนไปใชจะตองตดตามแกะเอาจากซอรสโคดเองวาระบบมการทางานอยางไร

หลงจากเวอรชน 0.03 Linus ไดพฒนาเวอรชน 0.10 เนองจากระบบเรมทางานไดมากขนและมผสนใจรวมพฒนามากขน หลงจากนนอกสองสามเวอรชน Linus ไดเพมเวอรชนขนเปน 0.95 เนองจากเขาคาดวาระบบในขณะนนใกลจะเสรจสมบรณ และพรอมจะประกาศตวอยางเปนทางการในไมชา (อยในชวงราวๆ เดอนมนาคม 1992) หลงจากนนอกสองปตอมา (มนาคม 1994) Linus กไดเปดตว Linux 1.0 ขน และเรมมผนาไปใชงานกนอยางแพรหลายตงแตนนมา ในขณะ ทจดทาตนฉบบอยน (กมภาพนธ 2542) Linux Kernel กไดพฒนามาถงเวอรชน 2.2 แลว และ คงจะพฒนาตอไปเรอยๆ ทานสามารถคนหา Kernel รนลาสดไดท ftp://ftp.kernel.org หรอในประเทศไทยท ftp://ftp.th.kernel.org/pub/linux/kernel, ftp://ftp.nectec.or.th/pub/mirrors/linux/kernel โปรดดในภาคผนวกเพมเตม

ถงวนน Linux นบเปนระบบปฏบตการแบบคลาย UNIX ทสมบรณแบบ มความสามารถสนบสนนระบบกราฟก X Window สนบสนนระบบเครอขาย TCP/IP สามารถรบ/สง E-mail ทาหนาทเปน News, WWW หรอ FTP server ได ซอฟตแวรฟรสวนใหญถกพอรตใหมาทางานบน Linux รวมถงไดเรมมการพฒนาซอฟตแวรเพอการคาเวอรชนสาหรบ Linux ขนมาบางแลว (เชน Corel Word Perfect) มหลายคนไดทดลองรนโปรแกรมทดสอบความสามารถ (Benchmark) บน Linux และพบวา Linux มความสามารถเทยบเทาเครอง Workstation ระดบกลางจากบรษท Sun และบรษท Compaq (Digital) เลยทเดยว ไมเคยมใครคาดคดมากอนวาจากระบบคลาย UNIX เลกๆ ตวหนง จะสามารถเตบโตขนมาเทยบเทากบระบบ UNIX ทสมบรณแบบไดจนทกวนน

Page 63: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 7 จดเดนของ Linux 71

จดเดนทนาสนใจและเปนเหตผลททาใหมผเปลยนจากระบบปฏบตการอนๆ มาใชงาน Linux คอ

• Linux เปนระบบปฏบตการทใชงานไดฟร ทานสามารถไปขอทาสาเนาจากใครกไดทมอยแลว หรออาจจะดาวนโหลดมาจากศนยบรการ FTP ตางๆ บนอนเทอรเนต หรอทานอาจจะหาซอซดรอม Linux ไดในราคาทไมแพงนกตามรานหนงสอหรอรานอปกรณคอมพวเตอรทวไป

• Linux ทางานไดบนเครองพซทวไป ทมราคาไมแพงนกโดยสามารถรนไดบนเครองทมหนวยประมวลผลกลางตระกล Intel-x86 Compatible ตงแต 80386 ขนไป พรอมกบสนบสนนอปกรณตอพวงตางๆ เชน การดควบคมการแสดงผล ซดรอม ฮารดดสก เครองพมพ และ Ethernet Card เปนตน สามารถทางานไดบนระบบบสทงแบบ EISA, ISA,VESA Localbus หรอ PCI นอกจากนในปจจบนไดเรมมการพอรตเคอรเนลไป รนบนเครองทใชหนวยประมวลผลกลางยหออนๆ ทไมใช Intel-x86 Compatible เชน Motorola 680x0, Compaq (Digital) Alpha, PowerPC และ SPARC เปนตน

• ประสทธภาพ ทานอาจจะแปลกใจทเหนระบบ Linux สามารถทางานไดอยางรวดเรว ถงแมวามนกาลงทางานหลายๆ อยางอยในขณะนน Linux ถกออกแบบใหใชงานอปกรณฮารดแวรทกอยางของเครองอยางเตมประสทธภาพ เชน การจดการหนวยความจาเสมอน (Virtual Memory) การจดการทางานแบบมลตทาสกง (Multitasking) และระบบปองกนการรบกวนการทางานระหวางโปรเซสตางๆ เปนตน ถาทานมหนวยประมวลผลกลางทเรวและเพมหนวยความจาใหมากพอ ทานจะพบวา Linux ทางานไดดพอๆ กบหรอดกวาเครอง UNIX Workstation ราคาแพงหลายๆ ตวในทองตลาดขณะนเลยทเดยว

Page 64: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

72 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• คณภาพ Linux เปนความรวมมอและผลผลตจากนกพฒนาโปรแกรมนบพน ทตดตอกนทางอนเทอรเนต ในขณะเดยวกนกมกลมผใชเปนจานวนมากบนอนเทอรเนตอกเชนกนทพรอมจะทดลองใชงาน รายงานความผดพลาดและใหคาแนะนาหรอเสนอความสามารถใหมๆ ใหกบผพฒนาตลอดเวลา ถาทานลองสมคร Mailing list หรอลองเขาไปอานกลมขาว (News Group) ตางๆ ทเกยวกบ Linux ด จะพบวา แตละวนจะม E-mail ทพดคยกนถงเรองความสามารถ และจดบกพรองตางๆ ของตว Kernel รนลาสดมากกวา 100 ฉบบตอวนเลยทเดยว ดวยวธพฒนาแบบน ขอบกพรองตางๆ จะถกคนพบและถกแกไขไดอยางรวดเรว กลมผใชงานและพฒนา Linux มทงทเปนนกศกษา อาจารย นกวจยในมหาวทยาลย พนกงานบรษท และนกพฒนาโปรแกรม ฯลฯ ดงนนทานจงมนใจไดทงคณภาพและประสทธภาพของระบบ อยาตกใจถาทานพบวา Linux มประสทธภาพและเสถยรภาพดกวาซอฟตแวรระบบปฏบตการราคาแพงบางตวเสยอก

• ความสามารถแบบ UNIX ดงทกลาวมาวา Linux เปนระบบปฏบตการแบบคลาย Unix มแนวคดพนฐานมาจากระบบ Unix ซงขนชอในเรองความมประสทธภาพ และเสถยรภาพสง Linux เปนระบบปฏบตการแบบหลายผใชและหลายงาน (Multi-user, Multi-tasking) อยางแทจรง มระบบ X Window สาหรบการตดตอกบผใชในรปแบบกราฟกซงสนบสนนโปรแกรมจดการ Window (Window Manager) หลายตว นอกจากนยงสนบสนนระบบเครอขายหลากหลายรปแบบ ไมวาจะเปน Ethernet, Token Ring, SLIP, PPP หรอ ไปจนถง ISDN, Frame Relay และ ATM

• การใชงานรวมกบ DOS และ Microsoft Windows ทานสามารถตดตง Linux ลงบนหนงพารทชน (หรอมากกวา) ของฮารดดสก หรอในกรณททานไมตองการแบงพารทชนใหม ทานกสามารถตดตงทบลงไปบนระบบไฟลของ DOS (FAT) ไดดวย ทานสามารถอานและเขยนแผนดสกหรอฮารดดสกทถกฟอรแมตโดย DOS, Windows 95 ไดโดยตรง นอกจากนยงไดมการพฒนาโปรแกรมจาลองการทางาน DOS (Dos Emulator) และ Windows (Windows Emulator : WINE) บน Linux ซงจะทาใหทานรนโปรแกรมของ DOS และ Windows บางตวได

• ความสามารถในการใชงานไฟลรวมกบระบบปฏบตการอนๆ Linux สนบสนนระบบไฟลของระบบปฏบตการหลายชนด ไมวาจะเปน DOS (FAT), Windows for Workgroup (SMB), Windows 95 (VFAT), Windows 98 (FAT 32), Windows NT

Page 65: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 7 จดเดนของ Linux 73

(NTFS), NetWare (NCP), OS/2 (HPFS), MINIX, NFS และ System V เปนตน ทานจงสามารถถายโอนขอมลจากระบบปฏบตการอนๆ มาใชงานไดโดยงาย

• ความตองการทรพยากรของระบบ ระบบขนตาท Linux สามารถทางานไดคอ เครองคอมพวเตอรสวนบคคล ทมหนวยประมวลผลกลาง 80386 /SX หนวยความจา 2 เมกะไบต ฟลอบปดสกขนาด 1.44 หรอ 1.2 เมกะไบต การดแสดงผล และจอภาพแบบโมโนโครม แตแนนอนวาระบบขนาดนคงจะไมสามารถทางานอะไรไดมากนก ระบบทพอจะใชทางานได ถาทานไมตองการระบบกราฟก X Window กควรจะมหนวยความจาตงแต 4 เมกะไบตขนไป หรอ 8 เมกะไบตขนไป ถาใชระบบ X Window ดวย ถาทานตองการใหระบบทานเรวขน ควรจะใชหนวยประมวลผลกลางทเรวกวา 80386 /SX และตองมฮารดดสกสาหรบเกบโปรแกรมใชงานตางๆ สาหรบขนาดของฮารดดสกทเหมาะสมนนกขนอยกบลกษณะงานทจะนาไปใช เชน ถาตองรองรบงานจากผใชหลายคนกตองเผอเนอทสาหรบผใชแตระคนไวดวย

• มผคอยใหความชวยเหลอมากมายเมอเกดปญหาขนกบระบบ ในปจจบนนอน-เทอรเนตถอเปนแหลงใหความชวยเหลอทสาคญทสดและใหญ ท สดของ Linux เนองจาก Linux เกดและเตบโตขนมาบนอนเทอรเนตนนเอง มกลมขาว (News Group) และ Mailing list มากมายเกยวกบ Linux ทพรอมจะรบฟงปญหาและชวยเหลอทานตลอดเวลา

• Linux เปนระบบปฏบตการแบบเปด เกอบทกโปรแกรมททางานบน Linux และแมแตตว Kernel เองจะถกแจกจายไปพรอมกบตนแบบโปรแกรม หรอ Source Code (สวนใหญเปนภาษา C) ดงนนหากทานไมพอใจหรอตองการปรบปรงความสามารถของระบบในสวนตางๆ กสามารถแกไขไดเอง และนอกจากนเนองจากระบบจะถกแจกจายมาพรอมกบซอรสโคดจงทาใหมหาวทยาลยหลายแหงเลอกใช Linux เปนระบบตวอยางประกอบการเรยนการสอนในวชาทเกยวกบระบบปฏบตการคอมพวเตอร นกศกษาสามารถเขาใจสวนตางๆ ของระบบปฏบตการรวมทงยงสามารถพฒนาโปรแกรมระบบตางๆ เชน ดไวซไดรเวอรระบบจดการไฟล หรอโปรแกรมประยกต (Application Program) ขนมาใชงานเองไดโดยงาย ดงจะเหนไดจากสวนหนงของนกพฒนาโปรแกรมทรวมพฒนา Linux เปนนกศกษาทยงคงเรยนอยในมหาวทยาลยตางๆ ทวโลก

Page 66: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

74 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Linux มความสามารถเกอบทกอยางททานจะพบไดในระบบปฏบตการ UNIX ทวๆ ไป อกทงยงมความสามารถบางอยางซงแตกตางไปจากระบบ UNIX ตวอนๆ

• Linux เปนระบบปฏบตการแบบหลายงานและหลายผใช (Multitasking and Multi-user) ทสมบรณแบบ (เหมอนระบบปฏบตการ UNIX ทวๆ ไป) นนคอสามารถมผใชงานพรอมๆ กนไดหลายคน และแตละคนสามารถรนโปรแกรมไดหลายๆ โปรแกรมพรอมๆ กน

• Linux มความเขากนได (compatible) กบระบบ UNIX สวนมากในระดบซอรสโคด เนองจากระบบ Unix ตางๆ มการพฒนาตามขอกาหนดทเปนมาตรฐาน เชน IEEE POSIX.1, System V UNIX และ BSD UNIX เปนตน ตามหลกการ Source Portability ดงนนทานจะพบวา คณสมบตทถกใชงานเปนประจาของ Linux สามารถพบไดในระบบ UNIX อนๆ ทวไป ซอฟตแวรททางานบนระบบ UNIX อนๆ ในอน-เทอรเนตสวนใหญสามารถนามาคอมไพลบน Linux ไดโดยการแกไขซอรสโคดเพยงเลกนอย ซอรสโคดทงหมดของระบบ Linux อนไดแก เคอรเนล ดไวซไดรเวอร ไลบราร โปรแกรมใชงาน และโปรแกรมระบบตางๆ สามารถหาดาวนโหลดไดฟรจากศนยบรการ FTP มากมายทวโลก

• ความสามารถอนๆ อนไดแก POSIX job control (ซงถกใชในโปรแกรม shell ตางๆ เชน bash, sh และ csh) เทอรมนอลเสมอน (Pseudo Terminal) คอนโซลเสมอน (Virtual Console) ซงทาใหทานสามารถสลบหนาจอระหวาง login sessions ตางๆ บนหนาจอคอนโซลในเทกซโหมดได ฯลฯ

Page 67: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 8 คณสมบตของ Linux 75

• Linux สนบสนนระบบไฟลหลายชนด เชน ext2fs, MINIX-1 และ XENIX (เปนระบบไฟลทใชงานบนระบบมนกซและซนกซ), ISO-9660 (ระบบไฟลทใชกนบนซดรอมสวนใหญ), NCPFS (ใชในการ mount volume ตางๆ ของ NetWare), SMBFS (ใชในการ mount ไดเรกทอรของ Windows for Workgroup) รวมถงระบบไฟลของระบบปฏบตการอนๆ ทแพรหลายในปจจบน เชน FAT16, FAT32, NTFS, UFS เปนตน

• Linux สนบสนนระบบเครอขาย TCP/IP อยางสมบรณแบบ มดไวซไดรเวอรสาหรบ Ethernet Card หลายยหอ สนบสนนโปรโตคอล SLIP (Serial Line IP), PLIP (Parallel Line IP), PPP (Point-to-Point Protocol), NFS (Network File System) ฯลฯ นอกจากนยงมโปรแกรมไคลเอนตและเซรฟเวอรสาหรบบรการตางๆ ในอนเทอรเนตทกประเภท เชน FTP, Telnet, NNTP, SMTP, Gopher, WWW เปนตน

• เคอรเนลของ Linux มความสามารถในการจาลองการทางานของโปรเซสเซอรชวยประมวลผลทางคณตศาสตร 80387 ดงนนแมในเครองทไมมโปรเซสเซอรชวยประมวลผลทางคณตศาสตรกยงสามารถรนโปรแกรมทตองการใชงานคาสงเกยวกบ floating-point ได

• เคอรเนลของ Linux สนบสนน Demand-Paged Loaded Executable นนคอเฉพาะสวนของโปรแกรมทกาลงถกเรยกทางานเทานนทจะถกอานจากดสกเขาสหนวยความจาของเครอง ทาใหระบบมการใชงานหนวยความจาอยางมประสทธภาพ นอกจากนตวเคอรเนลจะโหลดโปรแกรมขนมาทางานดวยวธ shared copy-on-write pages หมายถงมหลายๆ โปรเซสทสามารถจะใชงานหนวยความจาสวนเดยวกนในการทางานได ซงจะทาใหสามารถโหลดโปรแกรมไดอยางรวดเรวในกรณทมการเรยกใชโปรแกรมเดยวนโดยผใชคนอนอยกอนแลว และสามารถลดการใชงานหนวยความจาลงได

• เพอใหมหนวยความจาใชงานมากขน Linux สนบสนน swap space มากถง 2 ก- กะไบต ดงนนทานจงสามารถรนแอปพลเคชนขนาดใหญและมผใชงานไดพรอมกนมากขน

Page 68: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

76 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เคอรเนลของ Linux มระบบ Unified Memory Pool สาหรบโปรแกรม และดสกแคช นนคอหนวยความจาทวางอยทงหมดจะถกใชงานเปนดสกแคชและเมอมการโหลดโปรแกรมขนาดใหญ ขนาดของดสกแคชกจะถกลดลงโดยอตโนมต

• โปรแกรมทใชงานบน Linux จะมการใชงาน Dynamically Linked Shared Libraries ซงกคอโปรแกรมทรนบน Linux จะมการใชงานไลบรารไฟลรวมกน (เหมอน Shared Library ของ SunOS หรอ DLL ของ Windows) ซงจะทาใหโปรแกรมทรนบน Linux มขนาดเลกลงและทางานเรวขนมาก โดยเฉพาะโปรแกรมทมการใชงานฟงกชนจากหลายๆ ไลบราร แตในขณะเดยวกนถาทานตองการทาการดบกโปรแกรมหรอตองการใชงานโปรแกรมแบบ Static Linked กสามารถใชไดเชนกน

• เพอสนบสนนการดบกโปรแกรม ตวเคอรเนลจะทาการสรางไฟล core dump เพอ ใชในการดบกและหาสาเหตททาใหโปรแกรมทางานผดพลาดได

Page 69: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 9 ความตองการดานฮารดแวร 77

มาถงขณะนทานอาจจะเรมสนใจ Linux ขนมาบางแลว แตกอนทจะตดตง Linux ทานควรจะทราบกอนวา Linux ตองการใชฮารดแวรในระดบใดและมขอจากดอะไรบาง

เนองจาก Linux ถกพฒนาโดยผใชของมนเอง นนกหมายถงฮารดแวรสวนใหญท Linux สนบสนนกคอฮารดแวรทผใชงานและผพฒนาสามารถหามาใชไดนนเอง ดงนนฮารดแวรและอปกรณตอพวงสาหรบระบบพซทวๆ ไปกสามารถนามาใชงานกบ Linux ได (อนทจรงแลว Linux สนบสนนฮารดแวรมากกวาระบบ UNIX เพอการคาบางตวเสยอก) อยางไรกตาม Linux ยงคงใชงานไมไดกบอปกรณตอพวงบางอยาง แตเนองจากเคอรเนลของ Linux มการพฒนาอยางตอเนองตลอดเวลา ดงนนกมโอกาสทจะสามารถนาอปกรณนนมาใชงานไดในอนาคต

อกเหตผลหนงททาใหไมสามารถนาฮารดแวรบางอยางมาใชกบ Linux ได เนองจากบรษททผลตฮารดแวรดงกลาวไมมการเปดเผยถงรายระเอยดวธการในการเขยนโปรแกรมตดตอกบฮารดแวรนน ทาใหการพฒนาไดรเวอรสาหรบ Linux จะตองอาศยการทา Reverse Engineering ตรวจสอบดวาฮารดแวรดงกลาวจะสามารถเขยนโปรแกรมควบคมไดอยางไร ซงกมทงทประสบความสาเรจและลมเหลว

ตอไปนคอความตองการทางดานฮารดแวรท Linux ตองการอยางคราวๆ ทานสามารถหาอานรายการอปกรณท Linux สนบสนนทงหมดไดจาก Linux Hardware Compatibility HOWTO (ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Hardware-HOWTO)

• เมนบอรดและหนวยประมวลผลกลาง ขณะน Linux สามารถทางานไดบนหนวยประมวลผลกลาง Intel/AMD/Cyrix 386SX/DX/SL/DXL/SLC, 486SX/DX/SL/SX2 /DX2/DX4, Intel Pentium, Pentium Pro, Pentium II, AMD K5, K6 ถาทานใช 80386 หรอ 80486SX ทานอาจจะตองตดตงโปรเซสเซอรชวยประมวลผลทาง

Page 70: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

78 สรางอนเทอรเนตเซรฟเวอรดวย Linux

คณตศาสตรเพอการประมวลผลทางคณตศาสตรทเรวขน ถงแมวา Linux ไมจาเปนจะตองใชมนกตาม เนองจากเคอรเนลสามารถทาการจาลองคาสงประมวลผลทางคณตศาสตรได เมนบอรดทใชจะตองมระบบบสแบบ ISA, EISA,VESA, PCI LocalBus และ MCA นอกจากน Linux สามารถทางานไดบนสถาปตยกรรมหนวยประมวลผลกลางแบบอน เชน Alpha, SPARC, MIPS ดวยเชนกน

• หนวยความจา สนบสนน DRAM, EDO และ SDRAM Linux ตองการหนวยความจาอยางนอย 2 เมกะไบต อยางไรกตาม ทานควรจะมอยางนอย 4-8 เมกะไบตเพอไมใหระบบทางานชาเกนไป และแนนอนครบ เชนเดยวกบระบบปฏบตการอนๆ คอยงมมากกยงด

• ฮารดดสกคอนโทรลเลอร ทานสามารถใชคอนโทรลเลอรทเปน AT-standard (16บต) หรอ XT-standard (8บต) สาหรบฮารดดสกทมการเชอมตอแบบ MFM, RLL และ IDE สวนคอนโทรลเลอรฮารดดสกแบบ SCSI ทสามารถนามาใชงานไดกมอยหลายรนดวยกน เชน Adaptec AHA154x, AHA174xA, Adaptec 294x, Adaptec 3940, BusLogic (ISA/EISA/VLB/PCI) เปนตน โปรดตรวจสอบใน Hardware-HOWTO กอนซอ เพอความแนใจ

• พนทฮารดดสก สวนใหญแลวจะขนอยกบความตองการของทานและจานวนซอฟตแวรททานจะตดตง ทานสามารถตดตง Linux ลงบนฮารดดสกทมเนอทวางขนาด 10-20 เมกะไบต แตอาจจะไมเหมาะสมกบการเพมขยายระบบนก โดยเฉพาะอยางยงถาทานมการตดตงซอฟตแวรขนาดใหญเชน ระบบ X Window หรอตองการใหระบบมผใชงานจานวนมาก นอกจากนทานควรจะกนเนอทไวเปน Swap Space ดวย (โดยปกตแลวจะกนไวประมาณสองเทาของหนวยความจาทม) นอกจากนแตละ distribution ยงมจานวนซอฟตแวรทจะตดตงใหทานแตกตางกนดวย โดยทวไปแลวถาทานเลอกตดตงแบบครบหมดจะกนเนอทประมาณ 400-500 เมกะไบต

• จอภาพและการดแสดงผล Linux สนบสนนจอภาพและการดแสดงผลทง Hercules, CGA, EGA, VGA, IBM Monochrome และ Super VGA สาหรบการแสดงผลในเทกซโหมด (ตวอกษร) สาหรบการแสดงผลในกราฟกโหมดนนจะขนอยกบระบบ X Window ททานเลอกใช แตโดยปกตแลวจะใชไดกบการดแสดงผลทวๆ ไป

Page 71: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 9 ความตองการดานฮารดแวร 79

• Ethernet Card ตวอยาง Ethernet Card ท Linux สนบสนนไดแก • 3com 3c503, 3c503/16, 3c509, 3c589, 509, 595, 905 • Hewlett-Packard HP27245, HP27xxx • Novell NE1000, NE2000 • Western Digital WD80x3

• อปกรณตอพวง

• เมาสและอปกรณชอนๆ Linux สนบสนนทง Serial Mouse ทวๆ ไป เชน Logitech, MM series, Mouseman, Microsoft Mouse และยงสนบสนน Busmouse ของ Microsoft, Logitech และ ATIXL อกดวย นอกจากนเมาสทมการเชอมตอแบบ PS/2 กสามารถใชได สาหรบอปกรณชอนๆ เชน Trackballs ซงสามารถจาลองการทางานเปนเมาสขางตนไดกสามารถใชไดเชนกน

• ซดรอม Linux สนบสนนซดรอมไดรฟทมอนเตอรเฟสแบบ SCSI เกอบทกรน เพยงแตทานจะตองมคอนโทรลเลอร SCSI ทใชกบ Linux ได นอกจากนซดรอมไดรฟแบบอนๆ ทสามารถนามาใชงานกบ Linux ได เชน NEC CDR-74, Sony CDU-541, CDU-31a, Mitsumi และซดรอมแบบ IDE (ATAPI) เปนตน

• เทปไดรฟ สนบสนนเทปไดรฟทมการเชอมตอแบบ SCSI และอนๆ เชน QIC-117, QIC-40/80, QIC-3010/3020 (QIC-WIDE)

• โมเดมและเครองพมพ มหลกการงายๆ กคอ ถาทานสามารถใชโมเดมหรอเครองพมพนนบน DOS หรอระบบปฏบตการอนๆ ได ทานกควรจะสามารถนามาใชกบ Linux ไดเชนกน ยกเวน โมเดมแบบ WinModem

• ซาวดการด ทสามารถใชงานกบ Linux ได เชน Adlib (OPL2), Audio Excell DSP16, Aztech Sound Galaxy NX Pro, Gravis Ultrasound, Logitech SoundMan, Microsoft Sound System (AD1848), OAK OTI-601D cards (Mozart), Sound Blaster และ Turtle Beach Wavefront cards (Maui, Tropez) เปนตน

Page 72: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

80 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ขนตอนการตดตง Linux เปนโดยสรปดงน

• จดเตรยมเครองคอมพวเตอร (โปรดตรวจสอบชนดของฮารดแวรของทาน วาจะทางานภายใต Linux ไดหรอไม ตามคาแนะนาในบททผานมา)

• หากทานตองการตดตง Linux บนฮารดดสกเดยวกบระบบปฏบตการอนทมอยแลว ตวอยาง ถาทานมฮารดดสกอนเดยวขนาด 2 กกะไบต เดมเปน Microsoft Windows95 อย ทานตองการจะทาการตดตง Linux บนฮารดดสกอนเดยวกนน สมมตวาจะแบงทให Linux 1 กกะไบต เหลอให Windows95 1 กกะไบต ทานจะตอง

• ลบไฟลทไมจาเปนในฮารดดสกออก จนเหลอพนทมากกวา 1 กกะไบต

• ถงแมฮารดดสกจะมพนทเหลอวางมากกวา 1 กกะไบตแลว อาจเปนไปไดวา ขอมลทยงคงอย มการจดเกบแบบกระจดกระจายทวไปตามเนอททงฮารดดสก เราจงตองใชโปรแกรมพวกดสก (Disk) Defragmenter (สาหรบ Microsoft Windows95 อยใน Start Menu, Accessories, System Tools, Disk Defragmenter ทาการจดขอมลฮารดดสกไปอยในสวนตนๆ (เพอทจะเหลอทวางๆ ตดๆ กนในตอนทายของฮารดดสก)

• ทาการแบง Partition ของฮารดดสก ใหกบ Linux กอน (ทานอาจจะตองบตระบบเปน Safe Mode สาหรบ Windows95 กอน) โดยใชโปรแกรมเชน FIPS หรอ Partition Magic คอเดมเรามเพยง 1 partition ขนาด 2 กกะไบต แตเราตองการใหเปน 2 partitionๆ ละ 1 กกะไบต (ใน Linux-SIS 3.0 CD-ROM ทแนบมากบหนงสอเลมน จะมโปรแกรม FIPS มาใหอยแลวในไดเรกทอร linux.sis\install\dosutils)

Page 73: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 10 การตดตง Linux 81

• หลงจากททานไดแบงพนทฮารดดสกของทานสาหรบ Linux เรยบรอยแลว ขนตอไป ทานตองเลอกวาจะใช Linux ยหอไหน (บางทเรยกวา Linux Distribution) เชน RedHat, Slackware, Debian รวมถง NECTEC Linux-SIS ซงแตละ Distribution กจะมขอด ขอเสยแตกตางกน รวมถงวธการลงกแตกตางกนดวย ในภาคตอไปจะกลาวถง NECTEC Linux-SIS

Page 74: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

82 สรางอนเทอรเนตเซรฟเวอรดวย Linux

หลงจากททานไดตดตง Linux เสรจเรยบรอย ไมวาทานจะตดตง Linux ยหอใด ทานกจะไดระบบปฏบตการททางานโดยใช Linux Kernel และโปรแกรมเพมเตมอนๆ ซงแตละ Distri–bution อาจจะแตกตางกนบางเลกนอย แตสวนมากแลวกจะคลายๆ กน ในบทนจะแนะนาถงการใชงานระบบ Linux เบองตน ซงจะใชไดกบทก Distribution อยางไรกตาม

°“√‡ª‘¥‡§√◊ËÕß การเปดเครอง ทานกกดปมเปดตามปกต หากทานตดตง Linux เพยงระบบปฏบตการ

เดยว เครองกจะทาการบตระบบเขาส Linux เลย แตหากทานมหลายระบบปฏบตการในเครองเดยว และไดทาการตดตงโปรแกรม LILO (Linux Loader) อยางถกตอง (จะอยในขนตอนการตดตง Linux) เวลาบตระบบ หลงจากทเครองทาการตรวจหนวยความจา และอปกรณตางๆ เสรจแลว จะขนคาวา LILO ซงหากทานไมกดปมอะไรเลย หลงจากรอสกครหนง มนกจะทาการบตเขาสระบบปฏบตการอนใดอนหนง (ตามททานไดระบในขนตอนการตดตง LILO) โดยอตโนมต หากทานตองการดวา เครองเราสามารถบตระบบเปนระบบปฏบตการใดไดบาง ใหทานกดปม SHIFT แลวตามดวย TAB ขณะทมนแสดงคาวา LILO จะมการแสดงชอระบบปฏบตการทเราสามารถบตได ตวอยางดงน

LILO <กด SHIFT> boot: <กด TAB> linux dos

Page 75: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 11 การใชงาน Linux เบองตน 83

โดยชอแรกทแสดง (ถาตามตวอยางคอ linux) จะเปนระบบปฏบตการซงถาเราไมกดปมอะไร แลวมนบตเปนระบบปฏบตการนนโดยอตโนมตนนเอง หากทานตองการจะเปลยนไปสอกระบบปฏบตการหนง กเพยงพมพชอของมน เชน ถาตองการจะบตเปน DOS กพมพคาวา dos แลวตามดวย

อยางไรกตาม เมอทานกด และ แลว มนอาจไมแสดงผลตามตวอยาง หรอแสดงเปนชออนๆ กได อนเปนผลมาจากการตดตง LILO ในขณะททานตดตง Linux นนเอง ซงอาจแตกตางไปตามแตละ Distribution

หลงจากทระบบทาการบตเปน Linux เรยบรอยแลว ทานควรจะเหน Login Prompt ดงน (เครองของทานอาจแสดงแตกตางไปเลกนอย ตามตวอยางน 2.0.35 แสดงถงเวอรชนของ Kernel ทเครองทางานอย และ openmind เปนชอเครอง)

Linux 2.0.35 openmind.nectec.or.th Welcome to Linux 2.0.35

openmind login:

∫—≠™’ºŸÈ„™È ระบบปฏบตการ Linux มลกษณะคลายระบบปฏบตการ Unix อนๆ และ ระบบ Microsoft

Windows NT คอ การจะเขาใชงานไดนน เราจะตองมบญชผใช (User Account) ซงจะประกอบดวยชอบญช และรหสผาน ซงแตกตางกนไปสาหรบแตละคน

ในการใชงาน Linux จะมผใชอย 2 แบบ คอ ผใชธรรมดา จะสามารถใชงานเครองไดในระดบหนง ตามสทธและขอบเขตของผนน อกแบบหนงเรยกวา Super User (สวนใหญจะมชอบญชวา root) เปรยบเสมอนเปนผดแลระบบ สามารถแกไขเปลยนแปลงทกอยางได Super User สามารถแปลงกายเปนผใชคนใดกได และอาน - เขยนขอมลของทกคน ดงนน เฉพาะผดแลระบบ (System Administrator) เทานน ทควรจะทราบรหสผานของ root และควรอยางยงทจะเกบรกษารหสผานของ root นไวอยางปลอดภย ไมปลอยใหผทไมเกยวของทราบ และไมควรนามาใชทางานทวๆ ไป ทไมเกยวของกบการแกไขหรอเปลยนแปลงระบบโดยไมจาเปน เพราะคณอาจจะเผลอไปทาความเสยหายใหกบระบบได

Page 76: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

84 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√ Log in เมอระบบ Linux พรอมทจะทางาน หนาจอจะแสดงขอความดงรป (เรยกวา Log in prompt

Linux 2.0.35 openmind.nectec.or.th Welcome to Linux 2.0.35

openmind login:

เครองแสดง Login Prompt แสดงวาพรอมทจะทางาน เมอทานตองการเขาใชงานเครองน กตองใสชอบญชของทาน แลวกด Enter

openmind login: ott (สมมตวา Log in ชอ ott)

หลงจากทปอนชอบญชแลวเครองจะถามรหสผานดงน

Password: (ปอนรหสผาน)

ซงจาเปนจะตองใสรหสใหถกตอง มฉะนนจะเขาใชงานระบบไมได ในขณะทคณพมพรหสผานนนเครองจะไมแสดงสงทคณพมพเขาไปบนหนาจอ เพอความปลอดภยปองกนคนแอบด และจารหสผานของคณได

การเขาสระบบเพอใชงานดงน เราเรยกวาการ Log in เนองจากระบบ Linux เปนระบบปฏบตการแบบหลายผใช (multi user) การ Log in กคอการขอสทธเขาไปใชงาน มเพอจะไดจากดสทธสาหรบผใชแตละคนไดถกตอง ถาเปนการ Log in ครงแรกหลงจากทคณตดตง Linux เสรจ ชอบญชทคณสามารถใชไดกคอ root ซงจะเปนบญชของผดแลระบบ root เปนบญชทมสทธสงทสดในระบบ

เมอปอนรหสผานถกตองแลว ทานกจะเขาสการใชงานในโหมดทเรยกวา Shell หนาจอแสดงเครองหมาย Shell Prompt แสดงถงการพรอมรบคาสง โดยถาคณคอ root คณจะได Shell Prompt เปนเครองหมาย # แตถาคณเปนผใชธรรมดาคณอาจจะได Shell Prompt เปนเครองหมาย $, % หรอตางไปจากน แลวแตวาคณใชเชลล (Shell) อะไร Shell เปนโปรแกรมททา

Page 77: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 11 การใชงาน Linux เบองตน 85

หนาทรบคาสงจากคณแลวนาไปสงใหระบบทางานตามความตองการ เปรยบเทยบไดกบโปรแกรม COMMAND.COM บน DOS โดยปกตแลวหลงจากตดตงระบบใหมๆ จะยงไมมการกาหนดรหสผาน ดงนนคณจงสามารถกด ผานขนตอนการใสรหสผานไดเลย การใชงานในโหมด Shell Prompt จะคลายกบ DOS prompt นนเอง แตมคาสงตางๆ มากกวาและซบซอนกวา (มาก)

คาสงและชอไฟลในระบบ Linux จะมลกษณะ Case sensitive นนคอตวพมพเลก และตวพมพใหญจะถอวาแตกตางกน เชน ไฟล MyFile.doc กบ myfile.doc จะถอวาเปนคนละไฟลกน ดงนนในการใชงานเรมแรกจงควรระวงไมกดปม คางไวโดยไมจาเปน หากทานทา การปอนรหสผาน แลวระบบตอบวา Login incorrect กอนอนใหตรวจสอบวาทานไมไดกดปม

คางไวหรอไม

°“√‡ª≈’ˬπ√À— ºË“π สงททานควรทาเปนอนดบแรก เมอตดตงระบบเสรจใหมๆ (และควรทาเปนประจาทกๆ

เดอน) คอ การเปลยนรหสผาน ทงบญชของทานเอง และของ root หลกการตงรหสผานกคอ ตงใหคนอนเดาไมได ไมควรเปนคาทมในพจนานกรม หรอคาพดตดปากทใชกนบอยๆ ควรจะมทงตวพมพเลกและใหญ ควรใชความยาวไมตากวา 5 ตว และผสมตวเลขบาง ตวอกษรพเศษบาง (เชน / ; ^ เปนตน) ไมควรใชชอ วนท วนเกด หรอตวอกษรชดงายๆ เชน 123456 เปนอนขาดเนองจากสามารถทายไดงาย มโปรแกรมเดารหสผานจานวนมาก ทมคนทาขน เพอเดารหสผานโดยลองทายคางายๆ หรอหรอคาจากพจนานกรม โปรแกรมเหลานสามารถแกะรหสผาน เชน 123456, superman, superman! ไดภายในเวลาไมเกน 5 นาท

เราสามารถเปลยนรหสผานของ root และผใชทกคน โดยใหทาการ Log in เปนผนนแลวใชคาสง passwd ดงตวอยาง

$ passwd Change password for user ott

Old password: (ใสรหสผานเดม) New password: (ใสรหสผานใหม) Verify new password: (ใสรหสผานใหมอกครงหนง)

Page 78: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

86 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√ Log out เมอจบการใชงานทกครงควร logout ทนทโดยการพมพวา logout หรอ exit ท $ ตวอยาง

เชน

$ exit

ไมควรปลอยใหผอนทราบรหสผานของทาน เพราะนนหมายความวา เขาคนนนสามารถกระทาการทกอยางบนเครอขายอนเทอรเนตในชอของทาน เขาอาจจะเขยน E-mail ไปใหคนอน แตเปนชอของทาน หรอไปทาลายขอมลตางๆ ได อนจะนาความเดอดรอนมาใหกบทาน และโดยเฉพาะอยางยง อยาปลอยหนาจอของทานไดทาการ Log in ทงไว แลวไปทาอยางอน เพราะคนอนสามารถเขามาใชงานในชอของทานได เมอเสรจงานแลวใหทาการ Log out เสมอ

อยาปลอยหนาจอทงไวขณะทคณ Log In เปน root โดยเดดขาด ผไมประสงคดสามารถใชเวลาไมเกน 1 นาทในการทาความเสยหายใหทงระบบ หรอกระทาการเพอใหเขาสามารถ Log in เปน root ในภายหลงไดตลอดไป ถงแมทานจะเปลยนรหสผานไปแลว

ระบบกจะแสดง Login Prompt เพอรบการทางานของผใชรายตอไป

Linux 2.0.35 openmind.nectec.or.th Welcome to Linux 2.0.33

openmind login:

การ Log out หมายถงการจบการทางานของผใชคนใดคนหนงในเวลานน โดยระบบจะรบการทางานของผใชรายตอไป (หรอเปนคนเดม) กได ไมไดหมายถงการปดเครอง

°“√ª‘¥‡§√◊ËÕß การปดเครองทานจะตองปดดวยวธการอนใดอนหนงตอไปน หามทาการกดปมปด หรอกด

ปม Reset เลยเปนอนขาด จะทาใหระบบมความเสยหายได และมผลทาใหการบตระบบเปน Linux ในครงตอไป เสยเวลาในการซอมแซมความเสยหายนานมากหรออาจซอมแซมไมไดเลย ใหใชวธดงน

Page 79: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 11 การใชงาน Linux เบองตน 87

• กดสามปม – – พรอมกน รอสกคร เครองจะทาการ Reboot ตวเอง ใหทาการกดปมปดเครองเมอเครองวนกลบไปตรวจสอบหนวยความจา เหมอนตอนเปดเครองใหมๆ วธนทาไดเฉพาะเวลาอยหนาเครองเทานน (ใชวธ telnet มาไมได)

• ใชคาสง reboot หรอ shutdown –r now ขณะท log in เปน root อย และกดปมปดเครองเมอเครองวนกลบไปตรวจสอบหนวยความจา เหมอนตอนเปดเครองใหมๆ

§” —Ëß Unix æ◊Èπ∞“π คาสงเบองตนเกยวกบไฟล และไดเรกทอร

การจดระบบไฟลใน Linux จะคลายกบบนดอสและวนโดวส คอมลกษณะโครงสรางเปนรปตนไมหวกลบ โดยมไดเรกทอรราก ภาษาองกฤษเรยกวา root (อยาสบสนกบบญชผใชทชอ root) และเขยนแทนดวย / เปนไดเรกทอรเรมตน และมไดเรกทอรยอยๆ ลงมาเปนลาดบขน

การอางถงไฟลและไดเรกทอรยอยตางๆ จะใชเครองหมาย / เปนตวแบงระหวางแตละได–เรกทอร เชน /home/ott , /usr/local/bin เปนตน ซงจะแตกตางจากบน DOS ทจะใชเครองหมาย \ เปนตวแบง (เครองหมายทบ หนคนละขางกน)

คาสงตางๆ เกยวกบไฟลและไดเรกทอรทใชกนบอยๆ ไดแก

• pwd (print working directory) แสดงไดเรกทอรปจจบน เชน

$ pwd

/home/ott

แสดงวาในขณะนกาลงอยในไดเรกทอร /home/ott

• cd (change directory) ยายการทางานไปยงไดเรกทอรอนๆ เหมอนกบคาสง cd บนดอส เชน cd /home/ott เพอไปยงไดเรกทอร /home/ott

• mkdir (make directory) สรางไดเรกทอร เหมอนกบคาสง md และ mkdir บนดอส เชน ถาเราอยทไดเรกทอร /home/ott ใชคาสง mkdir test เรากจะไดไดเรกทอร /home /ott/test

Page 80: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

88 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• rmdir (remove directory) ลบไดเรกทอร เหมอนกบคาสง rd และ rmdir บนดอส เชน rmdir /home/ott/test

• ls (list) แสดงรายชอไฟลในไดเรกทอร คลายกบคาสง dir บนดอส วธใช เชน ls / แสดงรายชอไฟลในไดเรกทอรราก หรอใช ls เฉยๆ เพอดรายชอไฟลในไดเรกทอรทเราอยขณะนน ทานสามารถใสพารามเตอรตางๆ เพอให ls แสดงรายละเอยดของไฟลเพมเตมได เชน

• ls –a แสดงรายชอไฟลทกไฟลรวมทง hidden file (ไฟลทมชอขนตนดวย .) ใน ไดเรกทอรปจจบน เครองหมาย “-a” เรยกวาเปน Option ของคาสง ls

• ls –l แสดงรายชอไฟลแบบยาว ทานสามารถใสสอง Option กได เชน ถาตองการใหแสดงรายชอไฟลทกไฟล และใหแสดงแบบยาวดวย กใหสงวา ls -al

• rm (remove) ใชลบไฟล เหมอนกบคาสง del บนดอส ใชตามดวยชอไฟล

• cat (concatenate) ใชพมพขอมลในไฟลออกมาบนจอภาพ เหมอนกบคาสง type บนดอส วธใช เชน cat /README.TXT

• more คลายกบคาสง cat แตจะพมพขอมลออกมาทละ 1 จอภาพ เหมอนกบคาสง more บนดอส วธใช เชน more /README.TXT หรอใชประกอบกบคาสง cat เชน cat /README.TXT | more (ใชเครองหมาย “|” PIPE)

• less เหมอนกบคาสง more แตจะมความสามารถมากกวา เชน สามารถเลอนไปมาระหวางแตละหนาไดดวยปมลกศรขนลง หรอปม , เปนตน วธเรยกใช เชนเดยวกบ more

°“√¢Õ§«“¡™Ë«¬‡À≈◊Õ·∫∫ Online คาสง man (online manual) จะแสดงความหมาย วธใชคาสง และพารามเตอรตางๆ ท

สามารถใชไดกบคาสงนน วธใช ใหพมพคาวา man แลวตามดวยคาสง ตวอยางเชน ถาใชคาสง man cat จะไดผลลพธตอไปน

Page 81: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 11 การใชงาน Linux เบองตน 89

CAT(1) CAT(1)

NAME

cat - concatenate files and print on the standard output

SYNOPSIS cat [-benstuvAET] [--number] [--number-nonblank]

[--squeeze-blank] [--show-nonprinting] [--show-ends]

[--show-tabs] [--show-all] [--help] [--version] [file...]

DESCRIPTION

This documentation is no longer being maintained and may be inaccurate or incomplete. The Texinfo documentation is

now the authoritative source.

This manual page documents the GNU version of cat. cat

writes the contents of each given file, or the standard

input if none are given or when a file named `-' is given, to the standard output.

OPTIONS -b, --number-nonblank

Number all nonblank output lines, starting with 1.

-e Equivalent to -vE.

-n, --number Number all output lines, starting with 1.

-s, --squeeze-blank Replace multiple adjacent blank lines with a single

blank line.

-t Equivalent to -vT.

-u Ignored; for Unix compatibility.

-v, --show-nonprinting

Display control characters except for LFD and TAB

Page 82: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

90 สรางอนเทอรเนตเซรฟเวอรดวย Linux

using '^' notation and precede characters that have the high bit set with 'M-'.

-A, --show-all

Equivalent to -vET.

-E, --show-ends Display a '$' after the end of each line.

-T, --show-tabs

Display TAB characters as '^I'.

--help Print a usage message and exit with a status code indicating success.

--version Print version information on standard output then

exit.

...(มตอ)

ทานสามารถใชปมลกศรขนลงเลอนไปมาเพอดความชวยเหลอในหนาอนๆ และสามารถออกจากคาสง man ไดโดยการกดปม q

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://www.whatis.com

• http://www.opengroup.org

• http://www.linuxresources.com/what.html

• http://www.linux.org

• http://slashdot.org

• http://www.freshmeat.net

Page 83: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

92 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Linux-SIS ยอมาจาก Linux School Internet Server เปนชดซอฟตแวร Linux รวมกบซอฟตแวรอนๆ ทจาเปนในการใชงานเปน Internet Server อยางสมบรณแบบ โดยเนนวธการตดตงทงาย และมซอฟตแวรทจาเปนครบครน พฒนาโดยศนยเทคโนโลยอเลกทรอนกสและคอม-พวเตอรแหงชาต (http://www.nectec.or.th) โดยหองปฏบตการเครอขายคอมพวเตอร (http://ntl.nectec.or.th) ปจจบน (มนาคม 2542) ไดพฒนาถงเวอรชน 3.0 Linux-SIS ถกออกแบบมาสาหรบโรงเรยนทเชอมตอกบโครงการเครอขายคอมพวเตอรเพอโรงเรยนไทย (http: //www.school.net.th) และสถาบนการศกษาทเชอมตอกบเครอขายไทยสาร (http://ntl.nec–tec.or.th/thaisarn)

ในการเชอมตออนเทอรเนตแบบเปนโหนดนน (รวมถงแบบ Dial-up แตตองการใหมเครองใชงานไดครงละมากกวา 1 เครอง) จะตองใชซอฟตแวรพเศษเพอทาหนาทเปน Internet Server ซงเดมมราคาสง ไมเหมาะกบเศรษฐกจของประเทศชาตในปจจบน ทางศนยฯ ไดเลงเหนประโยชนในการทจะนา Linux ซงเปนซอฟตแวรทสามารถใชงานไดฟร อกทงยงมประสทธภาพสงมาใชเพอการน ซอฟตแวร Linux ยหอทมอยแลว (มหลายยหอ เรยกวา Distribution เชน Slackware, Red Hat, Debian เปนตน) นนทางานได แตมกจะมวธการตดตงทคอนขางยงยากสาหรบมอใหม และยงตองตดตงซอฟตแวรเพมเตม (หลงจากตดตง Linux เสรจแลว) เพอใหใชงานไดสมบรณ ทางหองปฏบตการเครอขายคอมพวเตอรจงไดพฒนา Linux-SIS ขนมาโดยใหมจดเดนดงน

• การตดตงและการเรมใชงานสามารถทาไดโดยงาย และสามารถทาไดภายในเวลาอนรวดเรว

• มซอฟตแวรตางๆ ทจาเปนตองใชในการเชอมตอกบเครอขายอนเทอรเนตลงมาใหอยางครบครน

Page 84: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 12 แนะนา Linux-SIS 93

รายละเอยดเรองคณสมบตของ Linux-SIS เวอรชนตางๆ สามารถดไดจาก Release Notes ของเวอรชนนนๆ รายละเอยดสาหรบการตดตงนนสามารถดไดจากเอกสาร README.TXT ทมอยของเวอรชนนนๆ เชนกน โปรดดในภาคผนวกถงสงทมอยในซดรอมของทาน หรอดจาก FTP Site ftp://ftp.nectec.or.th/pub/linux.sis

°≈ÿË¡‡ªÈ“À¡“¬¢Õß Linux-SIS §◊Õ„§√ • ผทมความจาเปนตองทาการจดหาตดตงเครองคอมพวเตอรททาหนาทเปน Internet

Server ใหกบองคกร โดยกาลงมองหาซอฟตแวรททางานได และคาใชจายตา

• ผทยงใหมตอ Linux และตองการศกษาการทางานของ Linux เปน Internet Server ในเวลาอนสน

• ผใชทมประสบการณกบ Linux มาพอสมควรแลว และตองการศกษาวธการตดตง Internet Server ตางๆ ดเทคนคเพอนาไปประยกตใชกบระบบของทาน

อยางไรกตาม Linux-SIS เปรยบเสมอนซอฟตแวรกงสาเรจรป ทานสามารถใชงานมนไดในเวลาอนสน โดยทไมจาเปนตองเรยนรอะไรยงยาก แตนนจะทาใหพนฐานความรของทานมนอยกวาคนทคอยๆ ลองผดลองถก ลองตดตงดวยตวเอง ถงจะเสยเวลามากกวา แตกจะไดประสบการณมากกวา ดงนน ถงแมทานไดตดตง Linux-SIS ไวบนเครองททางานจรงแลว ควรหาโอกาสลองลงบนเครองฝกหด โดยลองลง Linux Distribution ธรรมดา เชน Red Hat หรอ Slackware และลองศกษาถงการทางานโดยละเอยด จะไดเขาใจการทางานมากขน

∂È“„™È Linux Distribution Õ◊ËπÕ¬ŸË·≈È« ®–„™Èª√–‚¬™πÏ®“° Linux-SIS լ˓߉√

Linux-SIS นนทจรงแลว กพฒนามาจาก Slackware Linux Distribution โดยมการเพมซอฟตแวรทจาเปนในการใชงาน Internet Server พรอมการตงคาตางๆ เรมตนให และมระบบ การตดตงทชวยใหทานตดตงงายขนเทานน สวนใดใน Linux-SIS ทเปนสวนททาเพมจาก Slackware Linux Distribution นนจะมการแยกไวชดเจน ทานสามารถดวธการตงคา Internet Server ตางๆ และนาไปประยกตใชกบระบบของทาน โปรดดในบทโครงสรางทางเทคนคของ Linux-SIS

Page 85: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

94 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในสวนนจะกลาวถงรายละเอยดการตดตง Linux-SIS เวอรชน 3.0 อยางไรกด ทานควรอาน README.TXT บน CD-ROM หรอ บน FTP Site ftp://ftp.nectec.or.th/pub/linux.sis/3.0-RELEASE อกครงกอนทจะทาการตดตง เนองจากอาจมขอมลททนสมยกวาในหนงสอ กรณทมการเปลยนแปลงหลงจากทหนงสอไดทาการพมพไปแลว

¢—ÈπµÕπ°“√µ‘¥µ—Èß Linux-SIS ‡«Õ√Ï™—π 3.0 ขนตอนการตดตง Linux-SIS เวอรชน 3.0 สามารถแบงเปนขนตอนใหญๆ ไดดงน

1. เตรยมเครองคอมพวเตอร

2. จดหาตนฉบบโปรแกรม Linux-SIS (CD-ROM ทมาพรอมหนงสอ หรอลงจาก FTP /HTTP Server)

3. บตระบบเปน Linux เพอเรมทาการตดตง ขนตอนนมวธดาเนนการไดหลายรปแบบ เชน บตจากแผน CD-ROM ของทาน, วธบตจากระบบปฏบตการ Windows95 เลย หรอวธสรางแผน Boot/Root

4. เรมทาการตดตง และ ทาสาเนาไฟลตางๆ ลงบนฮารดดสกของทาน

5. ทาการตดตงเพมเตมทเรยกวา First-time Setup

1. ‡µ√’¬¡‡§√◊ËÕߧա摫‡µÕ√Ï Linux-SIS สนบสนนฮารดแวรตางๆ เชนเดยวกบท Linux Distribution อนๆ สนบสนน

โปรดดใน ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Hardware-HOWTO วา Linux สนบสนนฮารดแวรททานมหรอไม

Page 86: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 95

ตวอยาง ฮารดแวรทผเขยนไดลองทาการทดสอบกบ Linux-SIS แลวมดงน (ไมไดบงคบวาจะตองใชตามน)

• Intel-486DX, Pentium, Pentium-Pro, Pentium MMX, Pentium II • RAM 16 MB ขนไป • ฮารดดสก IDE Hard disk (ใน BIOS ใหตงโหมดเปน LBA) ขนาด 2 GB • IDE CD-ROM Drive • Ethernet Controller: 3com509, 595 ใหใชโปรแกรมทมากบ Card (3C5x9CFG.EXE

หรอ 3C59XCFG.EXE) ทาการเลอก Media (เชน RJ-45, Co-axial) ใหตรงกบชนดของสอของทาน เชน ถาเปน UTP กใหเลอกเปน RJ-45 อยาปลอยไวตรง Auto หากมมากกวา 1 ใบ ใหทาการตงคา IRQ, Address ใหหลบกนใหเรยบรอย กรณทเปน Plug and Play Mainboard ทานอาจจะตองเขาไปใน BIOS และเลอกบอกวา IRQ นนๆ (ตามทคณไดตงไป) ถกใชโดย ISA Card ไปแลว ไมอยางนนเครองจะไมทราบ และนา IRQ นนๆ ไปแจกใหกบอปกรณอนๆ

• Ethernet Controller: 3com905 ไมตองตงคาเพมเตมใดๆ ใชงานไดทนท • Ethernet Controller: NE2000 Compatible • SCSI Controller Adaptec AIC-xxx7 SCSI, NCR7,8xx • VGA Card: S3 Trio64V+, Diamond Stealth 64 VRAM • จอ VGA ใดๆ • Serial Mouse หรอ PS/2 Mouse • โมเดมใดๆ ทไมใช Win Modem

เมอจดหาฮารดแวรไดพรอมแลว แนะนาใหตออปกรณตอพวงตางๆ ดงน

• ถาใชฮารดดสกแบบ IDE ใหตดตงเปน Primary Master (C:, ใน Linux จะมองเหนเปน /dev/hda) ทานไมจาเปนตอง FORMAT ดวย DOS หรอ Windows กอน Linux สามารถ FORMAT เองได

• ถาใช IDE CD-ROM ใหตดตง CD-ROM เปน Primary Slave หรอ D: (ใน Linux จะมองเหนเปน /dev/hdb)

Page 87: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

96 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ถาทาไดตอ Mouse ท COM1 ตอ Modem ท COM2 • ถา Mouse เปน PS/2 กใชได แตใหยงคงตอ Modem ท COM2

2. ®—¥À“µÈπ©∫—∫‚ª√·°√¡ Linux-SIS ทานสามารถตดตง Linux-SIS ไดหลายวธดวยกน

• ตดตงจาก CD-ROM วธนงายทสด ทานจะตองมแผน Linux-SIS CD-ROM และเครองของทานจะตองม CD-ROM ไดรฟ

• ตดตงจาก FTP/HTTP Server เปนการตดตงจากเครอง Server (FTP หรอ HTTP กได) ทมซอฟตแวรตนฉบบของ Linux-SIS อย เชน ftp://ftp.nectec.or.th/pub/linux.sis ทานจะตองทราบชอของ FTP Server และไดเรกทอร ทเกบขอมล Linux-SIS เวอรชนททานตองการตดตง (ตวอยางเชน /pub/linux.sis/3.0-RELEASE) ทานสามารถสราง FTP Server เองดวย Linux-SIS เพอใชในการตดตง Linux-SIS เครองตอๆ ไปกได เครองทตองการจะลงจะตองม Network Card และสายสอสารเชอมตอไปยงเครอง Server นนๆ การลงวธนจะสะดวกมาก รวดเรว ถาทาใน LAN เครองทตองการจะลงไมจาเปนตองม CD-ROM ไดรฟ

• ตดตงจากไดเรกทอรทมขอมล Linux-SIS อยแลว (Pre-mounted Directory) หากสองวธขางตน ไมเปนทสะดวกสาหรบทาน ทานอาจใชวธลง

• จากฮารดดสกทเปน DOS • โดยทานจะตองทาสาเนาตนฉบบโปรแกรม Linux-SIS ลงบนฮารดดสกของทาน

ทานตองทราบไดรฟ และ Partition ททานไดบรรจตนฉบบโปรแกรม Linux-SIS ลงไป เชน ถาเปนไดรฟ d: อาจเปน /dev/hdb1 และไดเรกทอรทเกบมนดวย เชน /linux.sis/3.0-release กรณทเกบไวใน D:\LINUX.SIS\3.0-RELEASE

• จาก NFS Server • เปนการลงผานเครอขายคลายวธลงจาก FTP/HTTP Server แตในกรณนเราจะ

ใชโปรโตคอล NFS แทนทจะเปน FTP หรอ HTTP • เครองทจะลงจะตองม Network Card และมเสนทางเชอมตอไปยงเครอง NFS

Server ได

Page 88: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 97

• ท NFS Server จะตองมขอมลโปรแกรมตนฉบบของ Linux-SIS 3.0 อย และทาการ export ใหกบเครองทตองการจะลงเรยบรอยแลว (แกในไฟล /etc/exports เพมชอไดเรกทอรของโปรแกรมตนฉบบนน เชน /linux-sis และ IP ของเครองทตองการจะลง แลว Restart Process ของ nfsd และ mountd ) ทดสอบความถกตองไดโดยใชคาสง showmount –e ดวามชอไดเรกทอรและชอเครองตามทเราใสไวใน /etc/exports หรอไม

3. ∫Ÿµ√–∫∫‡ªÁπ Linux ‡æ◊ËÕ‡√‘Ë¡∑”°“√µ‘¥µ—Èß ขนตอนนมวธการทาไดหลายแบบ ขนอยกบความสะดวกของทาน แตทงหมดแลวนน กจะ

ทาการบตระบบของทานเปน Linux มตวหนงสอเขยนวา “ยนดตอนรบ สการตดตงโปรแกรม Linux-SIS” ดงรปท 13.1 ทงสน ขนอยกบวาทานสะดวกแบบไหน

รปท 13.1 แสดงหนาจอพรอมเรมการตดตง Linux-SIS เวอรชน 3.0

วธท 1 Boot จาก CD-ROM หากเครองของทานสามารถบตจาก CD-ROM ได (อาจตองตรวจสอบใน BIOS) ใหทาการบตระบบจาก Linux-SIS Version 3.0 CD-ROM เลย วธนงายทสด

วธท 2 Boot จาก DOS/Windows หากระบบของทานทางานเปน Windows95 อยแลว เพยงใสแผน Linux-SIS Version 3.0 CD-ROM เขาไป แลวเรยกใชโปรแกรม setup.bat หากทาน

Page 89: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

98 สรางอนเทอรเนตเซรฟเวอรดวย Linux

กาลงอยใน DOS Mode ใหทานไปทไดรฟ CD-ROM และเรยกใชโปรแกรม autoboot.bat (อยในไดเรกทอร linux.sis\install)

วธท 3 ใชแผน Boot/Root เปนวธดงเดมทสด ทานจะตองสรางแผน Boot และแผน Root จาก Image ของแผน Boot และ Root ซงจะมอยใน CD-ROM ของทาน (หรอเอาจาก FTP Site) ขนตอนการทาแผน Boot และ Root ใหทาทเครอง PC ของทาน (DOS, Win3.11, Win95) ดงน

• สรางแผน Boot disk จากไฟล D:\LINUX.SIS\INSTALL\BOOTDISK (สมมตวา CD-ROM คอ ไดรฟ D: กรณทขอมล Linux-SIS ของทานอยในไดเรกทอรอนของ CD-ROM กใหเปลยนไปตามนน)

• ใสแผนดสกทฟอรแมตแลวลงในไดรฟ A:

• สรางแผน Boot โดยเรยกคาสง RAWRITE.EXE อยใน CD-ROM ไดเรกทอร INSTALL ตวอยาง D:\LINUX.SIS\INSTALL\RAWRITE.EXE จะมคาถามขนมาวาจะใชอมเมจตวไหนใหตอบวา D:\LINUX.SIS\INSTALL\BOOTDISK ตอจากนนปอนชอ Drive A: ใสแผน Diskette ลงในไดรฟ เมอสาเรจแลวจะไดแผน Boot disk

• สรางแผน Root disk โดยทาเหมอน Boot disk แตเปลยนไปใชอมเมจจากไฟล D:\ LINUX.SIS\INSTALL\ROOTDISK.GZ แทน

• บตเครองทตองการลง Linux-SIS ดวยแผน Boot ททาขนในขอ 1 และตามดวยแผน Root ในขอ 2 หรอใสแผน CD-ROM ในซดรอมไดรฟ

• ใหทาการบตเครองดวยแผน Boot เมอบตไปถงระยะหนง เครองจะใหเปลยนแผน ใหเอาแผน Root เปลยนใสแทน สกครกจะเปนการเสรจสนการบต และนาทานไปสหนาจอยนดตอนรบ

ระหวางทระบบทาการบตไปเปน Linux จะมการตรวจสอบฮารดแวรตางๆ และแสดงผลออกมา ตวอยาง เชน ถาเจอฮารดดสกหรอ CD-ROM IDE กจะแสดงคาวา /dev/hda, /dev/hdb ถาเจอฮารดดสก SCSI กจะแสดงคาวา /dev/sda, /dev/sdb ถาเจอ Ethernet Card กจะแสดงคาวา /dev/eth0 หากไมพบคาเหลานกอาจเปนไปไดวาแผน Boot ไมสามารถคนหาฮารดแวรตวนนๆ ของทานได (กด – เพอขนไปดรายการดานบนทผานไปแลว)

อมเมจแผน Boot ของ Linux-SIS นน ทชอ bootdisk นน เทยบเทากบแผนอมเมจ แผน Boot ของ Slackware Linux ชอ scsinet.s หากมนไมสามารถคนหาฮารดแวรของทานได ทานสามารถใชอมเมจแผน Boot ของ Slackware Linux อนๆ แทนได ดรายละเอยดวาจะใชอมเมจตว

Page 90: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 99

ใดไดใน ftp://ftp.nectec.or.th/pub/mirrors/linux/distributions/slackware/bootdsks.144/ README.TXT หรอไดเรกทอร SLACK36\BOOTDSKS.144 ในแผน CD-ROM

หากแผน Boot ไมสามารถคนหาฮารดแวรของทานไดครบทงหมด ถงแมวาฮารดแวรนนมระบวาใชกบ Linux ไดใน ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Hardware-HOWTO แลวกไมตองตกใจ ขอเพยงใหแผน Boot สามารถคนหาเฉพาะฮารดแวรทจาเปนในการตดตงกอน นอกเหนอจากนน เมอระบบตดตงเสรจแลว คอนทาการ Rebuild Kernel เพอให Kernel มองเหนฮารดแวรทเหลอกได เชน ถาตดตงผาน CD-ROM แผน Boot มองเหนฮารดดสกและ CD-ROM เรยบรอยแลว แตไมเหน Ethernet Card กไมเปนไร ตดตงใหเสรจไปกอน แลวคอย Rebuild Kernel ใหเหน Ethernet Card ภายหลง

วธใชแผน Boot, Root ทานจะสามารถเลอกแผนสรางแผน Boot ไดอสระ แตหากใชวธ Boot จาก CD-ROM หรอเรยกโปรแกรม Setup ทานจะไมสามารถเลอก Image ของแผน Boot ได หากวธการบตดงกลาวไมสามารถคนหาฮารดแวรทจาเปนของทานไดตามตองการ ใหใชวธสรางแผน Boot/Root แทน

4. ‡√‘Ë¡∑”°“√µ‘¥µ—Èß ·≈–∑” ”‡π“‰ø≈ϵ˓ßÊ ≈ß∫πŒ“√Ï¥¥‘ °Ï¢Õß∑Ë“π 4.1 ‡≈◊Õ°‰¥√øÏ∑’Ë®–∑”°“√µ‘¥µ—Èß Linux-SIS เมอใสแผน Boot และแผน Root ตามทกลาวมาแลว (อยาลมใสแผน CD-ROM ลงใน

ซดรอมไดรฟ ถาทานตดตงจาก CD-ROM) แลวบตเครอง จนพบขอความวา "ยนดตอนรบสการตดตง Linux-SIS" ปรากฏขนทหนาจอดงรปท 13.1 ใหกด Enter ผานเขาไปจะปรากฏหนาจอดงรปท 13.2

รปท 13.2 ระบฮารดดสกทตองการจะตดตง

Page 91: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

100 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในขนตอนนจะตองระบไดรฟทผใชจะตดตงโดยจะตองพมพตามขางตนเชน ถาผใชจะตดตงลงในไดรฟ C: กใหพมพ /dev/hda ถาจะตดตงลงใน SCSI Disk ตวแรก ใหพมพ /dev/sda แลวกด Enter

4.2 ·∫Ëßæ“√Ï∑‘™—π Partition ในขนตอไปนนจะทาการแบงพารทชน (Partitionของไดรฟทไดเลอกไวแลว ดงรปท 13.3

โดย Linux-SIS จะมระบบแบงพารทชนโดยอตโนมต เพอใหความสะดวกแกผใช โดยจะแบงเปน 3 พารทชน คอ Root partition ขนาด 1,000 MB, Swap partition ขนาด 128 MB และ Data partition ใชเนอททเหลอ โดย Root และ Data Partition มไทป (Type) เปน Linux native (83) สวน Swap Partition มไทปเปน Linux Swap (82)

ถาทานไมตองการใหแบงพารทชนโดยวธอตโนมตดงกลาว สามารถแบงพารทชนดวยตนเองได โดยสามารถใชโปรแกรม fdisk หรอ cfdisk คาแนะนาคอ ทานควรแบงใหม Swap Partition 1 อน (ขนาดโดยปกตจะแบงเปน 2 เทาของหนวยความจา (RAM) ทมอย) และควรม Linux native Partition 2 อน เพอทจะไดเปน Root Partition 1 อน และอกอนเปน Data เอาไวเกบขอมลสวนตวของทานเอง เมอครงหนาตองการลงใหม กฟอรแมตแคเฉพาะ Root Partition ขอมลทอยใน Data Partition กไมสญหาย

หากทานแบงพารทชนไวเรยบรอยแลว ไมตองการเปลยนแปลง กใหเลอก SKIP ขามไปไดเลย

รปท 13.3 แบงพารทชน (Partition)

Page 92: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 101

• การใชงาน fdisk

หลงจากเลอก fdisk เขามาแลวจะปรากฏขอความดงน

Command (m for help):

โดยโปรแกรมจะรอรบคาสงใหพมพ m แลวจะปรากฏรายการคาสงของ fdisk ดงน

Command (m for help): m a เปด/ปด แฟลกทบอกวาเปนบตพารทชน b แกไขเลเบลของดสกทเปนแบบ BSD

c เปด/ปด แฟลกทใหมความเขากนไดกบระบบดอส d ลบพารทชน l แสดงหมายเลขประจาตว และชอของแตละพารทชนมาให m แสดงรายละเอยดคาสงของ fdisk อยางคราวๆ n สรางพารทชนขนมาใหม p แสดงรายละเอยดของพารทชน q ออกจาก fdisk โดยไมบนทกแกไข t เปลยนชนด (Type) ของพารทชน u เปลยนหนวยนบของฮารดดสก v ตรวจสอบการแบงเนอทพารทชน ถายงมเนอทเหลอจะแจงใหทราบ w บนทกการเปลยนแปลงพารทชนทงหมดพรอมกบออกจากโปรแกรม x คาสงพเศษเมอเลอกคาสงนจะมคาสงยอยลงไปอก

• การใชคาสง d ลบพารทชนมอยแลว

Command (m for help): d Partition number (1-4): 1 Command (m for help): d Partition number (1-4): 2

Command (m for help): d Partition number (1-4): 3

Command (m for help): d Partition number (1-4): 4

Page 93: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

102 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ใชคาสง n เพอสรางพารทชน

สราง Root Partition ขนาด 800 MB (หากลงสวน desktop แนะนาใหเปน 1,000 MB)

Command (m for help): n Command action

e extended p primary partition (1-4)

p Partition number (1-4): 1 First cylinder (1-1023): 1 Last cylinder or +size or +sizeM or +sizeK ([1]-1023): +800M

สราง Swap Partition ขนาด 128 MB หรอสองเทาของ RAM ทมอย

Command (m for help): n Command action

e extended

p primary partition (1-4) p Partition number (1-4): 2 First cylinder (408-1023): 408 Last cylinder or +size or +sizeM or +sizeK ([408]-1023): +128M

สราง Data Partition ระบขนาดโดยใช Last Cylinder แทนทจะระบเปน MB เหมอน 2 พารทชนแรก เพอใชเนอททเหลอทงหมด

Command (m for help): n Command action e extended

p primary partition (1-4)

p Partition number (1-4): 3 First cylinder (474-1023): 474 Last cylinder or +size or +sizeM or +sizeK ([474]-1023): 1023

Page 94: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 103

สาหรบพารทชนทจะใหเปนสวอป (Swap) เปลยนชนดของพารทชน (Default จะเปน Linux native ใหเปน Linux swap) ตวอยางดงน

Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): l 0 Empty a OS/2 Boot Manager 64 Novell

Netware a5 BSD/386

1 DOS 12-bit FAT b Win95 FAT32 65 Novell Netware b7 BSDI fs 2 XENIX root c Win95 FAT32 75 PC/IX b8 BSDI swap

3 XENIX usr e Win95 FAT16 80 Old MINIX c7 Syrinx

4 DOS 16-bit <32M f Win95 Extended 81 Linux/MINIX db CP/M 5 Extended 40 Venix 80286 82 Linux swap e1 DOS access

6 DOS 16-bit >=32 51 Novell? 83 Linux native e3 DOS R/O

7 OS/2 HPFS 52 Microport 93 Amoeba f2 DOS 8 AIX 63 GNU HURD 94 Amoeba BBT ff BBT

9 AIX bootable

Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap)

ใชคาสง p เพอแสดงรายการพารทชนทสรางขน

Command (m for help): p Disk /dev/hda: 64 heads, 63 sectors, 1023 cylinders

Units = cylinders of 4032 * 512 bytes

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 407 820480+ 83 Linux native

/dev/hda2 408 408 473 133056 82 Linux swap

/dev/hda3 474 474 1023 1108800 83 Linux native

ถาตองการบนทก และออกจาก fdisk ใหใช w ถาตองการออก แตไมตองการบนทก (กรณทาผด) ใช q

Command (m for help): w

Page 95: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

104 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• การใชงาน cfdisk

รปท 13.4 การแบงพารทชนโดยใช cfdisk

นอกจาก fdisk เราสามารถใช cfdisk ในการแบงพารทชนกได ดงรปท 13.4 (อาจมวธการใชทงายสาหรบมอใหมมากกวา) สามารถใชลกศรซายขวาเลอนในการเลอกคาสง และลกศรขนลงในการเลอกฮารดดสก การเปลยนเปน Swap partition ทาไดโดยการเลอกไทป แลวจะขนหนาจอคลายกบของ fdisk ใหเลอกชนดท 82 จะเปนสวอป

4.3 ‡≈◊Õ°«‘∏’°“√µ‘¥µ—Èß หลงจากทผใชแบงพารทชนแลวจะเขามาสการเลอกวธการตดตงดงรปท 13.5

รปท 13.5 เลอกวธการตดตง

Page 96: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 105

ทานสามารถเลอกตดตง Linux-SIS ได 3 วธดงน • ตดตงจาก CD-ROM • ตดตงจาก FTP/HTTP Server • ตดตงจาก Directory ท mount ไวเรยบรอยแลว

• การตดตงจาก CD-ROM

ในการตดตงจาก CD-ROM จะตองระบไดรฟทเปน CD-ROM ใหแก Linux-SIS ดงรปท 13.6 โดยการพมพชอไดรฟทตดตง CD-ROM ลงไปเชน ถา CD-ROM ของผใชอยในไดรฟทเปน Primary Slave หรอ ไดรฟ D: ใหพมพ /dev/hdb หรอถาเปนไดรฟทเปน Secondary Master หรอ ไดรฟ E: ใหพมพ /dev/hdc

รปท 13.6 ระบไดรฟ CD-ROM

• การตดตงจาก FTP/HTTP Server

รปท 13.7 เลอกตดตงจาก FTP หรอ HTTP Server

Page 97: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

106 สรางอนเทอรเนตเซรฟเวอรดวย Linux

จากรปท 13.7 จะเหนไดวาในขนตอนนจะตองเลอกวาจะตดตงจาก FTP หรอ HTTP Server ถาจะตดตงจาก ftp.nectec.or.th กใหเลอก FTP

หลงจากนน กจะตองระบเลข IP Address ของ FTP/HTTP Server เชน ถาเปน ftp.nec–tec.or.th จะม IP Address เปน 202.44.204.34 ดงรปท 13.8

รปท 13.8 ระบ IP Address ของ FTP Server

ในขนตอไปนนจะตองระบไดเรกทอรทเกบตนฉบบของ Linux-SIS ทผใชตองการจะตดตง ดงรปท 13.9 เชน ถา Linux-SIS อยใน /pub/linux.sis/3.0-RELEASE กใหพมพ Directory นลงไปในชองทกาหนดแลวกด OK

รปท 13.9 ระบไดเรกทอรทเกบขอมล Linux-SIS บน Server

หลงจากทระบไดเรกทอรเรยบรอยแลว ทานสามารถใสออปชนพเศษ กรณทตองการ ดงรปท 13.10 เชน ถาทานตองการใหทาการ FTP/HTTP ผาน Proxy Server ใหพมพ –x แลวตามดวยชอของ <Proxy Server>:<Port> หรอในกรณทจะตองใส login และรหสผานใหกบ HTTP /FTP Server กสามารถใช option -u ตามดวย <login_name>:<password> ตวอยางเชน

Page 98: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 107

-x cache.school.net.th:8080 -u ott:mypassword

หากไมมความจาเปนตองใชออปชนพเศษใดๆ กกด Enter ผานไปไดเลย

รปท 13.10 การใสออปชนพเศษ

• การตดตงจากไดเรกทอรท mount ไวแลว

รปท 13.11 การตดตงจากไดเรกทอรท mount ไวแลว

วธน ทานตองกระทาการบางอยางกอน เพอใหขอมลตนฉบบไปปรากฏอยในไดเรกทอรใดไดเรกทอรหนงของเครอง เชน /mnt1 แลวเรากปอนชอไดเรกทอรนน ใหกบโปรแกรมตดตง ดงเชนรปท 13.11 การกระทาบางอยางทวานน ขอยกตวอยางได 2 กรณ คอ กรณตดตงโดยทขอมลตนฉบบอยในฮารดดสกทเปน DOS และกรณทตดตงจาก NFS Server

Page 99: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

108 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ตดตงแบบใชขอมลตนฉบบจากฮารดดสกทเปน DOS

• โดยทานจะตองทาสาเนาตนฉบบโปรแกรม Linux-SIS ลงบนฮารดดสกของทานขณะททางานในโหมด DOS หรอ Windows ทานตองทราบพารทชนททานไดบรรจตนฉบบโปรแกรม Linux-SIS ลงไป เชน ถาเปนไดรฟ d: อาจเปน /dev/hdb1 และ ไดเรกทอรทเกบมนดวย เชน ถาเกบไวใน D:\LINUX.SIS\3.0-RELEASE\ จะเปน /linux.sis/3.0-release

• คาแนะนาในขนตอนการตดตง • เมอถงขนตอนในรปท 13.11 ใหกด ALT-F2, Log in เปน root ไมมรหสผาน

แลวใชคาสง mount /dev/hdb1 /mnt1 กรณทเปน FAT16 หรอใชคาสง mount –t vfat /dev/hdb1 /mnt1 ถาเปน VFAT เชน Windows95 (เปลยน /dev/hdb1 เปนชอไดรฟทเกบขอมลตนฉบบ Linux-SIS ของทาน) อาจตองระวงเรองตวเลกตวใหญ

• เมอสง ls /mnt1/linux.sis/3.0-release ควรจะเหนขอมลตนฉบบทใชในการลง Linux- SIS 3.0 ควรจะมไฟลชอ VERSION อย (เปลยน /linux.sis/3.0-release เปนชอไดเรกทอรทเกบขอมลตนฉบบโปรแกรม Linux-SIS)

• กด ALT-F1 กลบไปยงโปรแกรมการตดตง และปอนชอไดเรกทอร /mnt1/linux .sis/3.0-release

• ตดตงจาก NFS Server • เปนการลงผานเครอขายคลายวธลงจาก FTP/HTTP Server แตในกรณนเราจะใช

โปรโตคอล NFS แทนทจะเปน FTP หรอ HTTP • เครองทจะลงจะตองม Network Card และมเสนทางเชอมตอไปยงเครอง NFS Server

ได • ท NFS Server จะตองมขอมลโปรแกรมตนฉบบของ Linux-SIS 3.0 อย และทา

การ export ใหกบเครองทตองการจะลงเรยบรอยแลว (แกในไฟล /etc/exports เพมชอไดเรกทอรของโปรแกรมตนฉบบนน เชน /linux.sis/3.0-RELEASE และ IP ของเครองทตองการจะลง แลว Restart Process ของ nfsd และ mountd) ทดสอบความถกตองไดโดยใชคาสง showmount –e ดวามชอไดเรกทอร และชอเครองตามทเราใสไวใน /etc/exports หรอไม

Page 100: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 109

• คาแนะนาในขนตอนการตดตง • เมอถงขนตอนดงรปท 13.11 ใหกด ALT-F2, Log in เปน root ไมมรหสผาน • แลวใชคาสง “ifconfig eth0 203.150.154.14 netmask 255.255.255.0” #

เปลยน 203.150.154.14 และ 255.255.255.0 ใหเปน IP และ Netmask • ใชคาสง “route add –net 203.150.154.0” เปลยน 203.150.154.0 เปนชอ

เครอขายของทาน • หากเครอขายของทานมการใช Gateway ใหใชคาสง “route add default gw

203.150.154.1” เปลยน 203.150.154.1 เปน IP Address ของ gateway ของทาน

• ใชคาสง “mount –t nfs 202.44.204.10:/linux.sis/3.0-RELEASE /mnt1” เปลยน 202.44.204.10 เปน IP Address ของ NFS Server และเปลยน /linux.sis/3.0-RELEASE เปนชอไดเรกทอรทเกบขอมลตนฉบบ Linux-SIS ใน NFS Server นนๆ

• ls /mnt1/ ควรจะเหนขอมลตางๆ ทใชในการลง Linux-SIS 3.0 • กด ALT-F1 กลบไปยงโปรแกรมการตดตง และปอนชอไดเรกทอร /mnt1/

4.4 ‡≈◊Õ° Ë«πª√–°Õ∫¢Õß Linux-SIS หลงจากทเราเลอกรปแบบการตดตงเรยบรอยแลว จะเปนการเลอกซอฟตแวรทจะตดตงลง

ใน Linux-SIS ไดแก • base เปนระบบพนฐานของ Slackware Linux 3.6.0 เมอลงเสรจแลวคอ ได

เรกทอร / • data เปนสวนของขอมลของ Linux-SIS เมอลงเสรจแลวคอ ไดเรกทอร /data • sis เปนสวนเพมเตมของ Linux-SIS เมอลงเสรจแลวคอ ไดเรกทอร /usr1 • server เปนสวนของ Internet Server เมอลงเสรจแลวคอ ไดเรกทอร /usr1

/local/etc • source เปน source code ทใชในการสรางสวน server เมอลงเสรจแลวคอ

ไดเรกทอร /usr1/local/src

Page 101: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

110 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• desktop เปนสวนของ Desktop เมอลงเสรจแลวคอ ไดเรกทอร /usr1/local /desktop

• desktop-src เปน source code ทใชในการสรางสวน desktop เมอลงเสรจแลวคอ ไดเรกทอร /usr1/local/desktop-src

ในการลงปกตเปน Internet Server ควรลงสวน base, data, sis และ server หากมเนอทเหลอ หรอตองการ Source Code กใหลงสวน source ดวย

หากตองการใช Linux ในโหมด Workstation (ม Graphics, X Windows, ภาษาไทย) กลง base, data, sis และ desktop หากมเนอทเหลอและตองการ Source Code ของสวน Desktop กอาจลงสวน desktop-src ดวย (โปรดระวง ตองการเนอทคอนขางเยอะ)

4.5 ‡√‘Ë¡°“√∑” ”‡π“‰ø≈Ï หลงจากทผใชเลอกฟอรแมตทจะลงแลวกใหเลอก OK แลว Linux-SIS จะทาการฟอรแมต

ฮารดดสก และทาสาเนาไฟลตางๆ ลงไปในเครองของทาน หลงจากนนกจะทาการ Reboot

°“√∑”°“√µ‘¥µ—È߇æ‘Ë¡‡µ‘¡∑’ˇ√’¬°«Ë“ First-time Configuration

รปท 13.12 First-time Setup

เมอระบบทาการ Reboot กลบมาอกครงหนง มนจะทาการเรยกโปรแกรม /usr1/install /firsttime โดยอตโนมต (ครงตอไปจะไมเรยก) ดงรปท 13.12 หากทานเพงทาการตดตงเปนครงแรกใหเลอก 1.Step by Step ภายหลงเมอมความชานาญแลวจงเลอกแบบ Automatic (ไมมคาบรรยาย ตดตงตามคาอตโนมต)

Page 102: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 111

ในขนตอๆ ไปจะพบกบคาถามตางๆ กน หากทานไมแนใจในแตละขอวาควรจะตอบอยางไรด ใหตอบตามคาอตโนมต

• Initialize your system to be Linux-SIS? (คาอตโนมตคอ Yes) ใหตอบ Yes โปรแกรมตดตงจะทาการเรยกโปรแกรม /usr1/install/scripts/MakeItSIS เพอเตรยมระบบของทานใหเปน Linux-SIS (หากไมตอบ YES ตรงนอาจมปญหาในขนตอไป)

• Initialize Root Password? (คาอตโนมตคอ Yes) ใหตอบ Yes โปรแกรมตดตงจะทาการเรยกคาสง passwd เพอตงคารหสผานเรมแรกสาหรบ Root (ผดแลระบบ)

• Setup your network configuration? (คาอตโนมตคอ No) จะเปนการเรยกคาสง netconfig เพอตงคา ชอเครอง, IP Address, Netmask, Gateway, DNS Server ใหกบเครองของทาน หากทานยงไมทราบคาเหลาน, ยงไมทราบวา IP Address คออะไร หรอเครองไมไดเชอมตอกบอนเทอรเนต ตอใชแคเครอขายภายใน ใหตอบ No โปรแกรมตดตงจะตงคาเรมตนใหโดยอตโนมตทเหมาะกบการใชในเครอขายภายใน (ชอเครอง linux.intranet, IP 192.168.1.1, Netmask 255.255.255.0, DNS Server, 127.0.0.1 ไมม Gateway) ทานสามารถใชคาสง netconfig เพอตงคาใหมภายหลงได

• Allow telnet/ftp from 192.168.1.* only? (คาอตโนมตคอ Yes) หากทานตองการทาการ Telnet มายงเครองนจากเครองอนนอกเหนอจากเครองทอยในเครอขายภายใน (192.168.1.*) ใหตอบ No (โปรดระวงดานความปลอดภย) ถาไมตองการเชนนน ใหตอบ Yes (ปลอดภยกวา) ทานสามารถแกไขคานภายในไดทไฟล /etc/hosts.deny ภายหลง โปรดอานรายละเอยดเพมเตมในบทท 36 เรองการรกษาความปลอดภยและ TCP-Wrapper

• Do you want this machine to make dial-up connection to ISP? (คาอตโนมตคอ No) หากทานมโมเดมตอกบเครองน และตองการใชในการหมนโทรศพทออกไปยงผใหบรการอนเทอรเนต ใหตอบ Yes โปรแกรมตดตงจะเรยกคาสง passwd เพอตงคารหสผานของผใช qdial และ dial โปรดอานในบทตอไปถงวธการใชงานสองบญชน หากไมตองการใชตอบ No

• Do you want to run this machine as Proxy/Cache Server (Squid)? (คาอตโนมตคอ Yes) หากทานตองการใชเครองนเปน Proxy/Cache Server ใหตอบ Yes นอกนนใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d

Page 103: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

112 สรางอนเทอรเนตเซรฟเวอรดวย Linux

/rc.squid และทาการ Initialize Cache Space (เรยกใชคาสง /usr1/local/etc/squid /bin/squid –z) ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc.squid โปรดอานรายละเอยดเพมเตมในบทเรอง Proxy/Cache Server

• Do you want to set this machine as firewall with Transparent Proxy? (คาอตโนมตคอ Yes) หากทานตองการใหเครองนทาหนาท Firewall, IP Masquerading และ Transparent Proxy ใหตอบ Yes (ทานตองตอบ Yes สาหรบคาถาม Do you want to run this machine as Proxy/Cache Server (Squid)? กอนหนานดวย ถาจะตอบ Yes ตรงน) สาหรบคาถามน ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc .firewall ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d /rc.firewall โปรดอานรายละเอยดเพมเตมเกยวกบ Firewall, IP Masquerade และ Transparent Proxy ในบทถดๆ ไป

• Do you want to set this machine to be Web Server? (คาอตโนมตคอ Yes) หากตองการใหเครองนทาหนาทเปน Web Server ดวยใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc.httpd ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc.httpd โปรดอานรายละเอยดเพมเตมในบทเรอง การ Upload ขอมล Web Page ส Linux-SIS

• Do you want to use Web Admin Tool on this machine? (คาอตโนมตคอ Yes) ถาตองการใช Web Admin Tool (บรหารงานเครองผาน Web) ใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc .webadmintool ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc.web–admintool โปรดอานรายละเอยดเพมเตมในการใชงาน Web Admin Tool ในบทถดๆ ไป

• Do you want to run Web-based E-mail Server? (คาอตโนมตคอ No) ถาตองการใหเครองนทาหนาทเปน Web-based E-mail Server (คลาย HotMail, Thai–mail) ใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc.roxen ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc.roxen ทานสามารถเรยกใชงาน Web-based E-mail ไดโดยเรยกไปท http://<ชอเครอง>:81/mail โปรแกรม Web-based E-mail นชอ IMHO

Page 104: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 13 การตดตง Linux-SIS เวอรชน 3.0 113

(http://www .lysator.liu.se/~stewa/IMHO/) ซงทางานบน Roxen Web Server (http://www.roxen .com) ซงตดตงอยท /usr/local/etc/roxen

• Do you want to run Samba (SMB File and Print Server) on this machine? (คาอตโนมตคอ Yes) หากตองการใหเครองนทาหนาทเปน File&Print Server ใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc.samba ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc .samba โปรดอานรายละเอยดเกยวกบ การทาไฟล และ Print Server ดวยโปรแกรม SAMBA เพมเตมในภาคตอๆ ไป

• Do you want to run DHCP Server on this machine? (คาอตโนมตคอ No) หากตองการใหเครองนทาหนาทเปน DHCP Server ใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc.dhcpd ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc.dhcpd โปรดอานรายละเอยดเกยวกบ ระบบฐานขอมล DHCP Server เพมเตมในภาคตอๆ ไป

• Do you want to run MySQL Database Server on this machine? (คาอตโนมตคอ No) หากตองการใหเครองนทาหนาทเปน Database Server (MySQL) ใหตอบ Yes ถาไมตองการใหตอบ No ถาตอบ Yes โปรแกรมตดตงจะทาการ chmod +x /etc/rc.d/rc.mysqld ถาตอบ No โปรแกรมตดตงจะทาการ chmod –x /etc/rc.d/rc .mysqld โปรดอานรายละเอยดเกยวกบ ระบบฐานขอมล MySQL เพมเตมในภาคตอๆ ไป

หลงจากนนโปรแกรมตดตงกจะทาการ Reboot และการตดตง Linux-SIS เวอรชน 3.0 กเปนอนเสรจสมบรณ

°“√·°È‰¢ª—≠À“„π°“√µ‘¥µ—Èß • เมอใสชอฮารดดสกไปแลว เชน /dev/sda ปรากฏวา โปรแกรมบอกวา ไมสามารถ

คนหาฮารดดสกตวนได ควรทาอยางไร

Page 105: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

114 สรางอนเทอรเนตเซรฟเวอรดวย Linux

อาจเปนไปไดวา แผน Boot นนๆ ไมสามารถคนหาฮารดดสก SCSI (/dev/sda) ของทานได ลองกด SHIFT-PageUp ขนไปดรายการฮารดแวรทพบในตอน Boot วาพบฮารดดสก SCSI ของทานหรอไม

ลองสรางแผน Boot ใหมโดยใชอมเมจจาก Slackware Linux ลองดท ftp://ftp .nectec.or.th/pub/mirrors/linux/distributions/slackware/bootdsks.144

ตรวจสอบฮารดแวรของทานใน Hardware-HOWTO วาอยในรายชอหรอไม

• ใชวธลงจาก FTP Server ปรากฏวาโปรแกรมตดตงคางไป หลงจากปอน IP Address และไดเรกทอรของ FTP Server ไปแลว

ตรวจสอบการเชอมตอทางเครอขายจากเครองทตองการลง ไปยง FTP Server วาใชการไดหรอไม วธงายๆ คอ ลองใช PC เครองอนตง IP และใชสาย LAN ของเครองทตองการจะลง ทดสอบดวาสามารถ ping ไปยง FTP Server ไดหรอไม

• จาเปนตองลง source ดวยหรอไม ถาตองการใชเปน Internet Server ลงแค root, server, data ไมพอหรอ

บางโปรแกรมในสวน server ตองการ source ใชในการตดตง เชน Secure Shell หากไมตองการใชกไมจาเปนตองลง

Page 106: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 14 การใชงาน Linux-SIS เบองตน 115

เครอง Linux-SIS เมอทาการตดตงขนตอนตางๆ ครบเรยบรอยแลวนน เมอเปดเครองใชงาน หลงจากระบบพรอมทจะทางานแลว หนาจอกจะมขอความ ดงรป

Linux 2.0.35 <ชอเครอง> (tty1) Welcome to Linux 2.0.33 linux login:

การใชงานระบบ Linux-SIS กจะเหมอนกบการใชงานระบบ Linux ทวไป สงททานควรทาหลงจากทตดตงระบบกคอ

• เปลยนรหสผานของ root และ admin ถายงไมไดตงขณะททาการตดตง (รายละเอยดดบทท 11 การใชงาน Linux เบองตน)

• ใช Web Admin Tool (บทท 18) เพอสรางบญชผใชสาหรบตวทานเอง การใชงานปกตไมควรใชบญช root หรอ admin

• การปดเครองตองใชวธกดปม – – หรอ Log in เปน root แลวใช คาสง shutdown –r now เทานน หามกดสวตชปดเลยโดยเดดขาด

• หากตองการใชเครอง Linux-SIS ทาหนาทตอโมเดมหมนโทรศพทออกไปเชอมตอกบเครอขายอนเทอรเนต โปรดอานบทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS

Page 107: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

116 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• หากทานมเครอขายภายในทเชอมตออนเทอรเนตอยแลว ตองการเพมเครอง Linux-SIS เขาไป โปรดอานบทท 16 การเชอมตอ Linux-SIS เขากบเครอขายภายใน กรณทเชอมตออนเทอรเนตแบบโหนด

• สราง Kernel ใหม สาหรบระบบของทาน ทาแผน boot เพอใชในยามฉกเฉน หมนทาการสารองขอมล ดรายละเอยดเพมเตมในบทท 17

• หากทานตองการใชงานเครอง Linux-SIS เปน Internet Server (เชน WWW, Proxy /Cache, DNS เปนตน) โปรดอานรายละเอยดเพมเตมในภาคท 6

• หากทานตองการใชงานเครอง Linux-SIS ในงานตงโตะ (ยงอยในขนทดลอง) โปรดอานบทท 45 และไฟล README.TXT เพมเตมใน CD-ROM Linux-SIS 3.0

Page 108: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS 117

ปจจบนการใชงานอนเทอรเนตแบบผใช (Dial-up User) ทาไดงายและสะดวก เพยงม เครองคอมพวเตอร โมเดม และสายโทรศพท เรากสามารถหมนโทรศพทจากทบานเขาไปยงศนยบรการอนเทอรเนต และใชงานอนเทอรเนตได อยางไรกตาม เรากจะใชงานไดเพยงเครองเดยว ไมสามารถแบงใหเครองอนๆ (ทไมมสายโทรศพทและโมเดม) ใชงานดวยได

เราสามารถใชเครองทลงซอฟตแวร Linux-SIS ทาหนาทเพอหมนโทรศพทไปเชอมตอกบอนเทอรเนตแบบผใช และตอใหเครอง PC อก 3-4 เครอง ใชงานอนเทอรเนตไดดวย โดยใชซอฟตแวรทมอยในระบบ Linux ไมจาเปนตองเสยคาใชจายเพมแตอยางใด ในบทนจะกลาวถงวธการตดตง Linux-SIS ใหบรรลตามวตถประสงคดงกลาว

กอนอานในบทน ทานควรมความคนเคยกบการใชงาน Editor เชน pico, vi หรอ joe (คลาย Word Star เนองจากตองใชในการแกไขรายละเอยดของ Script ไฟลตางๆ) ลองสรางไฟลดวย Editor เหลาน เชน ลองพมพวา pico test เพอใช Editor pico สรางไฟลชอ test ฝกการ Save, ลบตวอกษร, ลบบรรทด

¢—ÈπµÕπ°“√‡™◊ËÕ¡µËÕÕ‘π‡∑Õ√χπÁµ·∫∫ºŸÈ„™È (À¡ÿπ‚¡‡¥Á¡) ‚¥¬„™È Linux-SIS เชอมตอเครอง PC และเครอง Linux-SIS Server ดงรปท 15.1

Page 109: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

118 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เครอขายอนเทอรเนต

pc2 pc3pc1

Modemสายโทรศพ

Linux-SIS Server

192.168.1.11

Ethernet

192.168.1.13192.168.1.12

192.168.1.1

Netmask 255.255.255.0

รปท 15.1 รปแสดงการเชอมตอ Linux-SIS เขากบเครอขายภายในและเครอง PC อนๆ

ขณะทตดตง Linux-SIS Server ขนตอน First time configuration ใหตอบดงน

Initialize your system to be Linux-SIS? ตอบ Yes Initialize Root Password? ตอบ Yes Setup your network configuration? ตอบ No

(โปรแกรมจะตงคา IP เปน 192.168.1.1, Netmask 255.255.255.0 โดยอตโนมต)

Allow telnet/ftp from 192.168.1.* only? ตอบ Yes Do you want this machine to make dial-up connection to ISP? ตอบ Yes และจาคารหสผานของ qdial และ dial ทตงไว

Do you want to run this machine as Proxy/Cache Server (Squid)? ตอบ Yes Do you want to set this machine as firewall with

Transparent Proxy? ตอบ Yes

นอกเหนอจากน เลอกตามความตองการของทาน

Page 110: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS 119

หลงจากตดตงเสรจแลว ตอ Modem เขาท COM2 เสรจแลวเปด Modem, Login เปน Root เรยกใชคาสง minicom (คลาย TELIX บน DOS) ลองพมพวา AT และมคาวา OK ตอบกลบมาหรอเปลา ถาไมมแสดงวายงตอโมเดมไมถกตอง (กด – หรอ – – เพอออกจาก minicom)

หากไมสามารถตดตง Modem ท COM2 ได จะตองใชคาสง ln –sf <ชอ device ของ COM Port> /dev/modem โดยชอ Device ของ COM Port แสดงไดดงน

/dev/cua0 COM1 /dev/cua1 COM2 /dev/cua2 COM3 /dev/cua3 COM4

ตวอยางเชน ถาตอ Modem ท COM4 จะตองใชคาสง ln –sf /dev/cua3 /dev/modem (ขณะทเปน root) แลวจงลองใชคาสง minicom ตามหวขอทแลว

ทเครอง PC ตางๆ ทานจะตองทาการตดตง TCP/IP Protocol (สาหรบ Windows95 จะทาไดโดยเขาไปใน Control panel, Network และทาการ Add Protocol, Microsoft, TCP/IP) ตดตงคา IP Address ดงแสดงในรปท 15.1, Netmask 255.255.255.0, Gateway 192.168.1.1, DNS 192.168.1.1 หากไมตองการตดตงคาตางๆ เหลาน (ทเครอง PC) ใหยงยาก อาจใชวธตดตงใหเครอง Linux ทาหนาทเปน DHCP Server โดยการตอบ Yes ทคาถาม Do you want to run DHCP Server on this machine? ในตอน First time configuration สวนท PC กใหตงคาท Control Panel/Network/TCP/IP (กรณ Windows 95) ใหเปน Obtained IP Address automatically โปรดอานรายละเอยดในบทเรอง DHCP เพมเตม

ทดสอบการเชอมตอระหวางเครอง Linux กบเครอง PC ตางๆ โดยใชคาสง ping ทดสอบระหวางเครองทงสอง

เปดโมเดม ตอสายโทรศพทเขากบโมเดม

วธการสงใหหมนโทรศพทม 2 วธ

วธแบบเรว (Quick Dial)

Page 111: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

120 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Login เปน qdial เมอปอนรหสผานของ qdial เรยบรอยแลว โปรแกรมจะถามคา Username ทใชในโครงการ SchoolNet@1509 และรหสผาน หลงจากนนระบบจะทาการหมนโทรศพทไปเชอมตอโดยอตโนมต

ดรายละเอยดการทางานได โดยการ Log in เปน Root (อาจใชอกหนาจอหนง กได กด , , ..., เพอเปลยนหนาจอ) แลวใชคาสง tail –f /var/adm/messages

ทดสอบวาเชอมตอเรยบรอยหรอยง Login เปน Root แลวใชคาสง ifconfig แลวดวาม Interface ppp0 หรอไม (ตามปกตจะม lo0, eth0 เปนตน)

หากตองการแกไขคาตางๆ ในการหมนโทรศพท ใหใช Editor เขาไปแกไขไฟล /root/ppp/qdialscript ซงจะมเนอหาคลายๆ ดงน (คาวา MyUserName และ MyPassword ไมตองแกไข สองคานจะถกแทนทดวยชอ Username และรหสผานททานปอนเขาไปขณะท Log in เปน qdial)

TIMEOUT 60

ABORT ERROR

ABORT BUSY ABORT "NO CARRIER"

ABORT "NO DIALTONE"

"" "ATZ" OK "atdt1509" # แกไข 1509 เปนหมายเลขอนหากทานไมได TIMEOUT 75 # เชอมตอกบเครอขาย SchoolNet@1509 CONNECT "" Username:

MyUserName

Password:

MyPassword

หากทานพบวาโทรศพทตองตด 9 กอนหมนเลขโทรศพท และเมอโทรเขาไปจะพบ Prompt วา Login: แทนทจะเปน Username: ใหแก /root/ppp/qdialscript เปนดงน

TIMEOUT 60

ABORT ERROR

ABORT BUSY

– – –

Page 112: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS 121

ABORT "NO CARRIER" ABORT "NO DIALTONE"

"" "ATZ" OK

"atdt9,1509" TIMEOUT 75

CONNECT "" Login: MyUserName

Password:

MyPassword

วธแบบปกต (Dial) แกไขไฟล /root/ppp/dialscript1, dialscript2, dialscript3 ซงจะมเนอหาคลาย

qdialscript ขางตน คราวนใหแกคาวา MyUserName และ MyPassword ดวย เปนชอบญช และรหสผาน ของโครงการ SchoolNet@1509 (หรอ ISP อนๆ)

Login เปน dial เมอปอนรหสผานแลว จะมเมนใหเลอกวาจะหมนโทรศพทโดยใช dialscript อนไหน (1, 2 หรอ 3) เมอเลอกแลวกจะทาการหมนโทรศพท

ทานสามารถเพม dialscript ไดดวยตนเอง จนถง dialscript10 วธทดสอบวาเชอมตอแลวหรอยง และวธดรายละเอยดการทางาน ทาไดเหมอนกรณหมนแบบเรว

เมอเชอมตอเรยบรอยแลวกสามารถใชงานอนเทอรเนตจากเครอง PC ตางๆ ได ทดสอบไดโดยการใชคาสง ping จากเครอง PC ไปยง Web Site ภายนอก เชน www.nectec.or .th เปนตน

หากทานเชอมตอไปยงเครอขายอนๆ ทไมใช SchoolNet@1509 ทานอาจตองแกคา Parent Proxy Server (สาหรบ SchoolNet@1509 จะเปน cache.school.net.th พอรต 8080) ในไฟล /usr/local/etc/squid/etc/squid.conf บรรทดทวา

cache_peer cache.school.net.th parent 8080 3130

Page 113: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

122 สรางอนเทอรเนตเซรฟเวอรดวย Linux

โดยเปลยนชอ cache.school.net.th เปนชอ Proxy/Cache Server ของผใหบรการอน–เทอรเนตของทาน เปลยน Port 8080 (HTTP), 3130 (ICP) เปน Port ใดๆ ตามทผใหบรการอนเทอรเนตของทานกาหนด ถาผ ใหบรการอนเทอร เนตของทานไมม Proxy/Cache Server (ไมนาเปนไปได) กใหลบบรรทดนทงไปเลย

หากมปญหา ทดสอบทละขนดงน การเชอมตอโมเดมกบเครอง Linux ถกตองแลวหรอยง ทดสอบโดยใช minicom ดงทกลาวขางตน

เครอง Linux เชอมตอกบอนเทอรเนตไดหรอยง ลองใชคาสง ifconfig ดวาม ppp0 Interface หรอไม สามารถใชคาสง tail –f /var/adm/messages เพอดรายละเอยดการทางาน

เครอง PC มการตงคา IP, DNS, Gateway ถกตองหรอยง ทดสอบไดโดยทาการเปด command windows (DOS prompt) ของ Windows95 (Start, run, command) แลวพมพวา winipcfg ตรวจสอบคา IP, Netmask, DNS ทปรากฏ

เครอง PC กบเครอง Linux เชอมตอกนไดหรอยง ทดสอบโดยใชคาสง ping ทดสอบระหวางทงสองเครอง เชน เครอง PC เครองหนงม IP 192.168.1.11 กใหใชคาสงท Linux ถาเชอมตอกนได จะไดผลดงน

linux:~# ping 192.168.1.11 PING 192.168.1.11 (192.168.1.11): 56 data bytes

64 bytes from 192.168.1.11: icmp_seq=0 ttl=64 time=0.3 ms 64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.1 ms

64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=0.1 ms

64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=0.1 ms

(กด CTRL-C เพอออก)

หรออาจใชวธใชคาสง ping จากเครอง Windows 95 ถาทานไมสามารถเรยกใชคาสง ping ไดโดยทาการเปด command windows (DOS prompt) ของ Windows95 (Start, run, command) แลวพมพวา ping 192.168.1.1 (ถาหมายเลข IP ของ Linux Server เปนอยางอน กใหแกตามนน)

Page 114: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS 123

ถาม Error วา “Command not found” แสดงวาการตดตง TCP/IP protocol บนคอมพวเตอรของทานยงไมถกตอง สาหรบ Windows95 จะทาไดโดยเขาไปใน Control panel, Network และทาการ Add Protocol, Microsoft, TCP/IP

ถามคาตอบวา "Request time out" แสดงวาเครอขายระหวางเครอง PC นนๆ กบ Linux-SIS ยงไมเชอมตอถงกน ตรวจสอบสาย และ Hub ตางๆ

ถามคาตอบวา "Reply from 192.168.1.1" แสดงวาเครอขายระหวางเครอง PC นนๆ กบ Linux-SIS เชอมตอกนสมบรณแลว

Page 115: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

124 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เครอขายอนเทอรเนต

pc2 pc3pc1

Router สายวงจรเชา

Linux-SIS Server

192.168.1.11

Ethernet

192.168.1.13192.168.1.12

192.168.1.1

Netmask 255.255.255.0

รปท 16.1 รปแสดงการเชอมตอ Linux-SIS เขากบเครอขายภายในโรงเรยนแบบโหนด

กรณทเครอขายในหนวยงานของทานไดเชอมตอกบอนเทอรเนตเรยบรอยแลว ไมจาเปนตองใชโมเดม และสายโทรศพทดงเชนในบททแลว การตดตง Linux-SIS เพอทาหนาทเปน Internet Server กยงจะงายขนอก กรณน เครอขายของทานกควรจะม Router และวงจรสอสารเชอมตอไปกบผใหบรการอนเทอรเนต บทนจะกลาวถงการตดตง Linux-SIS เพอใชงานดงกลาว

Page 116: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 16 การเชอมตอ Linux-SIS เขากบเครอขายภายในของโรงเรยนกรณเชอมตอแบบเปนโหนด 125

¢—ÈπµÕπ°“√‡™◊ËÕ¡µËÕ Linux-SIS ‡¢È“°—∫‡§√◊բ˓¬¿“¬„π¢Õß ‚√߇√’¬π°√≥’‡™◊ËÕ¡µËÕ·∫∫‡ªÁπ‚Àπ¥

รปท 16.1 เปนการแสดงการเชอมตอ (ทแนะนา) ของเครอง Linux-SIS เขากบเครอขายภายในของโรงเรยน จะเหนวาเราแนะนาใหทานม Ethernet Card 2 ใบ ในเครอง Linux เพอใหทาหนาทในลกษณะเปน Firewall อยางไรกตาม หากทานประสงคทจะตดตงโดยใช Ethernet Card เพยงใบเดยว กเพยงแตตอ Linux-SIS Server ลงในเครอขายภายในของทาน ตงคา IP (ใน ขนตอนการตดตงทถามวา Setup your network configuration? ใหตอบวา Yes) ตามทไดรบจากผใหบรการอนเทอรเนตของทาน แลว Reboot อกครงกเปนอนเสรจสน

สาหรบกรณทตองการให Linux ทาหนาทเปน Firewall (แนะนา) จะตองการใช Ethernet Card 2 ใบ ดงน

• ใบทหนง (eth0) เชอมตอกบเครอขาย (Hub) สวนทเปน Public IP ททานมอยแลว ใช IP ทไดรบแจกจากผใหบรการอนเทอรเนตของทาน ดงในรปคอเสนทตอไปยง Router (ใชสาย LAN แบบไขวในการเชอมตอระหวาง Ethernet card ของเครอง Linux กบ Ethernet port ของ Router ถาไมมสมาชกอนใดในเครอขาย Public IP น นอกจาก Linux และ Router)

• ใบทสอง (eth1) เชอมตอกบเครอขายภายใน (ตองม Hub แยกอกชดหนง ไมปะปนกบเครอขายของใบแรก) ในรปจะแสดงการใช IP ในเครองตางๆ ในเครอขายภายใน เราจะใช IP Address ในชด 192.168.1.1-192.168.1.254 ซงเปนชดของ Private IP (จะไมมปรากฏจรงในเครอขายอนเทอรเนต) โดยเครอง Linux-SIS ทาหนาทเปน Firewall เพอความปลอดภย

ขนตอนการตดตงระบบใหทาดงน

• ขณะทตดตง Linux-SIS Server

• ขนตอน First time configuration ใหตอบดงน • Initialize your system to be Linux-SIS? ตอบ Yes • Initialize Root Password? ตอบ Yes

Page 117: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

126 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• Setup your network configuration? ตอบ Yes และปอนคา IP Address, Netmask, Gateway, DNS ทไดรบจาก

ผใหบรการอนเทอรเนตของทาน

• Allow telnet/ftp from 192.168.1.* only? ตอบ Yes นอกจากทานตองการจะให telnet จาก IP อนๆ ได อยางไรกตาม

ทานสามารถแกไข /etc/hosts.deny เพมเตมภายหลงได • Do you want this machine to make dial-up connection to ISP? ตอบ No • Do you want to run this machine as Proxy/Cache Server ตอบ Yes

(Squid)? • Do you want to set this machine as firewall with ตอบ Yes

Transparent Proxy?

นอกเหนอจากน เลอกตามความตองการของทาน

• เมอตดตงเสรจแลว ใหแกไขไฟล /etc/rc.d/rc.local และลบเครองหมาย Comment “#” ออกหนาบรรทดทมคาวา

echo "Configuring eth1...." /sbin/ifconfig eth1 192.168.1.1 netmask 255.255.255.0

/sbin/route add -net 192.168.1.0

• Reboot เครอง

• ทดสอบวาเครอง Linux ของทานมองเหน Ethernet Card สองใบถกตองหรอยง โดยใชคาสง ifconfig ควรจะเหน Interface ทง eth0 และ eth1โดย eth0 จะเปนใบทตอกบเครอขายภายนอก, eth1 จะเปนใบทตอกบเครอขายภายใน ตวอยาง ดงน

linux:~# ifconfig

lo Link encap:Local Loopback

inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1

RX packets:688 errors:0 dropped:0 overruns:0 frame:0

Page 118: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 16 การเชอมตอ Linux-SIS เขากบเครอขายภายในของโรงเรยนกรณเชอมตอแบบเปนโหนด 127

TX packets:688 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0

eth0 Link encap:Ethernet HWaddr 00:A0:24:89:9E:94

inet addr:203.150.154.28 Bcast:203.150.154.127 Mask:255.255.255.128

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:399917 errors:0 dropped:0 overruns:0 frame:0 TX packets:5490 errors:0 dropped:0 overruns:0 carrier:0

Collisions:227

Interrupt:10 Base address:0x300

eth1 Link encap:Ethernet HWaddr 00:A0:24:89:87:15

inet addr:192.168.1.1 Mask:255.255.255.0

UP RUNNING MTU:1500 Metric:1 RX packets:8900 errors:0 dropped:0 overruns:0 frame:0

TX packets:780 errors:0 dropped:0 overruns:0 carrier:0

Collisions:10

Interrupt:11 Base address:0x310

• หากทานไมไดผลดงขางตน โปรดตรวจสอบวา Ethernet Card ทงสองใบไดเชอมตอกบเครองอยางถกตอง ไมหลวม, IRQ, Address ของแตละใบไมชนกน และตรวจสอบใหแนใจวา /etc/lilo.conf มบรรทดทมคาวา append=“ether=0,0,eth1” อย หากยงไมม ใหใสตอทายไป จากนนใชคาสง /sbin/lilo แลว Reboot

• สาหรบการตดตงคาตางๆ ของ PC ของทาน ทานจะตองทาการตดตง TCP/IP Protocol (สาหรบ Windows95 จะทาไดโดยเขาไปใน Control Panel, Network และทาการ Add Protocol, Microsoft, TCP/IP) ใหทาการใสคาตางๆ ดงน • IP Address ตามทระบไวในรปดานบนของแตละเครอง (เชน 192.168.1.11) • Gateway ตงเปน 192.168.1.1 (IP Address ของ Linux-SIS Server) • DNS Server ตงเปน 192.168.1.1 • ทานอาจใช DHCP Server แทนจะไดไมตองตดตงคาท PC ยงยากกได วธทาคลาย

ในหวขอทแลว

• ทานสามารถทดสอบโดยการทาการ ping ไปยงเครอง PC ภายในโรงเรยน และ Router

Page 119: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

128 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในบทน จะแนะนาถงการดแลเครอง Linux-SIS เพมเตม หลงจากทตดตงสาเรจ และใชงานไดเรยบรอยแลว เชน การสราง Kernel ใหมสาหรบระบบ การสารองขอมลของระบบ เปนตน

°“√ √È“ß Kernel „À¡Ë ”À√—∫√–∫∫ Kernel เปนสวนของระบบทบงบอกถงความเปน Linux ระบบ Linux ยหอตางๆ กน ไมวา

จะเปน RedHat, Slackware หรอ SIS กใช Kernel ตวเดยวกน Kernel เปนซอฟตแวรสวนแรกทถกเรยกใหทางาน ภายหลงจากการบตเครอง มนมหนาทเปนตวกลาง ใหโปรแกรมประยกต (Application) ตางๆ ทางานตดตอกบฮารดแวรได บรหารหนวยความจา แบงการทางานของ CPU ใหแตละโปรแกรมประยกต

Kernel ยงเปนสวนทรวมเอา Device Driver ของฮารดแวรตางๆ หากใน Kernel ไมม Device Driver ของฮารดแวรใดๆ ในเครองของทาน ฮารดแวรนนๆ กจะไมถกคนพบโดย Kernel ในขณะทเครองบต ซงอาจเปนสาเหตใหเครองของทานไมสามารถใชงาน SCSI Disk, Ethernet Card เปนตน

แผนบตททานใชในการตดตง แทจรงแลวกประกอบดวย Linux Kernel นนเอง บางครงแผนบตหนงๆ ไมสามารถคนหาฮารดแวรของทานได ทานอาจตองลองแผนบตอน ซงกคอการลองเอา Kernel ตวอน ทอาจจะมสวน Device Driver ตางกนนนเอง Kernel ทม Device Driver ของฮารดแวรอยมาก กมแนวโนมวาจะคนหาฮารดแวรไดมากกวา แตกจะทาใหขนาดของ Kernel ใหญ เทอะทะ กนหนวยความจาของเครอง ดงนน หลงจากททานตดตงระบบ Linux เรยบรอยแลว ทานควรสราง Kernel ใหมสาหรบระบบของทานเอง ใหม Device Driver เฉพาะฮารดแวรของทาน เพอให Kernel ทางานไดเรว มประสทธภาพสงสด

Page 120: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 17 การดแลเครอง Linux-SIS 129

ไฟล Kernel ของระบบ Linux-SIS (และ Slackware) จะอยท /vmlinuz หลงจากทมการ แกไขเปลยนแปลงใดๆ กบไฟลน จะตองใชคาสง /sbin/lilo ตามทกครง ขนตอนการสราง Kernel ใหมเปนดงน

• Log in เปน Root

• หากยงไมม Kernel Source Code (ระบบ Linux-SIS จะมอยแลว อยท /usr/src/linux) สามารถดาวนโหลดไดจาก ftp://ftp.nectec.or.th/pub/mirrors/linux/kernel/ ชอไฟล เชน linux-2.0.35.tar.gz มาเกบไวใน /usr/src

cd /usr/src tar xzvf linux-2.0.35.tar.gz

จะไดไดเรกทอร /usr/src/linux เกดขน

cd /usr/src/linux make config หรอ make menuconfig หรอ make xconfig # เลอกตวใดตวหนง

เขาไปดตามเมนตางๆ เลอกฮารดแวรเฉพาะทตรงกบระบบของทาน สามารถใชลกศรซายขวา เลอก Help เพอขอคาปรกษา กรณทไมเขาใจ

ภาพแสดงตวอยางเมอเรยกใชคาสง make menuconfig

Page 121: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

130 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• หลงจากนนใหใชคาสง

make dep make clean

• เรมทาการ Compile Kernel

make zlilo

• หากการใช make zlilo ม Error บอกวาขนาดของ Kernel ใหญเกนไป ใหใชคาสงตอไปน แทนคาสง make zlilo

make bzImage cp arch/i386/boot/bzImage /vmlinuz /sbin/lilo

มอกวธหนง ทจะชวยใหขนาดของ Kernel ไมใหญเกนไป คอ แตกสวน Device Driver (ทแตกได) ออกมาเปน Module ซงทาไดโดยการเลอก M ขณะทใช make config หรอ make menuconfig เมอเครองบตขนมาหลงจากโหลด Kernel แลว กจะทาการโหลด Module ตอตามตองการ เราสามารถระบในไฟล /etc/rc.d/rc.modules กไดวาจะใหโหลด Modules อะไรบาง วธน มประสทธภาพมาก ทาให Kernel ขนาดไมใหญ และเมอเราตองการใช Module ใด กคอยโหลดเอา

กรณทตองการใช Modules หลงจาก Compile Kernel ใหใชคาสงดงน

make modules ; make modules_install

เมอทกอยางเสรจสน ใชคาสง Reboot เมอเครองบตกลบมาอกครง กจะทาการโหลด Kernel ตวใหม และ Module ตางๆ ตามทระบไวใน /etc/rc.d/rc.modules

Page 122: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 17 การดแลเครอง Linux-SIS 131

°“√∑”·ºËπ∫Ÿµ (Boot) ‡æ◊ËÕ„™È„π°√≥’©ÿ°‡©‘π กรณฉกเฉนทเครอง (ฮารดดสก) ของทานไมสามารถบตเอง เราสามารถใชแผนบต (ฟลอปป

ดสก 1.44 นว) เพอทาการบตแทนได ขนตอนการทาแผนบต จะตองทราบ Root Partition บนฮารดดสกของทานวาเปน Partition ไหน ตามททานไดระบไวในขนตอนการตดตง เชน /dev/hda1 จากนน สามารถจดสรางแผนบตได 3 วธดงน

• ใชแผนบตททานไดสรางขนเพอตดตง Linux-SIS ไดเลย

• ใชแผนบตของ Slackware Linux Distribution โดยใช Image จาก ftp://ftp.nectec. or.th/pub/mirrors/linux/distributions/slackware/bootdsks.144/ โดยวธการสรางใหใช rawrite.exe วธการเดยวกบทใชเพอสรางแผนบตเพอการตดตง

• สรางแผนบตจาก Kernel ทใชในเครองเอง

สองวธแรก เมอทานใชแผนดงกลาวบต จะปรากฏคาวา LILO: รอรบคาสง (ซงตามปกตทานจะกด ผานไปเฉยๆ ในขณะททาการตดตง) คราวนใหพมพเขาไปวา mount root=<root_partition> ตวอยางเชน mount root=/dev/hda1 กรณท Root Partition เปน /dev/hda1 เปนตน

สาหรบกรณท 3 ทสรางแผนบตจาก Kernel ในเครองเอง มวธการดงน

• Login เปน Root

• ใสแผน Floppy ไวในไดรฟ A:

cat /vmlinuz > /dev/fd0 rdev /dev/fd0 /dev/hda1 # เปลยนคาวา /dev/hda1 เปน Root Partition ของทาน

• บตเครองดวยแผน Floppy ดงกลาว ไมตองพมพอะไรทงสน

ทานควรจะมแผนบตประจาเครองไว (ทไดทดสอบแลว) เพอใชในกรณฉกเฉน รวมทงในหวขอถดไปเรองการสารองขอมลของระบบ จะจาเปนตองใชแผนบตดวย

Page 123: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

132 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√ ”√ÕߢÈÕ¡Ÿ≈¢Õß√–∫∫ สงทสาคญทสดในการดแลรกษาระบบกคอ การรจกทาการสารองขอมลอยางสมาเสมอ

เครองคอมพวเตอรทดทสดในโลกกยอมมวนทจะหยดทางาน ฮารดแวรทดทสดกยอมมวนทจะทางานผดพลาด เมอวนนนมาถง ขอมลทสาคญของทาน หากไมมการสารองไว กไมมใครมาชวยทานได ดงนน สงททานทาไดกคอเรมทาการสารองขอมลเสยแตวนน

การสารองขอมลทาไดหลายวธ ตงแตทาสาเนาไฟลทสาคญของทานลงในแผน Floppy A:, ทาสาเนาไฟลทสาคญไปยงฮารดดสกลกอน หรอเครองอน ไปจนถงระบบสารองขอมลขนาดใหญ มระบบเปลยนเทปอตโนมต มความจมากกวา 100 GB ทานสามารถเลอกวธทเหมาะสมกบทาน หากทานมขอมลทสาคญไมมาก ขอแนะนาใหใชวธการกอบปไปยงฮารดดสกลกอนๆ หรอทาการ FTP ไปยงเครองอนๆ จะงายทสด

หากระบบ Linux-SIS ของทานมความสาคญยงยวด จะตองมขอมลททนสมย และเปดทางาน 24 ชวโมง ขอแนะนาใหทาน ตอพวงฮารดดสกสารองไวในเครองอก 1 ตว เชน หากฮารดดสกตวหลกเปน /dev/hda (C:) ทานอาจตออกตวหนงใหเปน /dev/hdc (E:) จากนนใหทาตามขนตอนดงน

• บตระบบ ตรวจสอบขอความตอนบต ใหมคาวา /dev/hdc แสดงวาทานไดเชอมตอฮารดดสกตวทสองอยางถกตองแลว

• Login เปน Root

• ใชคาสง fdisk เพอแบงพารทชนของ /dev/hdc ใหมขนาดและจานวนพารทชนเหมอนกบ /dev/hda

• cd เขาไปท /usr/local/sbin จะมไฟล Script ตวอยางทใชในการ Backup ชอ fullbackup และ updatebackup วธเรยกใช เชน ถาจะ Backup ไปยง /dev/hdc ใหพมพวา fullbackup /dev/hdc (คาเตอน: ขอมลใน /dev/hdc จะถกลบทงหมด)

• ความแตกตางระหวาง fullbackup กบ updatebackup คอ fullbackup จะทาการ Format /dev/hdc และทาสาเนาให /dev/hdc เหมอนกบ /dev/hda ทกประการ สวน updatebackup จะไม Format และจะทาสาเนาเฉพาะไฟลทมการเปลยนแปลงจาก /dev/hda ไปยง /dev/hdc

Page 124: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 17 การดแลเครอง Linux-SIS 133

• หากตองการใหทาเปนประจา เชนทา fullbackup ทกวนอาทตย เวลาตหนง กใหใช คาสง crontab –e แลวลบเครองหมาย comment (#) ขางหนาบรรทดทมคาวา fullbackup ออก ตวอยางดงน

0 1 * * sun /usr/local/sbin/fullbackup /dev/hdc 1> /dev/null 2> /dev/null

• ไฟล fullbackup และ updatebackup เปน Shell Script ธรรมดา สามารถใช Editor เชน pico, vi เขาไปแกไข กรณทตองการเปลยนแปลงใหเขากบระบบของทาน

• เมอฮารดดสกตวแรกของทาน (/dev/hda) เกดความเสยหาย ใหถอดเอาตวแรกออก สลบเอาตวทสอง (/dev/hdc) มาแทนทตวแรก (ตอท Primary Master) หลงจากนนบตเครองโดยใชแผน Boot กอน พมพคาวา mount root=/dev/hda1 ท LILO Prompt เมอบตไดแลว ให Login เปน Root แลวพมพคาสงวา /sbin/lilo แลว Reboot อกครงหนง คราวนไมตองใชแผนบต ระบบกควรจะบตตวเอง ทางานตอไปไดตามปกต

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Bootdisk-HOWTO

• ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Kernel-HOWTO

Page 125: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

134 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Linux เปนระบบแบบคลาย UNIX ทอาจมการใชงานทยงยากซบซอน การใชคาสงตางๆสวนใหญจะอยในระบบ command-line คอเปนการพมพคาสงดวยมอ (คลายกบการพมพคาสงใน DOS ) ซงกมกจะเปนภาษาทซบซอนยากตอการเขาใจ เนคเทคจงพฒนา Web Admin Tool ขนมา เพอชวยผใชในการดแลบรหารเครอง Linux-SIS ผานทาง World Wide Web นนคอ การใชงานกจะเหมอนกบการดเวบไซตอนหนง สามารถใชเมาสชแลวกกด ใหความสะดวกแกผใชมากขนกวาทจะตองพมพคาสงยากๆ และยาวๆ

°“√„™Èß“π Web Admin Tool ‡∫◊ÈÕßµÈπ วธเรยกการใชงานนน สามารถเรยกจาก Web Browser เชน Netscape หรอ Internet

Explorer โดยสามารถเรยกมาจากเครองอนกได (ทตออยบนเครอขายอนเทอรเนต) หรอบนหนาจอ (console) ของเครอง Linux-SIS (โดย login เปน admin กอน ซงนาเขาสโปรแกรม Net–scape ใน X-Windows โดยอตโนมต) เองกได โดยเรยกไปท https://<ชอเครอง>/admin เชน https://openmind.nectec.or.th/admin เปนตน โปรดสงเกตวาเปน https ไมใช http เฉยๆ

เมอเรยกไปแลวอาจมการถามเกยวกบดานความปลอดภย เนองจากขอมลทสงผานไปยง Web Admin Tool นจะถกเขารหสกอน เพอความปลอดภย (เนองจากการใชงาน Web Admin Tool จะตองมการสงผานขอมลทคอนขางมความสาคญ เชน รหสผาน) ใหตอบ Next หรอ Continue ไปเรอยๆ เมอหมดคาถามกจะขนหนาจอ ดงน

Page 126: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 135

รปท 18.1 แสดงเมอเรยก Web Admin Tool ในหนาแรก

ในตอนกลางของเพจ จะเหนวามรปโรงเรยน รปตก โลโกเนคเทค ธงชาตสหรฐอเมรกา และธงชาตประเทศญปน และมรปรถประเภทตางๆ วงเชอมตอระหวางวตถเหลาน

รปโรงเรยนทางดานซายจะแสดงถงเครอง Linux-SIS ของโรงเรยนเอง จะมถนนลากยาวมาทตกตรงกลาง คออปกรณสอสารทศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต (เนคเทค) ซงเครองของทางโรงเรยนจะตอมายงทอปกรณสอสารของเนคเทค อนนกเปรยบเหมอนมถนนตอใหรถวงมายงเนคเทคนนเอง รปรถทวงจะสอความหมายดวย ไมใชวงมวไปมา ซงรปรถทปรากฏบนถนนนน กมได 4 แบบ คอ

Page 127: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

136 สรางอนเทอรเนตเซรฟเวอรดวย Linux

รถสปอรต

รถโฟลคเตา

รถจกรยาน

ถนนขาด

รปท 18.2 รปยานพาหนะแตละประเภท แสดงถงคณภาพการเชอมตอทางเครอขาย

จากรปท 18.2

• รถสปอรต หมายความถง เสนทางสอสารมความเรวสงมาก หรอ/และมความแออดของขอมลนอย (ขอมลสามารถวงไปกลบโดยใชเวลาตากวา 200 ms)

• รถเตา หมายความถง เสนทางสอสารหรอความแออดของขอมลมปานกลาง (ขอมลสามารถวงไปกลบ โดยใชเวลาในชวง 200 ms- 500 ms)

• รถจกรยาน หมายความถงความเรวเสนทางสอสารตา หรอมความอดสงมาก (ขอมลจะวงไปกลบโดยใชเวลามากกวา 500 ms) ทใชคาวาหรอนนหมายความวา ความเรวเสนทางสอสารบางทสงมาก เชน 2 Mbps (Megabit per second = 2 ลานบตตอวนาท) แตกอาจเหนเปนรถจกรยานได เนองจากวามความแออดขอมลสงมาก

• รปทางขาด หมายความถง เสนทางสอสารขาด ไมสามารถสงขอมลถงกนได ถาวนหนงเปดเครองมาแลวพบวา รปถนนจากโรงเรยนมายงเนคเทค เปนดงแบบท 4 น กแสดงวามความผดพลาดเกดขน เครอง Linux-SIS นไมสามารถเชอมตอไปยงเครอขายอนเทอรเนตได ใหตรวจดวาอปกรณสอสารทางฝงโรงเรยนเอง ยงอยในสภาพปกต

Page 128: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 137

หรอไม ถาม Router กตรวจดวายงทางานอยหรอเปลา มไฟสญญาณแสดงถงความ ผดพลาดขนบางไหม อาจลองปดแลวเปดใหม ตรวจตว VDM, NTU หรอ Leased Line Modem (กรณใชวงจรเชาสอสาร) วายงทางานดอยหรอไม ลองใชคาสง ping เพอทดสอบการเชอมตอทางเครอขายวาขดของทไหน กรณทพบวาวงจรเชาสอสารขดของ ตดต อผ ให บ รการวงจร เช าส อ สารของท าน เช น องค การโทรศพท ห รอการสอสารแหงประเทศไทย แจงถงเหตทเกดขน และแจงผใหบรการอนเทอรเนตของทานทราบถงปญหาทเกดขน

จากรปท 18.1 จากรปตกตรงกลาง (หมายถงอปกรณสอสารทเนคเทค) จะมถนนแยกออกไปอก 3 สายไปยงโลโกเนคเทค, รปธงชาตสหรฐอเมรกา และ รปธงชาตญปน แสดงถงการเชอมตอทางอนเทอรเนตไปยงเนคเทค (กรณทดสอบกบเครอง www.nectec.or.th),ไปยงสหรฐอเมรกา (ทดสอบกบ www.netscape.com) และประเทศญ ปน (ทดสอบกบ www.nacsis.ac.jp) ตามลาดบ ผลทแสดงเปนผลการทดสอบจรงในขณะนน

ดงนน ในบางครงเมอทานเลนอนเทอรเนต ด World Wide Web แลวพบวาไมสามารถ ไปยงเวบไซตบางแหงไดนนทานอาจลองดจากรปเหลานได ตวอยางเชน ถาไมสามารถไปยงไซตบางแหงไดนน ทานอาจลองดจากรปเหลานได ลองดในหนาแรกของ web admin page ดงทกลาวมา ถาถนนจากเนคเทคไปยงธงชาตสหรฐขาด แสดงวาเสนทางสอสารจากเนคเทคออกไปยงสหรฐอเมรกาอาจขดของอยกเปนได ใหรอการแกไข แตถาเสนทางจากโรงเรยนไปยงเนคเทคขาดดวย กแสดงวาเปนปญหาทวงจรสอสารระหวางทางโรงเรยนและเนคเทค

ในบทตอๆ ไปจะกลาวถงการใชงานในสวนปลกยอยลงไปของ Web Admin Tool น การเขาสหนาตอไป สามารถทาไดโดยคลกบนแถบตวอกษรสฟาดานบน ทมคาวา System Manager, User Manager จะตองมรหสผาน โดยใชชอผใช admin รหสผานของ admin ทานเปนผตงเองในขนตอนการตดตง ทานจะตองจารหสผานใหด และใหรเฉพาะผมหนาทดแลเครองเทานน เพราะผมรหสผานนสามารถแกไขและอาจทาความเสยหายกบระบบได

Page 129: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

138 สรางอนเทอรเนตเซรฟเวอรดวย Linux

รปท 18.3 แสดงการใสรหสผานสาหรบ admin เมอตองการจะเขาไปยง System Manager

System Manager ในสวนของ System Manager นจะเปนการบรหารงานทวไปของเครอง Linux-SIS แบง

ออกเปนสวนยอยๆ ดงน

รปท 18.4 แสดงสวน system manager

Page 130: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 139

ping

การ ping เปนการทดสอบวาเสนทางสอสารจากเครอง Linux-SIS ของโรงเรยนไปยงสถานททกาหนดนนยงใชการไดอยหรอไม โดยสามารถเลอกสถานททจะทดสอบไดจากรายการ (ดตรง หวขอ Select From List) ซงกจะมใหเลอก เชน www.nectec.or.th, www.chula.ac.th เปนตน หรออาจเลอกสถานทโดยการพมพดวยตวเอง โดยตองกดตรงปมขางหนา คาวา “or enter your text here” ใหขนสดากอน (ปกตจะเปนสขาว) แลวจงพมพชอเครอง หรอเวบไซตทตองการทดสอบดวยมอลงไป

เมอระบสถานทเสรจแลว กกดตรงปม “Ping to” ผลจากการ ping จะปรากฏในสวนลาง (เฟรมลาง) ตวอยาง ดงน

รปท 18.5 แสดงเมอใชคาสง ping ไปยง www.nectec.or.th

จากรปท 18.5 จะเหนวามเครองหมายถกสเขยว คาวา UP หมายความวาเสนทางสอสารไปจากเครอง Linux-SIS ไปยง www.nectec.or.th ปกตด คาวา loss 0% หมายความวา เสนทางสอสารไมมการสญหายของขอมลเลย (ด) สวนตารางดานลางจะแสดงถง เวลาทขอมลใชในการวงไปยง www.nectec.or.th ม 3 คา คอ คาตาสด คาเฉลย และคาสงสด จากการทดสอบจานวน 5 ครง โดยมหนวยเปน ms (เศษหนงสวนพนวนาท) จากรปท 18.5 พบวา คาเฉลยเวลาทใชเปน 2.5 ms ซงกนบวาเรวมาก คาเวลานถายงตาจะยงด แสดงวามความแออดของขอมลในเสนทาง สอสารนอย ผใชจะรสกวาใชงานไดเรวนนเอง

Page 131: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

140 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ขอแสดงอกตวอยางหนง โดยการพมพชอสถานททจะ ping ไปดวยตนเอง ดงรปท 18.6 ลองปอนคา zeus.nectec.or.th

รปท 18.6 แสดงถงผลจากการ ping เมอเสนทางสอสารหรอเครองปลายทางมปญหา

จากรปท 18.6 พบวา ผลการ ping จะขนวา DOWN และมเครองหมายผด แสดงวามปญหากบเสนทางสอสารไปยงเครองปลายทาง หรอไมกตวเครองปลายทางเอง

หากทานพมพชอสถานทผดจะขนวา Input error ใหพมพเขาไปใหม ตวอยาง ดงรปท 18.7 ลองพมพวา www.schol.net.th (พมพผด ตกตว o ไปหนงตว)

รปท 18.7 รปแสดงการเกดความผดพลาดในการพมพชอสถานท

Page 132: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 141

การ Ping จะมความสาคญมากในยามทวงจรสอสารมปญหา เราจะใชการ ping ตรวจสอบวา วงจรในใชไดหรอยง หรอตรวจสอบวาวงจรเกดเสยในจดไหน ซงเมอวงจรเกดปญหาแลว ขณะทตดตอกบบรษทผใหบรการวงจรสอสาร หรอเนคเทคอาจขอความชวยเหลอจากทางโรงเรยน ใหทดสอบ ping ไปยงสถานทตางๆ เพอชวยในการแกไขไดรวดเรว หาสาเหตของปญหาไดงายขนนนเอง

การ Ping สามารถทาไดมากครงไดเทาทตองการ โดยไมมผลเสยหายตอระบบใดๆ

Traceroute

รปท 18.8 แสดงผลการ Traceroute ไปยง www.nacsis.ac.jp

การ Traceroute จะมลกษณะการใชงานคลายกบการ ping แตกตางกนตรงท ผลลพธทแสดงออกมาจะเปนเสนทางทใชไปยงสถานทนน วาไดผานไปทใดบาง จนกวาจะถงสถานทนน มประโยชนมากในกรณทวงจรสอสารเกดความขดของ เราสามารถทดสอบดวา เกดความขดของทจดไหนนนเอง ดงตวอยางในรปท 18.8

Check disk

ปมนจะตรวจสอบเนอทของดสกของทานวาใชงานไปเทาไรแลว และเหลออยอกเทาไร ตวอยางเมอกดปม Check disk (ปมนไมมอนตรายตอระบบ สามารถกดไดเทาทตองการ) จะไดผล ตวอยางดงรปท 18.9

Page 133: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

142 สรางอนเทอรเนตเซรฟเวอรดวย Linux

รปท 18.9 แสดงผลของการใชคาสง Check disk

ในคอลมน File system จะเหนวา มอย 2 Partition ปรากฏขน คอ /dev/hda1 และ /dev/hda3 ในคอลมน Capacity จะแสดงถงเปอรเซนตของพนททไดใชไป เราไมควรปลอยใหเนอทใน Partition ใดๆ เหลอนอยเกนไป เพราะระบบอาจเกดความเสยหายไดถาปลอยถงวนนน เมอทานพบวาในแตละสวนม Capacity เกน 90% ควรลบไฟลทไมจาเปนใน Partition นนๆ ทงไปบาง โดยการกดปม Clear temp และ Clear log ซงจะกลาวตอไป

Clear temp

คาสงนจะเปนการลบไฟลทอยในไดเรกทอร /tmp ซงมกเปนทเกบไฟลชวคราวตางๆ (tmp ยอมาจาก temporary แปลวา ชวคราว) เมอกดปมนไป กจะมคาถามเพอความแนใจอกครง และถาตอบ YES กจะลบไฟลในไดเรกทอร /tmp ทงไป

การลบพวกไฟลชวคราวพวกนจะชวยใหไดเนอทในสวน root partition (/dev/hda1) กลบคนมามากขน

รปท 18.10 แสดงเมอเลอกปม Clear temp

Page 134: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 143

Clear log

คาสง Clear log จะลบ log file หรอ ไฟลทเกบบนทกเหตการณของระบบในเรองตางๆ เชน System log file, web server log, proxy log ซงไฟล log น จะมขนาดใหญขนทกวน เนองจาก มนจะบนทกเหตการณใหมๆ เพมขนทกวน log file จะมความสาคญทางสถต เชน ม ใครมาใชเครองบาง เวลาไหนระบบมการผดพลาดเวลาไหน มผใชจากภายนอกเรยกใช web server ของเรามากแคไหน จะถกใชประโยชนเวลาทเราตองการทราบขอมลเหลาน ถาไมจาเปนกไมควรลบ แตเมอเวลาผานนานไป ไฟลเหลานจะมขนาดใหญขน อาจทาใหกนเนอทได

การลบพวก log file นจะชวยใหไดเนอทในสวน root partition (/dev/hda1) กลบคนมามากขน

Change the Web Admin password

สวนนจะเปนการเปลยนรหสผานของ admin (ซงตองใชในการใชงาน Web Admin Tool น) เมอเลอกปมเปลยนรหสผานของ admin แลวในดานลางจะปรากฏ ดงรปท 18.11

รปท 18.11 แสดงหนาจอการเปลยนรหสผานของ admin

ทานจะตองปอนรหสผานเกาของ admin และรหสใหมทตองการ 2 ครง (เพอความแนใจวาพมพไมผดพลาด) ในการตงรหสผานนนจะตองมความยาวกวา 5 ตว เสรจแลวกด OK กเปนอนเปลยนรหสผานของบญช admin เรยบรอย เมอถกตองแลวจะปรากฏ ดงรปท 18.12

Page 135: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

144 สรางอนเทอรเนตเซรฟเวอรดวย Linux

รปท 18.12 แสดงการเปลยนรหสผานไดสาเรจ

หลงจากเปลยนรหสผานของ admin แลว โปรแกรม browser (เชน Netscape) ททานใชอยอาจจะมขอความขนมาวา “Authorization failed, Retry?” ใหตอบ OK และใสคาวา admin และรหสผานใหมของ admin ใหตว browser ไดรบทราบ และเมอถกตองกสามารถใชงานตอไดตามปกต

Change Root password

รหสผานของผใชทชอ root (หรอ super user) เปนสงทสาคญทสดในระบบ จะตองเกบไวและใหรเฉพาะผเกยวของเทานน root สามารถแกไขทกสงทกอยางในระบบได สามารถทาใหระบบพงในพรบตากได และสามารถจาแลงแปลงกายเปนผใชคนอนๆ ไดทกคน ดงนน รหสผานจงสาคญมาก ทานสามารถเปลยนรหสผานของ root ไดในทานองเดยวกนกบของ admin

รปท 18.13 รปแสดงการเปลยน root password

Page 136: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 145

จากหนา System Manager ทานสามารถกลบไปสหนาแรกของ Web Admin Tool ได โดยกดตรงรปทมคาวา Home ในดานลาง และใหคลกตรงคาวา User Manager เพอเขาส User Manager ตอไป

User Manager ในสวนนจะจดการเกยวกบบญชผใชบนเครอง Linux-SIS เมอกดตรงคาวา User manager

จากหนาแรกแลวทจะนาทานไปสสวน User Manager ดงรปท 18.14

รปท 18.14 แสดงหนาจอ User Manager

ในสวนบนจะแสดงรายชอ และคาตางๆ ของผใชแตละคน เรยงตามลาดบลงมาทละบรรทด จากตวอยางในรปท 18.14 ดานบน จะเหนวามผใชอย 4 คน ในคอลมนแรกคอ ชอบญชผใช (Login name) เชน tok, ott, chay, vin

ถดมาเปนตวเลข เชน 101, 126, 1001, 1002 คอ หมายเลขประจาตวของผใช (User ID) ถดมาเปนตวหนงสอแสดงชอกลม (Group) มกลม (group) ใหเลอก 2 กลม คอ User และ Staff ซงจะมประโยชนในการจดแบงหมวดหมของกลมผใชเปน 2 ระดบ

คอลมนถดมาจะเปนชอจรง เชน Kamol Sinsuantaeng และถดมาเปนสวน comment สามารถใสอะไรทเกยวกบผใชคนนเพอเตอนความจา

Page 137: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

146 สรางอนเทอรเนตเซรฟเวอรดวย Linux

คอลมนถดไปเปนตวเลขแสดง ป,เดอน,วน ทไดทาการสรางชอผใชคนน ซงจะถกบนทกโดยอตโนมตสาหรบผใชทกคน ถดมาเปนชอ Home Directory เชน /home/tok เปนไดเรกทอรทเปนเปรยบเสมอนบานของผใชรายน

ชองสดทายเปนชองแสดงถง Shell ของผใชคนนน Shell จะเปนโปรแกรมทถกเรยกขนมา เมอผใชทาการ telnet มายงเครอง Linux น หากเครองของเราไมไดมความตงใจจะใหบรการแบบ telnet กควรให Shell เปน /bin/windows หรอ /bin/menu เพอการใชงานทสะดวกและมปญหานอยทสด ผใชทมความสนใจลกซงดาน Unix อาจชอบใชงานแบบ Shell Shell มหลายประเภท เชน /bin/csh (C Shell) หรอ /bin/ksh (Korn Shell) จะเปนลกษณะการใชงานแบบ command line ปอนคาสงเปนตวหนงสอ

สวนบนทกลาวมาจะเปนสวนแสดงผล แสดงรายละเอยดของผใช ถาตองการแกไข และเพมเตมรายชอผใชจะตองทาในสวนทลบาร (Toolbar) ดานลาง

รปท 18.15 แสดงการปอนคา UID ลงในสวนทลบารดานลางของ User Manager

ตรงคาวา Enter user ID ถดไปจะมชองวาง สาหรบใหใสเลข User ID หรอหมายเลขประจาตวผใชทตองการแกไขหรอเพมเตม ในการแสดงผลในสวนบน จะเรยงชอผใชตามลาดบ User ID หมายเลขประจาตวผใชนสาคญเปนคาเฉพาะสาหรบผใชแตละคน และจะซากนไมได ถาตองการสรางบญชผใชใหม กตองปอนเลข UID เลขใหมทไมซากบของผใชรายใดในดานบน

Page 138: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 147

ในการใสคา User ID น สามารถทาไดดวยมอพมพเขาไป แตสาหรบกรณทตองการแกไขคาตางๆ ของผใชซงมบญชอยแลว (อยในตารางดานบนแลว) สามารถใชเมาสกดตรงสวนชอบญช (login) กจะมตวเลข User ID ของผใชคนนน มาปรากฏโดยอตโนมตตรงชองนเอง โดยไมตองพมพดวยมอ เชน ในรปท 18.14 ถากดตรงคาวา ott กจะมเลข 126 (UID ของ ott) มาปรากฏในชองนทนท

°“√ √È“ß∫—≠™’ºŸÈ„™È„À¡Ë

• ใสเลข User ID ของผใชคนใหมตรงชองขางคาวา Enter User ID โดยจะตองเปนเลขทไมซากบคนทมอยเดมในตารางดานบน ทานอาจกาหนดการใช UID เปนกลมๆ ได เชน ถาเปน Staff ใชเลข UID ตากวา 1000 ถาเปนนกเรยนใหใช UID 10,000 ขนไป สาหรบ Linux-SIS ทานสามารถแจกจาย UID ไดตงแต 101 ไปจนถง 65500

• กดปมทเขยนวา Add new

• ตวอยางเชน ในรปท 18.15 ใสเลข UID เปน 1003 แลวกดปม Add New จะไดผลดงรปท 18.16

รปท 18.16 เมอกดปม Add new แลว

• ใสชอบญชของผใชคนใหมทตองการในชอง login

• ใสชอจรงของผใช ในชอง Full Name

Page 139: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

148 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เลอก Group วาจะเปน user หรอ staff

• ใสรหสผานเรมตนในชอง password (ไมตากวา 5 ตวอกษร)

• ใสรายละเอยดเกยวกบผใชในชอง comment (ตามอสระ ไมมขอบงคบ)

• เลอก Shell

• เมอเรยบรอยแลวกดปม OK

• เมอใสขอมลถกตองเรยบรอยหมดแลว จะปรากฏดงรปท 18.17

รปท 18.17 แสดงเมอเพมบญชผใชไดสาเรจ

จากนนใหกดคาวา Back to user manager page (อยใตบรรทดทวา Congratulations! Account is successfully created อาจตอง Scroll bar ดานขวาลงไป) กจะ update ตารางขอมลในดานบน จะเหนวามชอบญช nok เพมขนมา ตามทเราเพมเขาไปนนเอง ดงรปท 18.18

Page 140: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 149

รปท 18.18 มรายชอบญชผใชเพมขนตามทไดสงเพมเขาไป

°“√≈∫∫—≠™’ºŸÈ„™È

รปท 18.19 การลบบญชผใช

จากรปท 18.19 ใชเมาสกดตรงชอ login (ฟลดแรก) ของผใชทตองการจะลบ เลข User ID จะปรากฏอยตรงชอง Enter User ID โดยอตโนมต เชน กดตรงชอ nok เลข 1003 กจะปรากฏโดยอตโนมต จากนน ใหกดปม Delete เครองจะถามใหยนยนเพอความแนนอนอกครง ใหกดปม

Page 141: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

150 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Delete User แตถาเปลยนใจกเลอก Cancel and go back จะกลบมาในหนา User Manager เหมอนเดม

รปท 18.20 การยนยนทจะลบบญชผใช

เมอกดปม Delete User แลวโปรแกรมกจะทาการลบรายชอผใชคนนนออกไปจากระบบและ เมอกด Back to User Manager หนาเวบกจะกลบไปยงหนา User Manager ดงรปท 18.21 จะเหนวาบญช nok ถกลบไปแลว

รปท 18.21 บญชผใชถกลบไปแลว

Page 142: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 151

°“√‡ª≈’ˬπ group

ในการเปลยนขอมลของผใช เชน group จะทานองเดยวกบการลบคน ใหกดตรงชอของผใชในตารางดานบน จากนน User ID กจะมาปรากฏในชอง Enter User ID จากนน กด Change Group จะปรากฏดงรปท 18.22

รปท 18.22 แสดงการเปลยน group

ใหเลอก group ทตองการสาหรบผใชรายน เสรจแลว กด OK จะขนวาการเปลยน group สาเรจ ใหกด Back to user manager หนาเวบจะกลบไปสหนาเดม และแกไขคา group ของผใช

°“√‡ª≈’ˬπ√“¬≈–‡Õ’¬¥¢ÕߺŸÈ„™È (User Information)

ลกษณะการทางานจะคลายกบเปลยน group กดตรงชอ login ของผใช เพอให UID ปรากฏลงในชอง แลวกด Change user information ดงรปท 18.23

รปท 18.23 การเปลยนรายละเอยดของผใช (User Information)

ใสชอจรง (Full name) และ Comment ลงในชองทกาหนด กด OK กด Back to user manager กลบไปสหนาเดม

Page 143: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

152 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√‡ª≈’ˬπ√À— ºË“π (Password)

กรณทผใชลมรหสผาน สามารถตงคาใหใหมได กดตรงชอ login ของผใช กด Change Password จะไดดงรปท 18.24

รปท 18.24 การเปลยนรหสผาน

ปอนรหสผานใหมสาหรบผใชรายน ลงในชอง New Password และ Retype New Password (รหสผานตองมความยาวมากกวาหรอเทากบ 5 ตว) เมอกด OK จะไดดงรปท 18.25 กด Back to user manager หนาเวบกลบไปสหนา System Manager

รปท 18.25 แสดงการเปลยนรหสผานเสรจเรยบรอย

°“√‡ª≈’ˬπ shell

กดตรงชอ login ของผใช กด Change shell ไดรปท 18.26

รปท 18.26 แสดงการเปลยน Shell

Page 144: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 18 การใช Web Admin Tool 153

เลอก Shell ทตองการ จากรายการ ดงรปท 18.27 กด OK กด Back to user manager page

รปท 18.27 แสดงรายการของ Shell

°“√‡ª≈’ˬπ User ID

กดตรงชอ login ของผใช กด Change UID ไดดงรปท 18.28 ปอน User ID ตองระวงไมใหซากบผใชคนอนทมอยแลว กด OK แลวกด Back to user manager page

รปท 18.28 แสดงการเปลยน UID

นอกจาก System Manager และ User Manager แลว Web Admin Tool กจะมสวนของ Squid Statistics สามารถดสถตของโปรแกรม Proxy/Cache Server ได โปรดอานบทเรอง Squid Proxy/Cache Server สาหรบรายละเอยดเพมเตม

Page 145: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

154 สรางอนเทอรเนตเซรฟเวอรดวย Linux

หากทานตองการตดตงให Linux-SIS ทาหนาทเปน Web Server ขณะททาการตดตง (Firs–time Configuration)

• ใหตอบ Yes สาหรบคาถามวา Do you want to set this machine to be Web Server?

• หากตองการใชรวมกบระบบ Database ดวย ใหตอบ Yes สาหรบคาถาม Do you want to run MySQL Database Server on this machine? ดวยเชนกน

เมอตดตง Linux-SIS และตงคาทาง Network ตางๆ จนใชงานไดแลว ลองใช Browser เรยกไปยง http://<ชอเครอง>/ กจะเหนภาพดงน

รปท 19.1 ภาพแสดงหนาเรมตนของ Web Server ทตดมากบ Linux-SIS เวอรชน 3.0

Page 146: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 19 การอปโหลดขอมล WebPage สเครอง Linux-SIS 155

Web Server จะถกตดตงอยท /usr/local/etc/httpd เวอรชนทมากบ Linux-SIS Version 3.0 จะสนบสนนการเขยน Embeded Script ของ PHP (www.php.net) ดวย สวน MySQL จะถกตดตงอยท /usr/local/etc/mysql ทานสามารถใสขอมล Web Page ของทานไดภายใตไดเรกทอร /www และขอมล CGI ไดภายใตไดเรกทอร /cgi โดยผใชทมสทธใสขอมลจะตองอยใน Group Staff ภายในไดเรกทอร /www และ /cgi จะมตวอยางการเขยน HTML โดยใช Script PHP (คลาย Microsoft Active Server Page) และการเชอมตอกบระบบฐานขอมล โดยใช PHP และ Perl (CGI) Script ดวย

หากทานถนดทจะสรางขอมล Web Page บนเครอง PC อนๆ ของทาน แลวจงคอยสง ขอมลมายงเครอง Linux กสามารถทาได โดยขนแรกจะตองมบญชผใช ทอยใน Group Staff (เลอกไดขณะ Add User โดยใช Web Admin Tool) และมวธนาขอมลเขาสเครอง Linux-SIS ไดสองวธ คอ

• ใช FTP ใชโปรแกรม เชน FTP ของ Microsoft Windows, CuteFTP, WS-FTP รวมถง Netscape Browser โดยใชบญชผใชดงกลาว นาขอมล Web Page ของทานใสไวในไดเรกทอร /www

รปท 19.2 ภาพแสดงถงการใช Netscape ทาการ FTP ไปยงเครอง Linux-SIS ทไดเรกทอร /www

ภาพตวอยาง จะแสดงถงการใช Netscape Browser ทาการ FTP ไปยงเครอง Linux-SIS ทไดเรกทอร /www เมอตองการ Upload ไฟลใดเขาไป กใหใช Window Explorer ลากไฟลนน ไปปลอยภายในหนาตางของ Netscape

Page 147: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

156 สรางอนเทอรเนตเซรฟเวอรดวย Linux

หากมปญหากบวธการใช FTP ใหตรวจสอบดงน

• ดใหแนใจวาไฟล /etc/hosts.deny ไมไดปองกนการทา FTP จากเครอง PC ของทาน โปรดอานบทเรอง TCP-Wrapper เพมเตม

• หากใช Netscape ไมควรตงคา Proxy Server ใดๆ ขณะท Upload ขอมล

• ใช Samba วธนทานจะตองตอบ Yes สาหรบคาถามทวา Do you want to run Samba (SMB File and Print Server) on this machine? ขณะททาการตดตง Linux-SIS จากนนใหตงคา WORKGROUP ใน /etc/smb.conf ใหตรงกบคา WORK–GROUP ของเครอง PC ของทาน คา Default ทมากบ Linux-SIS จะเปน SCHOOL (สาหรบ Windows95 ถาจะแกคา WORKGROUP ใหแกใน Control Panel/Network /Identification) แลว Reboot เครอง Linux-SIS

หลงจากนนเปดเครอง PC ของทาน ให Log on ดวยชอทตรงกบบญชทอยบนเครอง Linux-SIS (อยาลม ตองเปนผใชทอยใน Group Staff) เปด Network Neighborhood ควรจะเหนเครอง Linux-SIS ปรากฏขน เมอดบเบลคลกตรงชอเครองเขาไป กจะมขนใหถามรหสผาน ใหปอนรหสผานบนเครอง Linux-SIS เขาไป เมอผานแลว กสามารถนาขอมล Web Page ของทานใสในไดเรกทอร www ได

รปท 19.3 ภาพแสดงเมอใช Network Neighborhood คนหาเขาไปในเครอง Linux-SIS

Page 148: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 19 การอปโหลดขอมล WebPage สเครอง Linux-SIS 157

หมายเหต: หากเครอง PC ของทานใชระบบปฏบตการ Microsoft Windows NT, 95OSR2 หรอ 98 จะตองแกไขท Configuration File ของ Samba เพมเตม กอนทจะใชวธนได เนองจาก มระบบการสงรหสผาน แตกตางจาก Microsoft Windows 95 ธรรมดา ขณะตดตง Linux-SIS ใหลงสวน source ดวย และอานวธทาในไฟล /usr/local/src/samba-2.0.3/docs/textdocs/EN–CRYPTION.txt

Page 149: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

158 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในบทน จะกลาวถงโครงสรางของซอฟตแวร Linux-SIS เวอรชน 3.0 วามโครงสรางการออกแบบอยางไร สาหรบผใชและนกพฒนาทสนใจ เพอทจะไดใชงาน Linux-SIS อยางมประสทธภาพสงสด

æ◊Èπ∞“π®“° Slackware Linux-SIS พฒนาขนโดยมพนฐานจากซอฟตแวร Linux ยหอ Slackware ซงพฒนาโดย

Patrick Volkerding (http://www.slackware.com) ซงเมอเทยบกบซอฟตแวร Linux ยหออนๆ แลวกจดวาเปนตวทมโครงสรางเปนระเบยบ ไมซบซอนมาก งายตอการทาความเขาใจ Slackware ไดพฒนาตามหลก KISS (Keep It Simple, Stupid) เหมาะแกการนามาศกษาและประยกตใชกบงานของ Linux-SIS

°“√µ‘¥µ—È߇ªÁπ Ë«πÊ Linux-SIS 3.0 จะแบงออกเปนหลายสวน ดงจะเหนในตอนตดตง เชน base, data, sis,

server, desktop เปนตน เพอทวาผใชในแตละสวนสามารถเลอกเฉพาะสวนทตองการ ไมจาเปนตองเลอกทงหมด แตละสวนจะเปนอสระตอกน แตสวนทสาคญทจะตองลงเสมอกคอ base, sis, data นอกเหนอจากน กสามารถเลอกลงไดตามตองการ

สวนตางๆ เหลาน เมอถกตดตงไปแลว กจะกระจายอยในแตละไดเรกทอรดงน base / สวนพนฐาน (Slackware) data /data สวนทเกบขอมลของทาน

Page 150: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 20 โครงสรางทางเทคนคของ Linux-SIS 159

sis /usr1 สวนเพมเตมพนฐานของ Linux-SIS server /usr1/local/etc เปนสวนทเกยวกบ Internet Server source /usr1/local/src Source Code ของสวน Internet Server desktop /usr1/local/desktop สวนสาหรบการใชงานแบบ Desktop desktop-src /usr1/local/desktop-src Source Code ของสวน Desktop

อยางไรกตาม Linux-SIS เวอรชน 3.0 จะไมมความออนตวถงขนาดทจะเลอก Package ทละตวได แตละสวนของ SIS กจะเปรยบเสมอนกลมของ Package หากวาผใชตองการทจะตดตงระบบตนเองโดยเลอก Package อยางละเอยด และในขณะเดยวกน อยากไดความสามารถบางอยางของ SIS กสามารถ ตดตง Linux ดวยตนเอง ดวย Linux ยหอตางๆ ในทองตลาด เชน RedHat หรอ Slackware จากนนจงคอยดาวนโหลดสวน source, desktop-src ไปลงดวยตนเองภายหลงได ไมจาเปนตองตดตง Linux-SIS ทงหมด

°“√·∫Ë߇ªÁπ 3 พารทชน Linux-SIS ทงในเวอรชน 2 และ 3 จะสนบสนนใหผใชแบงฮารดดสกออกเปน 3 พารทชน

คอ Root, Swap และ Data ทงๆ ทตามปกต เราสามารถตดตงระบบ Linux ทวไปไดโดยใชเพยง 2 พารทชน คอ Root กบ Swap เหตผลคอ เราแนะนาใหผใชแยกสวนขอมลทผใชสรางขนเองภายหลงจากการตดตง เชน ขอมล Web Page, ขอมลสวนตวของผใชไปเกบไวคนละพารทชน กบสวนทเกบขอมลระบบ (Root Partition, /) เพอทวา ภายหลงตองการอปเกรด หรอตดตงระบบใหม กจะไดฟอรแมตเพยง Root Partition แรกเทานน ขอมลอนทอยใน Data Partition กจะไมถกแตะตอง

สาหรบ Linux-SIS เวอรชน 3.0 เราจะทา Symbolic Link ใหไดเรกทอรทตองเกบขอมลทสาคญๆ ชไปยงไดเรกทอรจรงทอยภายใต /data ทงสน ตวอยาง เชน

/www /data/htdocs /cgi /data/cgi-bin /home /data/home /var/named /data/named

Page 151: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

160 สรางอนเทอรเนตเซรฟเวอรดวย Linux

/usr1 หากทานลองตดตง Linux-SIS เวอรชน 3.0 โดยเลอกเพยงแคสวน Root ทานจะพบวา

ระบบของทานภายหลงจากการตดตงกคอ Slackware Linux ดๆ นนเอง สงทเราไดพฒนาเพมเขาไป จะอยภายใตไดเรกทอร /usr1 ทงหมด และม Symbolic Link จาก /usr/local /usr1/local ดงนน ถาทานมคาถามวา สงท Linux-SIS แตกตางจาก Slackware มอะไรบาง กคงเปน สวนการตดตงทแตกตางกน, ไดเรกทอร /data และ ไดเรกทอร /usr1 นนนเอง

ขณะททาการตดตง เมอทาสาเนาเสรจแลว ระบบจะ Reboot 1 ครง และนาเขาส Firsttime setup (/usr1/install/firsttime) ทจะนาทานไปสคาถามตางๆ คาถามแรกคอ Initialize your system to be Linux-SIS? หากทานตอบ Yes ตรงน โปรแกรมตดตงกจะเรยกรนโปรแกรม /usr1/install /scripts/MakeItSIS เพอเตรยมระบบ (ทคลาย Slackware) ใหกลายเปน Linux-SIS ทานสามารถดรายละเอยดไดวา Script MakeItSIS นน ทาอะไรกบระบบของทานบาง

Startup File กลมของไฟลทระบวา เมอเครองบต ขนมาจะใหเรยกโปรแกรมอะไรบาง (คลาย AUTO–

EXEC.BAT ของ DOS) จะอยในไดเรกทอร /etc/rc.d มอยดวยกนหลายไฟล กรณททานตองการจะเพม ใหระบบทางานอะไรเพมเตมทกครงทบต ควรเพมในไฟล rc.local เชน ถาตองการใหสง E-mail ไปหา [email protected] ทกครงทระบบบต กใหใสขอความดงตวอยาง ตอทายไปในไฟล rc.local

/bin/date | Mail -s "system bootup" [email protected]

เนอหาในไฟล rc.local จะเหนวามขอความในลกษณะวา (คาวา squid อาจเปนอยางอน)

# Starting Squid if [ -x /etc/rc.d/rc.squid ]; then /etc/rc.d/rc.squid fi

Page 152: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 20 โครงสรางทางเทคนคของ Linux-SIS 161

หมายความวา มนจะตรวจสอบ Permission ของไฟล /etc/rc.d/rc.squid วา Execute ไดหรอไม ถาไดกจะทาการ Run ดงนน หากทานไมตองการให Squid ทางานทกครงทบตกใชคาสง chmod –x /etc/rc.d/rc.squid หากตองการใหทางานทกครงกใชคาสง chmod +x /etc/rc.d/rc .squid เมอถงเวลาบต ไฟล rc.local กจะตรวจสอบและ Run/ ไม Run rc.squid โดยอ ต โ น ม ต เนอหาของไฟล rc.squid กจะเปนการเรยกให Squid Proxy Server ทางานนนเอง

/etc/hosts.deny หากทานประสบปญหาไมสามารถ telnet หรอ ftp มายงเครอง Linux-SIS ได ทงเวอรชน

2 และ 3 อาจเปนไปไดวาทานไมไดอนญาตไวในไฟล /etc/hosts.deny

ในขนตอนการตดตงนน หากทานตอบ Yes สาหรบคาถาม Allow telnet / ftp from 192.168.1.* only? โปรแกรมตดตงจะตงคาเรมตนใน /etc/hosts.deny โดยอนญาตใหสามารถทาการ telnet/ftp มาจากเครองทม IP เปน 192.168.1.* เทานน หากทานตองการแกไขกสามารถแกไดทไฟล /etc/hosts.deny เมอแกไขแลวมผลทนทไมตอง Reboot โปรดอานบทท 37 เรอง TCP Wrapper เพมเตมในรายละเอยด

sissetup.txt สงททมพฒนา Linux-SIS ไดกระทาไวในซอฟตแวร Linux-SIS นอกเหนอไปจากทมากบ

Linux Slackware จะถกบนทกไวในไฟลชอ sissetup.txt กระจายอยตามไดเรกทอรตางๆ ผสนใจสามารถดรายละเอยดในไฟลน เชน วธการ Compile ซอฟตแวรนนๆ ใหใชกบ Linux-SIS ได ตองมการตงคาพเศษอยางไรบาง เพอสามารถนาไปประยกตใชกบระบบของทาน ตวอยางเชน ไฟล /usr/local/src/opie-2.32/sissetup.txt จะกลาวถงวธตดตงซอฟตแวร OPIE ใน Linux-SIS

°“√„™Èß“π·∫∫ Workstation เปาหมายหลกของ Linux-SIS ถกออกแบบมาใหใชงานดานเปน Internet Server คอ

ใหบรการงานดานอนเทอรเนตตางๆ ไมจาเปนตองมกราฟกสรปภาพทสวยงาม หรอโปรแกรมประยกตสาหรบผใชสวนบคคล อยางไรกตาม ในปจจบนมซอฟตแวรจานวนมากสาหรบ Linux

Page 153: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

162 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เพอการใชงานสวนบคคล มกราฟกสทสวยงาม ผใชบางทานเรมใชงานดวยงานดานตงโตะ (Desktop) เลยทเดยว ซอฟตแวรในดานนไดพฒนาไปพอสมควร และสนบสนนการใชภาษาไทยไดในระดบหนงแลว

Linux-SIS เวอรชน 3.0 จงไดมสวนของ Desktop มาใหดวย (อยในขนทดลอง) ประกอบดวยระบบกราฟกส X-Window Netscape Communicator, โปรแกรมตกแตงภาพคลาย Adobe Photoshop ชอ GIMP โปรแกรมทางดาน Office เชน AbiWord, KOffice และโปรแกรมสนบสนนอนๆ อกมากมาย ใหผสนใจสามารถลองใชได ผสนใจสามารถอานรายละเอยดไดในไฟล README.TXT ในแผน CD-ROM ของทาน

Page 154: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

164 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑ √ÿª¬ËÕ ปจจบนคงปฏเสธไมไดวา WWW เปนแอปพลเคชนทมความสาคญ และใชกนแพรหลาย

ทสดในเครอขายอนเทอรเนตไปแลว การใหบรการ WWW เราจะตองม WWW Server (บางทเรยกวา HTTP Server) ในบทนจะกลาวถงการตดตงและใชงาน Apache WWW Server ซงจดไดวาเปนซอฟตแวร WWW Server ทใชกนแพรหลายทสดในโลก และจะกลาวถงการสราง WWW Server แบบทมการเขารหสในการสงขอมลแบบ SSL โดยใชซอฟตแวร Apache เพอความปลอดภยทสงขน

WWW Server WWW Server ตามปกตจะทางานท Port 80 (แตอาจเปลยนเปน Port อนกได) ระบบ

Unix หรอ Linux สวนใหญจะมการตดตง WWW Server มาใหอยแลว และสวนมากกจะเปน Apache หากระบบของทานเปนดงน สงททานตองทากคอ

• คนหาวา WWW Server Root อยทไหน เชน ถาเปน Slackware Linux จะอยท /var/lib/httpd ถาเปน RedHat จะอยท /home/httpd สาหรบ Linux-SIS จะอยท /usr/local/etc/httpd

• นาไฟล HTML ของทานไปใสไวในไดเรกทอร htdocs ซงอาจจะอยท <WWW Server Root>/htdocs สาหรบ Linux-SIS จะเปน /www

• หากม CGI-Script กนาไปใสไวท <WWW Server Root>/cgi-bin สาหรบ Linux-SIS จะเปน /cgi

Page 155: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 21 WWW Server: Apache และ Apache/SSL 165

• หากตองการแกไข Configuration File กสามารถแกไดท <WWW Server Root>/etc

• Log File แสดงการทางานจะอยท <WWW Server Root>/logs

• เรยกใชงานโปรแกรม httpd (ถามนไมไดทางานอยแลว) โดยใช Script apachectl ซงมกจะอยท <WWW Server Root>/bin/ วธใชใหพมพวา apachectl start (ถาตองการใหหยดทางานก apachectl stop, พมพวา apachectl เฉยๆ เพอดออปชนเพมเตม) สาหรบ Linux-SIS ใหเรยก /etc/rc.d/rc.httpd

• เมอ WWW Server ทางานแลว ทานกสามารถใช WWW Browser เรยกไปท http://<ชอเครองของทาน> ได

แตถามการใช SSL WWW Server จะทางานท Port 443 (Default) การใช SSL จะทาใหการสงขอมลระหวาง WWW Server และ WWW Browser มการเขารหส เราสามารถใช WWW Browser เรยกด SSL Web Server ไดโดยเรยกไปท https://<ชอเครองของทาน>/ สงเกตวาเปน https แทนทจะเปน http เฉยๆ ถาใช Netscape Browser จะมรปกญแจอยตรงมมลางซาย เมอเขาไปยงเพจทเปน SSL กญแจทขาดอยจะตอกน แสดงใหเหนวาตอนนทางานในโหมด SSL การสงขอมลจะมความปลอดภยกวาปกต

°“√µ‘¥µ—Èß Apache WWW Server 1. ดาวนโหลดโปรแกรม Apache ไดท http://www.apache.org/dist/ จะไดไฟลชอ apache_

VERSION.tar.gz โดย VERSION เปนเวอรชนของ apache ในขณะนนๆ

2. unpack ไฟลและตดตงดงน

# cd /usr/local/src # หรอไดเรกทอรอนๆ ตามตองการ # gzip –cd apache_VERSION.tar.gz | tar xvf – # cd apache_VERSION # ./configure –prefix=/usr/local/etc/httpd # ใสชอไดเรกทอรทตองการจะตดตง # make # make install

3. ทานกจะได WWW Server ทตดตงโดยม WWW Server Root อยท /usr/local/etc /httpd

Page 156: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

166 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√µ‘¥µ—Èß Apache/SSL WWW Server 1. การตดตง Apache/SSL WWW Server จะตองดาวนโหลดโปรแกรมทงหมด 3 โปรแกรม

คอ

• โปรแกรม Apache WWW Server ดงทไดกลาวมาแลว

• โปรแกรม Apache-SSL ดาวนโหลดไดท http://www.apache-ssl.org/ จะไดไฟล apache_VERSION+ssl.tar.gz เลอกไฟลให VERSION ตรงกนกบ Apache WWW Server ทดาวนโหลดมา

• โปรแกรม SSLeay ไดท http://www.apache-ssl.org จะไดไฟล SSLeay-VERSION.tar.gz

2. ตดตงโปรแกรม SSLeay

# gzip -cd SSLeay-VERSION.tar.gz | tar xvf - # cd SSLeay-VERSION # perl util/ssldir.pl /usr/local/etc/ssl # ใสชอไดเรกทอรทตองการตดตง # ./Configure linux-elf # make # make install

3. ตดตง Apache/SSL WWW Server

จะตองตดตงในสวนของ Apache WWW Server และ Apache-SSL

unpack ไฟล Apache WWW Server

# gzip -cd apache-VERSION.tar.gz | tar xvf -

• หลงจาก unpack แลว ให cd เขาไปยงไดเรกทอร apache-VERSION ท unpack แลวขางตน แตอยาเพงใช ./configure เหมอนการตดตง Apache WWW Server ปกต ให unpack ไฟล Apache-SSL ทดาวนโหลดมาลงทน แลวใชคาสง patch ดงน

Page 157: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 21 WWW Server: Apache และ Apache/SSL 167

# cd apache-VERSION # gzip -cd apache_VERSION+ssl.tar.gz | tar xvf - # patch -p1 < SSLpatch # patch ไฟล Apache ใหเปน Apache/SSL

• แกไขไฟล src/Configuration.tmpl ระบไดเรกทอรของ SSL_* ใหถกตอง (ทเราไดระบไวในขนตอนการลง SSLeay)

SSL_BASE=/usr/local/etc/ssl # ระบไดเรกทอร ทตดตงจากขอ 2 SSL_INCLUDE= -I$(SSL_BASE)/include # ระบไดเรกทอรของ include ใหถกตอง SSL_CFLAGS= -DAPACHE_SSL SSL_LIB_DIR= $(SSL_BASE)/lib # ระบไดเรกทอรของ lib ใหถกตอง SSL_LIBS= -L$(SSL_LIB_DIR) -lssl -lcrypto SSL_APP_DIR= $(SSL_BASE)/apps

• สงคาสง Configure

# ./configure --prefix=/usr/local/etc/httpsd # ระบไดเรกทอรทตองการใหเปน Apache/SSL # WWW Server Root

• แกไข src/Makefile ในสวนของ certificate ใหไฟล httpsd.pem อยในไดเรกทอรทตรงกบทระบไวในไฟล httpsd.conf และระบทอยของไฟล ssleay.cnf, ssleay ใหถกตอง

certificate: $(SSL_APP_DIR)/ssleay req -config ../SSLconf/conf/ssleay.cnf \ -new -x509 -nodes -out ../SSLconf/conf/httpsd.pem \ -keyout ../SSLconf/conf/httpsd.pem; \ ln -sf ../SSLconf/conf/httpsd.pem ../SSLconf/conf/`$(SSL_APP_DIR)/ssleay \ x509 -noout -hash < ../SSLconf/conf/httpsd.pem`.0

Page 158: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

168 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• สงคาสงเพอการ compile และ install โปรแกรม

# make # make install # cd src # make certificate

• หลงจาก compile เรยบรอยแลวจะไดไฟล httpsd ทาหนาทเปน Apache/SSL Web Server โดยม WWW Server Root อยท /usr/local/etc/httpsd

• ลกษณะการจดวางไดเรกทอร หรอการทางานจะคลาย WWW Server ธรรมดา แตตวโปรแกรมจะชอ httpsd แทนทจะเปน httpd และ Configuration ไฟลหลก (httpsd.conf) จะมเนอหาเกยวกบ SSL เพมมา

• แกไขไฟล <WWW Server Root>/conf/httpsd.conf ซงมตวอยางอยท SSLconf/conf

• สงให httpsd ทางาน

# cd /usr/local/etc/httpsd # sbin/apachectil start

°“√„™Èß“π • ใสเอกสาร HTML และ CGI Script ไวภายใต WWW Server Root ตามการจดวางได

เรกทอรเหมอน Apache Web Server ปกต

• ใช WWW Browser เรยกไปท https://<ชอเครองของทาน>/

สาหรบผใช Linux-SIS 3.0 จะมโปรแกรม Web Server ตดตงมาใหแลว

Apache: อยท /usr/local/etc/httpd ใสเนอหา HTML ท /www (เปน link ไปท /usr/local/etc/httpd/htdocs) ถาตองการใหทางานทกครงทเปดเครองใหใชคาสง chmod +x /etc

Page 159: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 21 WWW Server: Apache และ Apache/SSL 169

/rc.d/rc.httpd ถาไมตองการ ใหใชคาสง chmod –x /etc/rc.d/rc.httpd โปรดดบทท 19 สาหรบรายละเอยดดเพมเตมในการอปเดตขอมล Web Page

Apache/SSL อยท /usr/local/etc/httpsd ใสเนอหา HTML ท /usr/local/etc/httpsd/htdocs ถาตองการใชงานจะตองหยดการทางานของ Web Admin Tool, เนองจากจะใช Port เดยวกน (443) หรอมฉะนนตองตงคาใหไปใช Port อน (แกใน /usr/local/etc/httpsd/conf/httpsd.conf)

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ เนองจากการทางานของ Apache/SSL Web Server จะใชเทคโนโลย SSL ในการเขารหส

ขอมล ซงจะเกยวของกบการใช Private Key/Public Key จะตองมการสราง Certificate ผทสนใจอยางละเอยดควรจะอานเกยวกบ Public Key Cryptography เพมเตม จากแหลงขอมลเพมเตมเหลาน

• http://www.apache-ssl.org/

• http://www.ssleay.org/

Page 160: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

170 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑ √ÿª¬ËÕ ในปจจบน Proxy/Cache Server มการใชงานทแพรหลายมากขน เพราะการตดตง Proxy/

Cache Server ในแตละองคกรจะชวยในการประหยดงบประมาณทตองเสยไปกบคาเชาวงจร สอสาร และยงทาใหผใชเรยกดขอมลไดเรวขน เนองจาก Proxy/Cache Server จะทาหนาทไปเอาขอมลทเครองลกขายตองการแทนทเครองลกขายแตละเครองจะไปเอาขอมลเอง และจะเกบสาเนาขอมลเหลานเอาไวในเครองดวย ดงนนถามเครองลกขายเครองอนๆ มาเรยกขอมลเหลานอก Proxy/Cache Server กจะนาขอมลทมอยแลวสงใหกบเครองลกขายนนๆ ไมตองออกไปเอามาใหม หากผใชตองการขอมลทใหม เนองจากเปนเวบทอปเดตบอยมาก กสามารถกดปม RELOAD จาก Browser ได

สวนในบทนจะกลาวถง หลกการของ Proxy/Cache, คณสมบตของ Squid, วธการตดตง Squid, การตงคาโปรแกรม Squid ใหสามารถใชงานได, วธการใชงาน, การแกไขปญหาและแหลงขอมลเพมเตม

À≈—°°“√¢Õß Proxy/Cache Server 1. ความแตกตางระหวางคาวา Proxy กบ Cache

คาวา Proxy แสดงถงการไปเอามาให ยกตวอยางเชน การทเครองแมขายไปเอาขอมลท ไซต (site) จรงมาใหเครองลกขาย แทนทเครองลกขายจะไปเอาเอง เครองแมขายจะทาหนาทเปน Proxy Server สวนคาวา Cache แสดงถง การทาสาเนาขอมลทเคยเรยกไปแลวไวกบตวเอง

Page 161: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 171

ยกตวอยางเชน เมอเครองแมขายไปเอามาครงแรกใหเครองลกขาย ตวมนเองจะทาสาเนาเกบไวดวย เพอทวาครงตอไปจะไดไมตองไปเอามาจากไซตจรงอก

บางทเรามกใชปนกน แลวแตจะเรยก ทถกแลวกนาจะเรยกเปน Proxy/Cache Server หรอ Proxy Caching Server แตบางผลตภณฑกเรยกวา Proxy หรอ Cache เฉยๆ กใหแปลความหมายวาเปน Proxy/Cache Server ในหนงสอเลมนขอใชคาวา Cache Server เฉยๆ

ตวอยาง โปรแกรมททาหนาทเปน Cache Server เชน Squid, CERN Httpd, Harvest, NetCache, Microsoft Proxy และ Netscape Proxy

2. Parent & Sibling

Parent กบ Sibling เปนการระบถงความสมพนธซงกนและกนของ Cache Server แตละเครอง โดยความสมพนธทงสองแบบสามารถอธบายไดดงน

• ถาเครอง Cache Server A มความสมพนธแบบ Parent-Child กบเครอง Cache Server B โดย A เปน Parent ของ B ถาเครองลกขายขอขอมลมายง B แต B ไมมขอมลนน B กจะไปถาม A ถา A มกจะสงขอมลนนใหกบ B แตถาไมม A จะไปหาขอมลนนและสงตอมาให B

• ถาเครอง Cache Server A มความสมพนธแบบ Sibling กบเครอง Cache Server B ถาเครองลกขายขอขอมลมายง B แต B ไมมขอมลนน B กจะไปถาม A ถา A มกจะสงขอมลนนใหกบ B แตถาไมม B จะตองไปหาขอมลนนเอง A จะไมวงไปหาให

3. Hit และ Miss

คาวา Hit กบ Miss จะเปนคาตอบของคาถามทวา มขอมลอยใน Cache Server หรอไม ใชคอ Hit และไมใชคอ Miss ขอมลท Hit หมายความวา เมอเครองลกขายขอขอมลเขามา แลว ขอมลนนมอยใน Cache Server สวนขอมลท Miss เปนไปในทางตรงขามคอ Cache Server ไมมขอมลนนอย

Squid Squid (http://squid.nlanr.net) เปนซอฟตแวร Proxy/Cache Server ทมประสทธภาพสง

สนบสนน HTTP, FTP, Gopher โปรโตคอล Squid สามารถจดไดวาเปนซอฟตแวร Proxy/Cache

Page 162: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

172 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Server ทใชกนแพรหลายทสดในปจจบน ในบทนจะแนะนาการตดตงและใชงาน Squid เวอรชน 2 ซงทนสมยทสดในตอนน (หากทานใช Squid 1.x อย กควรเปลยนมาใชเวอรชน 2 เพราะม ประสทธภาพสงกวาอยางเหนไดชด แตรปแบบของ Configuration File จะตางจากเดมเลกนอย)

«‘∏’°“√µ‘¥µ—Èß 1. ดาวนโหลดไดท ftp://ftp.nectec.or.th/pub/mirrors/squid.nlanr.net หรอ

http://squid .nlanr.net

2. ไดไฟลท มนามสกล .tar.gz นามาใชไดโดยใชคาสง

# gzip -cd squid-version.tar.gz | tar xvf - # version เปนเลขเวอรชน

3. เขาไปยงไดเรกทอรตามขอ 2 และใชคาสง

# cd squid-version

# ./configure --prefix=/usr/local/etc/squid --enable-icmp

option --prefix เปนการบอกไดเรกทอรท Squid จะทาการตดตง สวน --enable-icmp จะเปนบอกให Squid สนบสนนการใช ICMP ดวย ยงม option อนๆ อกมาก สามารถอาน รายละเอยดเพมเตมไดโดยใชคาสง ./configure --help

4. ใชคาสง

# make all # make install

# make install-pinger

5. หลงจากนเราจะไดโปรแกรม Squid ตดตงลงในไดเรกทอร /usr/local/etc/squid จะม ไดเรกทอรยอยคอ

• bin สาหรบเกบตวโปรแกรม มไฟลเชน squid, pinger

Page 163: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 173

• etc สาหรบเกบ Configuration File เชน squid.conf

• log สาหรบเกบ Log File แสดงรายละเอยดการทางาน

• cache สาหรบเกบ Cache เราอาจ Link ไดเรกทอรนไปยงทอนได ควรเผอขนาดของไดเรกทอรนไวอยางตา 800 Mb. สาหรบหนวยงานขนาดเลก

6. แกไขไฟล etc/squid.conf ซงจะกลาวในหวขอตอไป

ไฟลทควบคมการทางานของ Squid คอไฟล squid.conf ซงอยในไดเรกทอร /usr/local /etc/squid/etc มคาตางๆ ทตองตดตงดงน

HTTP และ ICP Ports

• ตวแปร http_port คอ port ทคอยรบการเชอมตอกนระหวาง Cache server กบเครองลกขาย และทาการสงขอมลทเปน HTTP Protocol ซงมรปแบบดงน

http_port 8080

คาทใชสวนใหญจะเปน 8080 หรอ 3128

• ตวแปร icp_port คอ port ทเครอง cache server ใชแลกเปลยนขอมลระหวางกน ซงมรปแบบดงน

icp_port 3130

คา 3130 เปนคามาตรฐานทใช

°“√‡™◊ËÕ¡µËÕ°—∫ Cache server ‡§√◊ËÕßÕ◊Ëπ ตวแปร cache_peer (คลาย cache_peer ในเวอรชน 1.x) ใชในการกาหนดความสมพนธ

ในการเชอมตอกบเครอง Cache server เครองอน ซงสามารถมไดมากกวาหนงเครอง มรปแบบดงน

cache_peer hostname type http_port icp_port options

Page 164: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

174 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• hostname คอชอหรอ IP ของเครอง Cache server ทเราจะเชอมตอดวยถาเปนชอจะตองมทง forward และ reverse name หมายความวา ถาร IP สามารถระบเปนชอไดและถารชอกสามารถระบ IP ได เชนกน จากตวอยางเปนเครอง cache.school.net.th

• type มคาไดเปน parent, sibling, multicast

• http_port คอ port ททาการสงขอมล HTTP ของเครอง cache.school.net.th

• icp_port คอ port ทใชแลกเปลยนขอมลระหวางกนของเครอง cache.school.net.th

• options จะระบหรอไมกได ตวอยางเชน weight=n เปนการกาหนดวาตองการไปหา parent ตวไหนกอน คาของ n แทนตวเลข คาไหนมากกวากไปหา parent ตวนนกอน

ตวอยางเชน ถาตองการชเครอง cache.school.net.th ใหเปน parent สามารถกาหนดไดดงน

cache_peer cache.school.net.th parent 8080 3130

°“√°”Àπ¥ Local Domains เปนการกาหนด Domains หรอ IP ทไมตองให Cache server ไปถามขอมลจากเครองท

เปน parent หรอ sibling สวนใหญชอทกาหนดจะเปน Domains ภายในองคกรหรอชอ Domains ท Cache server สามารถไปหาไดเรวกวาทจะไปถามจากเครอง parent หรอ sibling ใดๆ เชน สาหรบ NECTEC Web Site ทอยภายใน NECTEC เอง (โดเมน nectec.or.th) กไมควรจะใหวงออกไปถาม parent หรอ sibling ทไหน กควรกาหนด nectec.or.th ใหอยเปน Local Domain ตวอยางดงน

acl local_domain dstdomain nectec.or.th always_direct allow local_domain

°“√°”Àπ¥¢π“¥·≈–‰¥‡√°∑Õ√’∑’Ë®–„™È‡°Á∫¢ÈÕ¡Ÿ≈

Page 165: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 175

ใชคาวา cache_dir แลวตามดวยไดเรกทอร, ขนาด (MB), จานวนไดเรกทอรยอยภายใน ตวอยางเชน

cache_dir /cache/disk1 500 16 256 cache_dir /cache/disk2 500 16 256

°“√°”Àπ¥™◊ËÕ¢Õß Log files Log files ของ Squid จะมอย 3 ชนดซงแทนดวยตวแปร cache_access_log, cache_

log และ cache_store_log โดย cache_access_log จะเกบขอมลวาเครองลกขายมการขอ ขอมลอะไรบาง สวน cache_log จะเกบ error message ถา Cache server มขอผดพลาดไมสามารถทางานได ผควบคมระบบกสามารถตรวจสอบไดจากไฟลนวามขอผดพลาดอยางไร และ cache_store_log จะเกบขอมลการทางานของ Squid วาเกบขอมลอะไรไวบาง หรอลบขอมลอะไรบางซงขอมลเหลานอาจจะไมจาเปนสาหรบผควบคมระบบ ซงตวแปรทง 3 ชนดมรปแบบ ดงน

cache_access_log /usr/local/etc/squid/logs/access.log cache_log /usr/local/etc/squid/logs/cache.log cache_store_log /usr/local/etc/squid/logs/store.log

°“√°”Àπ¥™◊ËÕ‰ø≈Ï∑’ˇ°Á∫ Process id ทกครงทมการ start Squid, Squid จะสรางไฟลทเกบ Process id เพอใหงายตอการ

restart หรอ shutdown Squid โดยมรปแบบดงน

pid_filename /usr/local/etc/squid/logs/squid.pid

µ—«·ª√Õ◊ËπÊ ตวแปร cache_effective_user และ cache_effective_group จะระบ user id และ

group id ท Squid จะทางาน ตวอยางเชน

Page 166: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

176 สรางอนเทอรเนตเซรฟเวอรดวย Linux

cache_effective_user squid cache_effective_group daemon

ตวแปร cache_mgr ใชระบ email address ของผควบคมระบบ มรปแบบดงน

cache_mgr [email protected]

°“√Õπÿ≠“µ„Àȇ§√◊ËÕß≈Ÿ°¢Ë“¬¡“‡™◊ËÕ¡µËÕ การอนญาตใหเครองลกขายมาเชอมตอมตวแปรทใชรวมกนทงหมด 3 ตวคอ acl, http_

access และ icp_access

ตวแปร acl ใชในการกาหนด ชอ, IP หรอ วง LAN ของเครองลกขายทจะมาเชอมตอ, aclname คอ การกาหนดชอทไวใชอางถงในตวแปร http_access ซงสามารถใชชอซาได ม รปแบบดงน

acl aclname src ip-address/netmask ระบเปน IP ของเครองลกขาย acl aclname src addr1-addr2/netmask ระบเปนชวงของ Subnet acl aclname srcdomain hostname ระบเปนชอ

ตวแปร http_access ใชกาหนดวา aclname ใดทสามารถเชอมตอเพอรบขอมล HTTP จากเครอง Cache server มการกาหนด 2 แบบ คอ allow (อนญาต) หรอ deny (ปฏเสธ) เครองหมาย ! แทนการยกเวน มรปแบบดงน

http_access allow|deny [!]aclname

ตวแปร icp_access ใชกาหนดวา aclname ใดทสามารถเชอมตอเพอรบขอมล ICP จากเครอง Cache server มรปแบบดงน

icp_access allow|deny [!]aclname

Page 167: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 177

ตวอยางท 1 ตองการอนญาตใหเครองลกขายทม IP 204.150.154.20 และ IP วง 202.150.153.0 สามารถเชอมตอกบ Cache server ได และตองการอนญาตใหเครอง cache.mychild.co.th มาใชเครองเราเปน parent หรอ sibling ได

acl client_ip src 204.150.154.20 acl local_ip src 202.150.153.0-202.150.153.255/255.255.255.0 acl child_name srcdomain cache.mychild.co.th http_access allow client_ip http_access allow local_ip http_access allow child_name icp_access allow child_name http_access deny all icp_access deny all

การกาหนด icp_access จาเปนตองกาหนดสาหรบเครองลกขายทเปน Cache server เทานนเพราะการรบสงขอมลแบบ ICP จะสามารถทาไดเฉพาะเครองทเปน Cache server สวนสองบรรทดลาง คอการปฏเสธไมใหเครองทเราไมไดกาหนดไวมาเชอมตอ เพอเปนการปองกนไมใหเครองคนอนมาแอบใช เนองจากคาเรมตนท Squid กาหนดมาใหจะอนญาตทกเครองสามารถเขาถงได

ถาตองการใหเครองลกขายสามารถเปนไดเฉพาะ sibling ไมสามารถชเราเปน parent ได ใชตวแปร miss_access ซงมตวอยางการใชดงน

acl sibling_only src 203.150.154.20 miss_access allow !sibling_only

°“√°”Àπ¥„ÀÈ Cache manager “¡“√∂„™Èß“π‰¥È Cache manager คอ โปรแกรม CGI ทชวยในการตรวจสอบการทางานของ Squid โดย

จะใหขอมลทสาคญๆ เชน การใช CPU, การใช Memory เปนตน ซงโปรแกรมนชอวา cachemgr.cgi จะมาพรอมกบ Squid อยแลว การทจะทาให cachemgr.cgi สามารถทางานไดจะตองรนผาน Web server เพราะฉะนนตองทาสาเนาไฟลนไปเกบไวยงไดเรกทอร cgi-bin ของ

Page 168: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

178 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เครอง Web server และตองกาหนดใหเครอง Web server เครองนนสามารถเขาถงได โดยกาหนดไดดงน

acl webmgr src 202.150.154.20 กาหนด acl ทชอวา webmgr แทน ip ของ Web Server acl manager proto cache_object กาหนด protocol ทใช http_access deny manager !webmgr กาหนดใหปฏเสธไมใหทกเครองเขาถงยกเวนเครอง

ทม IP 202.150.154.20 เทานน

หมายเหต การเตมเครองหมาย # หนาบรรทดใดๆ หมายความวา บรรทดนนจะไมถกอาน (เสมอนเปนคาบรรยาย)

«‘∏’°“√„™Èß“π 1. หลงจากทแกไขคาในไฟล squid.conf ใหเปนตามตองการเรยบรอยแลว กอนจะให

Squid ทางาน จะตองสงคาสงเพอสรางไดเรกทอรทใชเกบขอมลซงอาจใชเวลานานถาตองใชเนอทเกบขอมลมาก มคาสงดงน

# /usr/local/etc/squid/bin/squid -z

2. สงคาสงใหโปรแกรม Squid ทางาน

# /usr/local/etc/squid/bin/RunCache &

3. ตรวจสอบการทางานของ Squid

• ใชคาสง client ซงอยในไดเรกทอร bin ของ Squid โดยผลลพธทไดคอไฟล test ทมเนอความตรงกบหนา Homepage ของ www.nectec.or.th

# client -p 8080 http://www.nectec.or.th/ > test

4. หยดการทางานของ Squid

Page 169: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 179

# /usr/local/etc/squid/bin/squid -k shutdown

5. เมอมการเปลยนแปลงไฟล squid.conf ทกครงจะตอง restart โปรแกรม squid ใหม โดยใชคาสง

# /usr/local/etc/squid/bin/squid -k reconfigure

6. สงใหโปรแกรม squid ทางานทกครงทมการ reboot (สาหรบ Linux-SIS)

# /chmod +x /etc/rc.d/rc.squid

7. ตงคา Browser ใหชมายง Cache server

• สาหรบ Netscape Communicator

เลอก Edit -> Preferences จะไดรปท 22.1 แลวคลกท Advanced -> Proxies เลอก Manual proxy configuration

Page 170: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

180 สรางอนเทอรเนตเซรฟเวอรดวย Linux

รปท 22.1 การตงคาใน Netscape Communicator

จากรปท 22.1 ใหคลก View แลวใสชอของ Cache server และหมายเลข port ใหตรงตามทตงคาไวในไฟล squid.conf ในชอง Exceptions จะใส Domain ทเราไมตองการใหเรยกผาน Cache Server ดงรปท 22.2

Page 171: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 181

รปท 22.2 ปอนชอ Cache Server และ Port

• ตงคาใน Internet Explorer

เลอก View -> Internet options แลวจะไดตามรปท 22.3 เลอก Access the Internet using a proxy server แลวใสชอ Cache server และ port เชนเดยวกบ Netscape Communicator

Page 172: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

182 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√·°È‰¢ª—≠À“ 1. ถาใชคาสง squid -z แลวมขอความบอกวา Permission denied แสดงวา Permission

ของไดเรกทอรทระบไวในตวแปร cache_dir ไมถกตอง Owner ของไดเรกทอรนนจะตองตรงกบผใชตามทระบไวในตวแปร cache_effective_user

2. เชนเดยวกนกบขอ 1 Permission ของ log files ตองระบใหถกตอง

3. ถาเนอทดสกทเกบ log files เตม Squid จะไมสามารถทางานได

4. เมอมการกาหนดเครองทจะเปน parent แลว ควรทดสอบวาสามารถใชเครอง Cache Server เครองนนเปน parent ไดหรอไม โดยตรวจสอบทไฟล access.log ใชคาสง

Page 173: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 22 Proxy/Cache Server: Squid 183

# tail -f access.log | grep cache.school.net.th # เปลยน cache.school.net.th เปน # ชอเครองทเปน parent

(กดปม CTRL-C เพอออกจากคาสง “tail –f ” )

ถาสาเรจใน access.log จะมสถานะการตดตอกบเครอง parent ซงดงตวอยางเครอง cache.school.net.th คอเครอง Parent

203.150.154.20 TCP_MISS/200 7351 GET http://www.samart.co.th/images1/ieget_animated.gif -

FIRST_PARENT_MISS/cache.school.net.th image/gif

ถาไมมรายละเอยดเกยวกบ Parent ปรากฏอย (เชน ยงเปน DIRECT เสมอ) แสดงวาอาจมขอผดพลาดไดดงน

1. เครอง Parent ไมอนญาตใหเราชไป

2. เครอง Parent อนญาตใหกบเครองของเราแลว แต Cache Server ของเราม Forward DNS Name แตไมม Reverse DNS Name เวลาเครอง Parent ไดรบคาขอจากเรากจะทาการ Reverse DNS Lookup หาชอเครองของเรา กจะไมพบ เพราะฉะนนชอของ Cache Server ของเราควรจะมชอทลงทะเบยนกบ DNS ทง Forward และ Reverse หรออกวธหนงให Parent อนญาตใหกบ IP ของเราแทนชอ

3. ถา Cache Server ของเรามหลาย IP เพราะฉะนน ตองระบ IP ของ Cache Server โดยตองแกไขในไฟล squid.conf ทตวแปร tcp_outgoing_address และ udp_ outgoing_address ตามดวย IP ของ Cache Server ทเราตองการใหมนใชเวลาออกไปขอบรการจากเครองอน

tcp_outgoing_address 202.150.154.20

udp_outgoing_address 202.150.154.20

Page 174: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

184 สรางอนเทอรเนตเซรฟเวอรดวย Linux

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมโปรแกรม Squid ตดตงมาใหอยแลวทไดเรกทอร /usr/local

/etc/squid (และ Source Code อยท /usr/local/src) มตวอยางไฟล squid.conf ทสามารถใชสาหรบเชอมตอกบเครอขายไทยสารหรอเครอขายคอมพวเตอรเพอโรงเรยนไทยให

หากตองการให Squid ทางานทกครงทเปดเครอง ใหใชคาสง chmod +x /etc/rc.d/rc .squid หากไมตองการใหใชคาสง chmod –x /etc/rc.d/rc.squid

โปรแกรม Squid ทถกตดตงมากบ Linux-SIS เวอรชน 3.0 จะมความสามารถปองกนไซตทเราไมตองการใหคนเขาไปดได ทานสามารถเพมเตม แกไข ไฟลฐานขอมลทเกบรายชอเวบไซตทเราตองการกน ไดท /usr/local/etc/squid/etc/acl-url.conf (มตวอยางอย) เมอแกไขแลวใหเรยกใชคาสง /usr/local/etc/squid/bin/squid –k reconfigure เพอ Restart โปรแกรม Squid

การทางานจะใชโปรแกรม Redirector เวอรชน 1.1 ของ Ian Lee ตว Source Code จะอยท /usr/local/src/redirector-1.1 หรอสามารถดาวนโหลดไดจาก ftp://ftp.sbs.de/pub/www/cache /redirector/ โดยเวอรชนทใชกบ Linux-SIS จะมการแกไขเลกนอย ดเวอรชนทแกไขแลวไดท /usr/local/etc/squid/bin/redirector.pl

สาหรบทานทมความสนใจในการให Squid ทางานในแบบ Transparent Proxy ผใชไมตองตดตงคาท Web Browser ยงยาก ขอมลการใชงาน WWW จะถกดก และปอนเขาสโปรแกรม Squid โดยอตโนมต ใหอานในบทท 40 เรอง Transparent Proxy

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. Squid Homepage, http://squid.nlanr.net/Squid/

2. The NLANR Cache Project, http://ircache.nlanr.net/Cache/

3. Oskar's Squid Users Guide, http://cache.is.co.za

4. RFC 1016, RFC 2186, RFC 2187, ftp.nectec.or.th/pub/mirrors/rfc

5. Thailand Cache Project Infrastructure, http://ntl.nectec.or.th/pubnet/services/cache

Page 175: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

184 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Bind (Berkeley Internet Name Domain) เปนซอฟตแวรททาหนาทเปน DNS Server (Domain Name Service Server) ซงเปนสงทจาเปนมากสาหรบเครอขายอนเทอรเนต การอางถงทอยบนเครอขายอนเทอรเนตนนจะตองใช IP Address (เชน 202.44.204.9) แตการทเราสามารถใชชอแทน เชน www.nectec.or.th นน กทาไดเนองจากเราม DNS Server ซงทาหนาทแปลงระหวางชอกบเลข IP Address นนเอง

§«“¡‡ªÁπ¡“ ซอฟตแวรททาหนาท DNS Server นน เกดขนมาพรอมๆ กบเครอขายอนเทอรเนตในยค

แรกเลยทเดยว และซอฟตแวร BIND กจดวาเปนตวทใชกนแพรหลายมากทสด BIND พฒนาขนโดยมหาวทยาลย Berkeley ในรฐ California ประเทศสหรฐอเมรกา โดยไดรบทนสนบสนนจากรฐบาลสหรฐ จนถงเวอรชน 4.8.3 ตอมาไดรบการสนบสนนจาก บรษท Digital Equipment Corparation (ปจจบนคอ บรษท Compaq Computer Corperation) ในเวอรชน 4.9 และ 4.9.1 หลงจากนนไดรบการสนบสนนจากบรษท Vixie Enterprises สาหรบเวอรชน 4.9.2 และนบตงแตนนเปนตนมา จนถงปจจบน (ตลาคม 2541) ไดรบการสนบสนนจาก Internet Software Consortium BIND สามารถทาหนาทไดเปนทง DNS Primary, Secondary และ Cache Name Server

«‘∏’°“√µ‘¥µ—Èß โปรดอานบทท 2 เรอง DNS กอน เพอใหเกดความเขาใจการทางานของระบบ DNS และ

เขาใจความแตกตางของ Primary, Secondary และ Cache Name Server ระบบ Unix ในปจจบน

Page 176: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 23 DNS Server: Bind 185

สวนใหญจะมการตดตง DNS Server มาใหอยแลว แตอาจจะยงไมไดถกสงใหทางาน สามารถตรวจสอบวามนทางานอยหรอไมโดยใหสงดงน

# ps ax |grep named

765 ? S 0:00 named

ถาเปนอยางนแสดงวาระบบมการตดตง DNS Server และทางานไดเรยบรอยแลว (โดยมากจะถกตดตงเปน DNS Cache Server) หากไมพบบรรทดทมคาวา named ดงกลาว ใหทานตรวจสอบวาในระบบของทานมไฟล named สาหรบ Linux สวนมากจะถกตดตงอยท /usr/sbin /named หรอไม หากยงไมมทานจะตองนามาลงเอง โดยมวธการดงน

1. ดาวนโหลดโปรแกรม ftp://ftp.isc.org/isc/bind/src/ โดยแนะนาใหใชเวอรชนทขนตนดวยเลข 8 (BIND จะมอย 2 เวอรชนใหญๆ คอ 4 และ 8 เครองสมยเกาสวนมาก จะใชเวอรชน 4 กนอย วธสงเกตแบบงายๆ เวอรชน 4 จะใช Configuration file ชอ named.boot สวนเวอรชน 8 จะใช named.conf)

2. ทาการ unpack ดงน (สมมตวาใชเวอรชน 8.1.2)

# tar xzvf bind-8.1.2-src.tar.gz

3. ตวโปรแกรมจะถกแตกออกมา โปรดอานไฟล README และ/หรอ INSTALL ถาม

4. ทาการ compile โปรแกรม และทาการตดตงดงน

# cd src

# make

# make install

5. ถงขนน ทานควรจะมไฟล named อยในไดเรกทอร /usr/sbin เรยบรอยแลว ขนตอนตอไปคอจะตองสรางไฟล /etc/named.conf โดยทานอาจดจากตวอยางซงจะมใหท src/named/named.conf

หรอดงทแสดงเปนตวอยางตอไปนกได

Page 177: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

186 สรางอนเทอรเนตเซรฟเวอรดวย Linux

6. กรณทา Cache Server อยางเดยว สรางไฟล /etc/named.conf ดงน

/*

* A simple BIND 8 configuration

* For Linux-SIS Version 3.0 * [email protected], Oct 27, 1998

*/

options

directory "/var/named";

;

logging

category lame-servers null; ;

category cname null; ;

;

zone "." in

type hint;

file "root.cache"; ;

zone "0.0.127.in-addr.arpa" in type master;

file "master/127.0.0";

;

• สรางไฟล /var/named/root.cache โดยใชคาสง dig ดงน

# dig @rs.internet.nic . ns > /var/named/root.cache

• หากใชคาสง dig ไมได ใหสราง /var/named/root.cache เอง โดยมตวอยางดงน (วธใชคาสง dig จะทนสมยกวา)

Page 178: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 23 DNS Server: Bind 187

. 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET.

. 6D IN NS K.ROOT-SERVERS.NET.

. 6D IN NS L.ROOT-SERVERS.NET.

. 6D IN NS M.ROOT-SERVERS.NET.

. 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET.

. 6D IN NS B.ROOT-SERVERS.NET.

. 6D IN NS C.ROOT-SERVERS.NET.

. 6D IN NS D.ROOT-SERVERS.NET.

. 6D IN NS E.ROOT-SERVERS.NET.

. 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10

K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129

L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33

A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4

H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107

C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12

D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10

I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17

F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241

• สรางไดเรกทอร /var/named/master และสรางไฟล /var/named/master/127.0.0 ดงน (ใหเปลยน linux.schoolname.ac.th ใหเปนชอเครอง Linux Server ของทาน เชน linux.triamudom.ac.th เปนตน

@ IN SOA linux.schoolname.ac.th. root.schoolname.ac.th. ( 1 ; Serial

8H ; Refresh 2H ; Retry

1W ; Expire

Page 179: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

188 สรางอนเทอรเนตเซรฟเวอรดวย Linux

1D) ; Minimum TTL NS linux.schoolname.ac.th.

1 PTR localhost

7. หากตองการทาเปน Secondary Name Server

• ตวอยางเชน ตองการเปน Secondary Name Server สาหรบโดเมน thai.net จะตองเพมเตมขอความใน /etc/named.conf ตอทายจากในขอ 6 ดงน

zone "thai.net" in type slave;

file "slave/thai.net";

masters 202.44.202.2; ;

;

8. หากตองการทาเปน Primary Name Server ม 2 กรณ

• กรณทเปน Forward (แปลง ชอ เปน IP Address) ตวอยางเชน หากตองการเปน Primary Name Server สาหรบโดเมน schoolname.ac.th จะตองเพมเตมขอความใน /etc/named.conf ตอทายจากในขอ 6 ดงน (เปลยนจาก schoolname.ac.th เปนชอโดเมนของทาน)

zone "schoolname.ac.th." in type master;

file "master/schoolname.ac.th";

;

• และใหสรางไฟล /var/named/master/schoolname.ac.th โดยมเนอหาตวอยางดงน

@ IN SOA linux.schoolname.ac.th. root.schoolname.ac.th (

1998102701 ; serial, todays date + todays serial

8H ; refresh, seconds

2H ; retry, seconds

Page 180: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 23 DNS Server: Bind 189

1W ; expire, seconds 1D ) ; minimum, seconds

NS linux.schoolname.ac.th.

NS ns2.nectec.or.th.

MX 10 linux.schoolname.ac.th. ; Primary Mail Exchanger

localhost A 127.0.0.1

linux A 192.168.1.1

ftp CNAME linux

mx CNAME linux www CNAME linux

pc1 A 192.168.1.11 pc2 A 192.168.1.12

pc3 A 192.168.1.13

pc4 A 192.168.1.14 pc5 A 192.168.1.15

pc6 A 192.168.1.16

pc7 A 192.168.1.17 pc8 A 192.168.1.18

pc9 A 192.168.1.19

pc10 A 192.168.1.20

• กรณทเปน Reverse (แปลงกลบ IP Address เปนชอ) เชน จะทา Reverse สาหรบ IP Address 192.168.1.0/24 จะตองเพมเตมขอความใน /etc/named.conf ตอทายจากในขอ 6 ดงน

zone "1.168.192.in-addr.arpa" in type master;

file "master/192.168.1";

;

• และใหสรางไฟล /var/named/master/192.168.1 ตามตวอยางดงน (เปลยน schoolname.ac.th เปนชอโดเมนของทาน)

Page 181: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

190 สรางอนเทอรเนตเซรฟเวอรดวย Linux

@ IN SOA linux.schoolname.ac.th. root.schoolname.ac.th. ( 1998102701 ; serial, todays date + todays serial

8H ; refresh, seconds

2H ; retry, seconds

1W ; expire, seconds

1D ) ; minimum, seconds NS linux.schoolname.ac.th.

NS ns2.nectec.or.th.

;

; Servers

;

1 PTR linux.schoolname.ac.th. ;

; Workstations

; 11 PTR pc1.schoolname.ac.th.

12 PTR pc2.schoolname.ac.th.

13 PTR pc3.schoolname.ac.th. 14 PTR pc4.schoolname.ac.th.

15 PTR pc5.schoolname.ac.th.

16 PTR pc6.schoolname.ac.th. 17 PTR pc7.schoolname.ac.th.

18 PTR pc8.schoolname.ac.th.

19 PTR pc9.schoolname.ac.th.

20 PTR pc10.schoolname.ac.th.

9. เมอทกอยางเรยบรอย การตดตงให named ทางานโดยอตโนมต ทกครงทเปดเครอง

10. สาหรบ RedHat ใหใชคาสง setup และ ntstsvr แลวเลอก named

• สาหรบ Slackware ใหแกไขไฟล /etc/rc.d/rc.inet2 และเอา comment (#) ออก ตรงชวงบรรทดทเกยวกบ named

«‘∏’°“√∑¥ Õ∫°“√„™Èß“π 1. ทดสอบดวยคาสง host หรอ nslookup ตามคาแนะนาในภาคท 1 สาหรบทก Primary,

Secondary ทเครองเราทาหนาทอย โดยจะตองไดคาตอบทถกตอง ตามทเราระบไวในไฟลตางๆ เชน

Page 182: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 23 DNS Server: Bind 191

# host linux.schoolname.ac.th

linux.schoolname.ac.th has address 192.168.1.1

# host 192.168.1.1 localhost Using domain server:

Name: localhost

Address: 127.0.0.1 Aliases:

1.1.168.192.IN-ADDR.ARPA domain name pointer linux.schoolname.ac.th

# host -t any schoolname.ac.th. localhost

Using domain server:

Name: localhost Address: 127.0.0.1

Aliases:

schoolname.ac.th start of authority linux.schoolname.ac.th

root.schoolname.ac.th.schoolname.ac.th

( 1998102701 ;serial (version)

28800 ;refresh period

7200 ;retry refresh this often

604800 ;expiration period

86400 ;minimum TTL

) schoolname.ac.th name server linux.schoolname.ac.th

schoolname.ac.th name server ns2.nectec.or.th

schoolname.ac.th mail is handled (pri=10) by linux.schoolname.ac.th

# host -t any 1.168.192.in-addr.arpa localhost Using domain server:

Name: localhost Address: 127.0.0.1

Aliases:

1.168.192.in-addr.arpa start of authority linux.schoolname.ac.th

root.schoolname.ac.th

Page 183: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

192 สรางอนเทอรเนตเซรฟเวอรดวย Linux

( 1998102701 ;serial (version)

28800 ;refresh period

7200 ;retry refresh this often

604800 ;expiration period

86400 ;minimum TTL )

1.168.192.in-addr.arpa name server linux.schoolname.ac.th

1.168.192.in-addr.arpa name server ns2.nectec.or.th

°“√·°È‰¢ª—≠À“ หากผลการทดสอบดแลวไมเปนไปตามทควรจะเปน

1. ตรวจสอบวา Server ทางาน อยหรอเปลา โดยใชคาสง ps ax ดงทแสดงไวขางตน

2. กวา 90 % ของความผดพลาดในการตดตง DNS Server มาจากการสะกดผด ในแตละ Configuration File ซงความผดพลาดเพยงนดเดยว ทาใหไมสามารถใชงานได

3. ใชคาสง tail /var/adm/messages เพอดการทางานของ named ชวยในการหาสาเหตของปญหา

”À√—∫ºŸÈ„™È Linux-SIS 3.0 1. named ไดทาการตดตงใหทางานโดยอตโนมตในแบบ name cache เรยบรอยแลว

2. มตวอยางทงหมดทแสดงในบทน เรยบรอยแลว ในไดเรกทอร /var/named หากตองการใชงานในกรณ Primary และ Secondary ใหแกไข linux.schoolname.ac.th เปนชอเครอง Linux Server และโดเมนของทานตามความตองการ

Page 184: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 23 DNS Server: Bind 193

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. BIND, http://www.isc.org/bind.html

2. DNS-HOWTO, ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/DNS-HOWTO

3. Thai DNS-HOWTO, http://ftp.nectec.or.th/pub/thailinux/docs/howto/html/dns.html

Page 185: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

194 สรางอนเทอรเนตเซรฟเวอรดวย Linux

บทนจะกลาวถง SMTP ซงเปนโปรโตคอลหลกทใชในการรบและสงจดหมายอเลกทรอ–นกสในเครอขายอนเทอรเนต (นอกจาก SMTP กม X.400, CC Mail, Microsoft Mail แตจะไมกลาวถงในทน) การตดตง และการใชงาน SMTP Server โดยจะอางองโปรแกรม sendmail ซงจดไดวาเปน SMTP Server ทใชกนแพรหลาย และมประสทธภาพสง ในทายบทจะมวธการตดตงให sendmail สามารถปองกนการถกผไมประสงคดใชเปนเครองสง Spam E-mail และการกนไมใหรบจดหมายอเลกทรอนกสจากเครองทเราทราบวาชอบสง Spam E-mail มารบกวนผใชของเราดวย

SMTP Server การรบและสงจดหมายอเลกทรอนกสในเครอขายอนเทอรเนตนน จะใชโปรโตคอล SMTP

(Simple Mail Transport Protocol) จากรปท 26.1 จะแสดงถงการรบสงจดหมายอเลกทรอนกสระหวางสองหนวยงาน แตละหนวยงานจะม POP/IMAP Server (ใชในการอานจดหมายอเลก–ทรอนกส โปรดดรายละเอยดบทถดไป), SMTP Server (ใชในการรบและสงจดหมายอเลกทรอนกส) ซงอาจจะอยบนคอมพวเตอรเครองเดยวกนกได และจะมสวน User Mailbox ซงเปนพนทดสกทเกบจดหมายอเลกทรอนกสของผใชแตละคน

สมมตวา ผใชในหนวยงาน A ตองการจะสงจดหมายอเลกทรอนกส ไปยงเพอนทอยในหนวยงาน B กตองเรยกโปรแกรม E-mail Client เชน Netscape Mail, Eudora, Microsoft Outlook แตงจดหมายใหเรยบรอย เมอกดปม Send โปรแกรมกจะทาการสงจดหมายฉบบนนไปยง SMTP Server ของหนวยงาน A ซงตองระบไวทตว E-mail Client ในหวขอ SMTP/Outgoing Mail Server นนเอง

Page 186: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 195

InternetUser(E-mail Client)

POP/IMAPServer

Read/Delete

Send

SMTPServer

UserMailbox

Company A

User(E-mail Client)

POP/IMAPServer

Read/Delete

Send

SMTPServer

UserMailbox

Company B

รปท 24.1 แสดงการรบและสงจดหมายอเลกทรอนกส

เมอ SMTP Server ของหนวยงาน A ไดรบจดหมายจากผใช กจะทาการตรวจดวา ตองการสงไปถงใคร และทาการตรวจสอบ DNS MX record ของโดเมนนนวาระบใหไปท SMTP Server ปลายทางตวใด เราอาจใชคาสง host ทดสอบไดเอง ตวอยางเชน ถาผใชตองการสงไปยง ott@ school.net.th สามารถตรวจสอบหา MX ของโดเมน school.net.th ไดดงน

# host -t mx school.net.th

school.net.th mail is handled (pri=1) by user.school.net.th

กรณนจะเหนวา MX Record ของ school.net.th ชไปทเครอง user.school.net.th SMTP Server กจะทาการสงตอจดหมายอเลกทรอนกสของผใชคนไปยงเครอง user.school.net.th ตอไป

กรณทม MX Record หลายตว ปกตจะใชตวทมเลข Priority นอยกวากอน หากลองแลวมปญหา หรอเครอง Server ตวแรกนน ไมทางาน กจะใชตวถดไป ตวอยางเชน

# host -t mx cnn.com

cnn.com mail is handled (pri=10) by mail.turner.com

cnn.com mail is handled (pri=30) by alfw2.turner.com

กรณน หากผใชตองการสงไป <user>@cnn.com SMTP Server ของหนวยงานผสง จะสงตอจดหมายไปยงเครอง mail.turner.com กอน หากมปญหาหรอเครอง mail.turner.com ไมทางาน จะสงตอไปให alfw2.turner.com แทน

Page 187: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

196 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในกรณทไมสามารถตรวจสอบ MX Record ได เชน ระบใหสงไปท [email protected]. net.th (ลองใช host –t mx user.school.net.th แลวดผล) SMTP Server ของผสง จะสงไปยงเครอง user.school.net.th เลย

กรณท SMTP Server ของผสงไมสามารถตดตอ SMTP Server ปลายทางได หรอตดตอไดแตถกปฏเสธมา (เชน User Not found, Quota Exceed) จดหมายฉบบนนกจะเดงกลบไปยง ผสง โดยจะบอกถงเหตผลและปญหาทเกดขน

ทนลองพจารณาถงฝงรบกนบาง จากรป SMTP Server ของหนวยงาน A นอกจากจะทาหนาทสงตอจดหมายจากผใชภายในของหนวยงาน A ไปยง SMTP ปลายทางทเหมาะสมแลว ยงตองรบจดหมายจาก SMTP Server ของหนวยงานอนๆ ทจาหนามาถง ผใชภายในหนวยงาน A เองดวย เมอมการตดตอเขามาจาก SMTP Server อน SMTP Server กจะตรวจสอบจดหมายทเขามาวา จาหนาถงผใด เปนผใชของหนวยงานเราจรงหรอเปลา ตวอยางเชน ในกรณดานบน เครอง user.school.net.th ทาหนาทเปน SMTP Server ของโดเมน school.net.th ทงโดเมน (ตองระบใน Configuration File ไว) กตองดวาจดหมายทเขามา สงมายง <user>@school.net.th หรอเปลา ถาใชกรบไว ถาไมใชกตอบปฏเสธไป วาไมมผใชชอน SMTP Server ทสงมากจะเดงกลบจดหมายฉบบนนไปยงผสงตอไป

SMTP Server จะทางานท Port 25 เปนมาตรฐาน มหลายซอฟตแวรททาหนาท SMTP Server ได เชน Netscape Messenger, Sendmail, Qmail, Smail รวมถง Microsoft Exchange และ Lotus Notes ในทนจะกลาวถง Sendmail ซงจดวาเปนตวทใชกนแพรหลายในเครอขาย อนเทอรเนต มประสทธภาพและความออนตวสงรวมถงความซบซอนในการตดตงและใชงานดวย นอกจาก SMTP Sendmail ยงสามารถรบสงจดหมายอเลกทรอนกสโดยใช UUCP ไดดวย Sendmail สามารถทาหนาทเปน SMTP Server ใหกบหลายๆ โดเมนโดยใชเครองเพยงเครองเดยว เชน เครอง user.school.net.th อาจะเปน SMTP Server ใหกบทงโดเมน nectec.or.th และ school.net.th ได และมคณสมบตทจะ forward mail ระหวางโดเมน และอนๆ อกมากมายซงจะกลาวตอไป

การสงจดหมายอเลกทรอนกสนน โดยปกตกจะมกฎกตกามารยาทกนอย คอ ไมควรสง จดหมายโฆษณาสนคาหรอบรการ รวมถงจดหมายทมเนอหาใดๆ ทผรบไมไดมความตองการหรอรองขอ คลายกบการใชโทรศพทตามบานเรานนเองทเราไมควรจะโทรไปคยเรองไมเหมาะสม โดยทไมรจกมกจกบผรบมากอน หรอไปโฆษณาขายของ อยางไรกด บนเครอขายอนเทอรเนต กยงมผทไมเขาใจในมารยาทอนนอย กลบนยมทจะสงจดหมายขายของโฆษณาสนคาของตวเอง ไปรบกวน

Page 188: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 197

ผใชทละหลายพนคน ทละหลายๆ ฉบบ จดหมายพวกนเราเรยกวา Spam E-mail หากมจดหมายรบกวนจากคนเหลานบอยๆ เราสามารถตงคาท SMTP Server ของเราใหปฏเสธไมรบจดหมายอเลกทรอนกสจากโดเมนบางโดเมนได เชน เราพบวามจดหมาย Spam มาจาก spamhost.spam.net มามากมาย รบกวนผใชของเรามาก เรากใสตงคาท SMTP Server ใหไมรบการตดตอใดๆ จาก spamhost.spam.net ได

ปจจบนมบรการทรวบรวมชอ Server/Domain ทมการสงจดหมาย Spam เหลานมารบกวน เราสามารถทจะขอรบรายชอเหลาน และใหซอฟตแวร SMTP Server (เชน Server) ทาการ Block โดยอตโนมตได สามารถหารายละเอยดเพมเตมไดท http://maps.vix.com/rbl/

การสง Spam E-mail ไปรบกวนผอน นบเปนการผดมารยาทเพยงพอแลว แตยงไปกวานน ยงมบางคนทตองการจะสง Spam E-mail ไปรบกวนผอน แตตระหนไมอยากใหเครอง SMTP Server ของตวเองทางานหนก กลบมาใช SMTP Server ของเราเปนตวเผยแพร Spam E-mail แทน เครองของเรากจะตองทางานหนกโดยไมจาเปน และผรบ Spam E-mail นน กจะโกรธเคอง นกวาเราเปนผสง Spam E-mail เสยเองกได ภยอนน สามารถแกไขไดโดยตงคาท SMTP Server ให

• รบการตดตอจากผใชภายในของหนวยงานตวเอง (อาจระบเปนโดเมน หรอ IP Address)

• รบการตดตอจาก SMTP Server ภายนอก กรณทตองการสงจดหมายอเลกทรอนกส มายงผใชภายในของเรา

• นอกเหนอจากน ใหปฏเสธการตดตอ

การตงคาเหลานมความสาคญ ซงจะไดกลาวในรายละเอยดตอไป นอกเหนอจากการทาให SMTP Server ของเราทางานไดแลว ซอฟตแวร SMTP Server สวนใหญ คา Default ทตดมา จะไมไดปองกนเหลาน จงอาจเปนงานทเราตองทาเพมเตม ทานสามารถไปท http://maps.vix.com /tsi/ar-test.html เพอทดสอบวา SMTP Server ของทาน มการตดตงใหปองกนการตกเปนเหยอของผไมหวงดเหลานแลวหรอยง

ระบบสวนใหญจะมการตดตง Sendmail มาใหอยแลว ทานสามารถลองคนหาไฟลวามไฟล /usr/sbin/sendmail หรอไม (อาจอยทอนกเปนได) และลองใช ps ax |grep sendmail เพอดวาโปรแกรม sendmail ทางานอยหรอไม หรอ อาจใชวธ telnet <ชอ เครอง> 25 โดย 25 หมายถง Port ตามปกต Sendmail จะทางานอยท Port 25 ตามตวอยางดงน

Page 189: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

198 สรางอนเทอรเนตเซรฟเวอรดวย Linux

>telnet openmind 25 Trying 203.150.154.28...

Connected to openmind.nectec.or.th.

Escape character is '^]'.

220 openmind.nectec.or.th ESMTP Sendmail 8.9.1/8.9.1; Sun, 13 Dec 1998

00:14:02 +0700

quit 221 openmind.nectec.or.th closing connection

Connection closed by foreign host.

ถาผลทไดเปนอยางน กคอระบบของทานมการตดตงและใชงาน Sendmail อยแลว อาจไมจาเปนตอง Compile ใหม

«‘∏’µ‘¥µ—Èß Sendmail 1. ไปท http://www.sendmail.org/ เพอดาวนโหลด Sendmail เวอรชนลาสด เชน

sendmail.8.9.3.tar.gz ควรใชเวอรชน 8.9 ขนไป

2. Uncompress (tar xzvf sendmail.8.9.3.tar.gz)

3. Sendmail เปนโปรแกรมทมรายละเอยดในการตดตงและความซบซอนสง โปรดอานไฟล README และไฟลในไดเรกทอร doc/

4. ใชคาสง Build และ Build install ในไดเรกทอร src เพอ Compile และตดตง Sendmail

5. สราง sendmail.cf, sendmail.cf เปน Configuration File หลกของ Sendmail ตามปกต Configuration File ทวๆ ไป ทานสามารถเขาไปแกไขเพอใหเปนตามความตองการในระบบของทานไดทนท Sendmail กเปนเชนนน แตเนองจากไฟล sendmail.cf จะมความซบซอนมาก ถาตองการแกไขในปรมาณเยอะๆ อาจไมสะดวก จงมการนามาโคร มาใช (M4) โปรดอานไฟล cf/README กอนททานจะสราง sendmail.cf ใหมดวย ตนเอง

Page 190: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 199

6. ตวอยาง การสราง sendmail.cf ดงน

# /usr/local/src/sendmail-8.9.3/cf/cf# cp tcpproto.mc linux-sis.mc

7. แกไขไฟล linux-sis.mc ดงน

VERSIONID(`Linux-SIS Version 3.0 Default Configuration File')dnl

OSTYPE(linux) MAILER(local)dnl

MAILER(smtp)dnl

FEATURE(nouucp)dnl FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)

FEATURE(domaintable, hash -o /etc/mail/domaintable) FEATURE(virtusertable, hash -o /etc/mail/virtusertable)

FEATURE(access_db, hash -o /etc/mail/access)

• VERSIONID สามารถแกไดตามตองการ

• OSTYPE=Linux บอกให ทราบวาระบบปฏบตการเปน Linux

• MAILER=local หมายถงสามารถสงจดหมายไปถง User Mailbox ในเครองของเราเอง สวน smtp หมายถงสงโดยใช SMTP โปรโตคอล ทานอาจระบ uucp หากจะสงโดยใชโปรโตคอล UUCP

• FEATURE จะเปนคณสมบตเพมเตมทเราตองการให Sendmail ทา ในทนไดใสไว 5 อยาง อนจะไดอธบายวธใชตอไป

• LOCAL_CONFIG จะเปนสวน Configuration เพมเตมทจะใหมใน sendmail.cf สาหรบระบบของเรา

8. หลงจากนนใชคาสง m4 สราง ไฟล .cf ของเราเองดงน

/usr/src/sendmail/cf/cf# m4 ../m4/cf.m4 linux-sis.mc > linux-sis.cf

Page 191: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

200 สรางอนเทอรเนตเซรฟเวอรดวย Linux

9. แกไขไฟล linux-sis.cf เพมเตม เชน แกจาก #O PrivacyOptions=authwarnings เปน O PrivacyOptions=goaway เพอลดความเสยงดานความปลอดภยใหกบระบบของทาน

10. หลงจากนน Copy ไฟล linux-sis.cf ไปเปน /etc/sendmail.cf

11. สรางไฟล /etc/sendmail.cw โดยใหมเนอหาเปนรายชอโดเมนทถาจดหมายอเลกทรอนกสท SMTP Server อนสงมาใหกบเครองของทานมจาหนาผรบอยภายใตโดเมนในไฟลนกใหรบไว ตวอยางเชน ถาสาหรบเครอง user.school.net.th กควรม /etc/sendmail.cw ทมคาวา school.net.th อย หากมหลายโดเมนใหเวนบรรทด ตวอยางดงน

domain1.ac.th

domain2.ac.th

domain3.ac.th

12. สรางไฟล /etc/mail/relay-domains โดยใหมเนอหาเปนโดเมน หรอ IP Address ของหนวยงานภายในของเราเอง (ทสามารถใชเครองนเปน SMTP Server เพอสง E-mail ได) ตวอยางเชน

nectec.or.th

202.44.204

13. Start Sendmail หากไมได Start อยแลวโดยใชคาสง sendmail –bd –q 15m หาก Start อยแลว ใหหยดการทางานกอน โดยใชคาสง ps ax |grep sendmail เพอหา PID และ kill <PID> แลวคอย Start ใหม

14. หากทานยงไมไดใสไวใน Startup script กอาจใสไววา “/usr/sbin/sendmail –bd –q 15m” เพอให Sendmail ทางานทกครงทเครองบต

Page 192: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 201

Configuration File ‡æ‘Ë¡‡µ‘¡ • /etc/aliases ใชเพอสงตอจดหมายอเลกทรอนกสทสงมาสาหรบผใชภายในเครองของ

เราใหไปทผใชอนหรอเครองอน รวมถงสามารถใชสราง Mailing List อยางงายไดดวย ตวอยางเชน

postmaster: root # จดหมายสาหรบ postmaster จะวงไปหา root แทน user1: [email protected] # จดหมายสาหรบ user1 ใหสงตอไปยง # [email protected] แทน user2: \user2, [email protected] # จดหมายสาหรบ user2 ใหสงตามปกตถง user2 # และทาสาเนาสงตอไปยง [email protected] ดวย list1: :include:/etc/mail/list1 # จดหมายทมาท list1 ใหสงตอไปยงผใชทกคน # ทมรายชออยในไฟล /etc/mail/list1

• หลงจากการแกไขไฟล /etc/aliases ใหใชคาสง newaliases เพอใหมผลตอการใชงาน

• /etc/mail/access ไฟลนจะสามารถใชเกบ ชอผใช โดเมน ทเราไมตองการรบจดหมายอเลกทรอนกสมาได (พวกทชอบสง Spam E-Mail มาหาผใชของเรา) ตวอยางเนอหาดงน

[email protected] REJECT

cyberspammer.com REJECT

206.117.147 REJECT

• หมายความวา ไมรบจดหมายจากผใชชอ [email protected], จากเครอง cyber–spammer.com และจากเครองใดๆ ทม IP Address ขนตนดวย 206.117.147

• หลงจากแกไขไฟล /etc/mail/access แลว ใหใชคาสง

# cd /etc/mail ; makemap hash access < access

• Restart Sendmail

Page 193: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

202 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• /etc/mail/domaintable ใชในเวลาทเครองของเรา ใหบรการเปน SMTP Server ใหกบหลายโดเมน และตองการสงตอจดหมายของผใชจากโดเมนหนงไปยงอกโดเมนหนง เชน ใหบรการ SMTP Server กบโดเมน domain1.co.th และ domain2.co.th และตองการใหจดหมายทจาหนาถง <user>@domain1.co.th ถกสงตอไปยง <user>@ domain2.co.th ใหใสในไฟล /etc/mail/domaintable ดงน

domain1.co.th domain2.co.th

• หลงจากแกไขไฟล /etc/mail/domaintable แลว ใหใชคาสง

# cd /etc/mail ; makemap hash domaintable < domaintable

• Restart Sendmail

• /etc/mail/virtusertable ใชในเวลาทเครองของเรา ใหบรการเปน SMTP Server ใหกบหลายโดเมน และตองการสงตอจดหมายของผใชจากโดเมนหนงไปยงอกโดเมนหนง โดยระบเปนรายคน (ไมใชทงโดเมน) เชน ใหบรการ SMTP Server กบโดเมน domain1.co.th และ domain2.co.th และตองการใหจดหมายทจาหนาถง [email protected] ถกสงตอไปยง [email protected] ใหใสในไฟล /etc/mail/virtusertable ดงน

[email protected] [email protected]

• หลงจากแกไขไฟล /etc/mail/virtusertable แลว ใหใชคาสง

# cd /etc/mail ; makemap hash virtusertable < virtusertable

• Restart Sendmail

Page 194: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 203

«‘∏’„™Èß“π หลงจากท Sendmail ทางาน ซงตรวจสอบได โดยใชคาสง ps ดงน

# ps ax |grep sendmail

29190 ? S 0:00 sendmail: accepting connections on port 25

เรากจะได SMTP Server สาหรบรบและสง จดหมายอเลกทรอนกสสาหรบหนวยงานของเรา ทดลองใช E-mail Client สง E-mail โดยตงคา SMTP (หรอ Outgoing บางโปรแกรม) Mail Server มาทเครองน และลองสง E-mail มาจากหนวยงานอนๆ ดวาเครองนจะรบหรอไม

°“√·°È‰¢ª—≠À“ • หากลองใชโปรแกรม E-mail Client แลวตงคา SMTP, Outgoing Server มาทเครองน

แลวปรากฏวา ไมสามารถสงจดหมายออกได โดยม Error วา Relaying Denied แสดงวาทานยงไมไดใสชอหรอ IP ของเครองพซทโปรแกรม E-mail Client นนทางานอยลงไปใน /etc/mail/relay-domains

• อยาลมใชคาสง newaliases หลงจากทแกไข /etc/aliases

• อยาลมใชคาสง makemap และ Restart Sendmail หลงจากทแกไฟลตางๆ ใน /etc/mail/

• ทานสามารถทดสอบการทางานของ Sendmail โดยการใชคาสง telnet ดงตวอยางน (ตวเอยงคอทเราพมพเขาไป)

~>telnet openmind.nectec.or.th 25 Trying 203.150.154.28...

Connected to openmind.nectec.or.th. Escape character is '^]'.

220 openmind.nectec.or.th ESMTP Sendmail 8.9.1a/8.9.1; Sun, 13 Dec 1998

02:18:42 +0700

ehlo nectec.or.th

Page 195: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

204 สรางอนเทอรเนตเซรฟเวอรดวย Linux

250-openmind.nectec.or.th Hello nucleus.nectec.or.th [202.44.204.9], pleased to

meet you

250-8BITMIME

250-SIZE

250-DSN 250-ONEX

250-XUSR

250 HELP

mail from: [email protected] 250 [email protected]... Sender ok rcpt to: [email protected] 250 [email protected]... Recipient ok

data 354 Enter mail, end with "." on a line by itself

hello . 250 CAA29496 Message accepted for delivery quit 221 openmind.nectec.or.th closing connection

Connection closed by foreign host.

ลองใชวธนจากเครองทไมไดอยใน /etc/mail/relay-domains ทานจะเหนคาปฏเสธ Error Relaying Denied

• ในการแกไขไฟลพวก domaintable, virtusertable ทานสามารถใชคาสง sendmail –bt เพอทดสอบกอนทจะ Restart Sendmail ใหมผลจรง ตวอยางเชน สรางไฟล /etc/mail/virtusertable มเนอหาดงน

[email protected] [email protected]

• ใชคาสง cd /etc/mail ; makemap hash virtusertable < virtusertable

• ทดสอบโดยใชคาสง sendmail –bt ดงน

# sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)

Page 196: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 24 SMTP Server: Sendmail 205

Enter <ruleset> <address> > 3,0 [email protected] < @ otto . com . >

[…]

rewrite: ruleset 199 returns: ott < @ pupe . com . >

rewrite: ruleset 98 input: ott < @ pupe . com . > rewrite: ruleset 98 returns: ott < @ pupe . com . >

rewrite: ruleset 198 input: ott < @ pupe . com . >

rewrite: ruleset 95 input: < > ott < @ pupe . com . >

rewrite: ruleset 95 returns: ott < @ pupe . com . >

rewrite: ruleset 198 returns: $# esmtp $@ pupe . com . $: ott < @ pupe .

com . > rewrite: ruleset 0 returns: $# esmtp $@ pupe . com . $: ott < @ pupe .

com . >

rewrite: ruleset 97 returns: $# esmtp $@ pupe . com . $: ott < @ pupe .

com . >

rewrite: ruleset 198 returns: $# esmtp $@ pupe . com . $: ott < @ pupe .

com . > rewrite: ruleset 0 returns: $# esmtp $@ pupe . com . $: ott < @ pupe .

com .>

>

• จะเหนวาการแสดงการทางานของแตละ Ruleset ของ Sendmail (กรณนเราจะทดสอบ Ruleset 3 และ 0 ซงใชในการสงจดหมายอเลกทรอนกสออก โปรดอานเอกสารเพมเตม หากทานสนใจในการทางานของแตละ Ruleset อยางละเอยด) และในบรรทดสดทายจะแสดงวา [email protected] จะถกสงตอไปยง [email protected]

• กดปม CTRL-D เพอออกจาก Sendmail Test Mode

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมการตดตง Sendmail 8.9.3 ตามทระบไวในบทน ทานสามารถ

แกไข Configuration File /etc/aliases, /etc/sendmail.cw และ ใน /etc/mail/ ไดหากตองการ

Page 197: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

206 สรางอนเทอรเนตเซรฟเวอรดวย Linux

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • เอกสารทมากบโปรแกรม Sendmail รวมทง man page • RFC 821, 822 • RFC 974, 976, 1123, 1344, 1428, 1413, 1869, 1652, 1840, 1891, 1892, 2045,

1893, 1894, 1985 • http://www.sendmail.org • http://maps.vix.com/tsi/ar-test.html • http://maps.vix.com/rbl/

Page 198: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

206 สรางอนเทอรเนตเซรฟเวอรดวย Linux

POP (Post Office Protocol) และ IMAP (Internet Message Access Protocol) เปน โปรโตคอลทใชในการอานจดหมายอเลกทรอนกส ในหวขอนจะกลาวถงความเปนมา วธการตดตง วธการใชงาน แกไขปญหา POP/IMAP Server และแนะนาแหลงขอมลเพมเตม

§«“¡‡ªÁπ¡“ POP (Post Office Protocol) เปนโปรโตคอล เพออานวยความสะดวกกบผใชในการอาน

จดหมายอเลกทรอนกส ลกษณะการทางานจะเปนแบบ Client Server ม 2 สวนคอ POP Server และ POP Client ปจจบนพฒนาถงเวอรชน 3 เรยกวา POP3 ลกษณะการทางานจะงาย ไม ซบซอน สวน IMAP (Internet Message Access Protocol) จะเปนอกโปรโตคอลหนงททาหนาทคลายกน แตมการทางานทซบซอน และมคณสมบตตางๆ มากกวา เชน สามารถดเฉพาะสวนหวของจดหมาย แลวคอยเลอกวาจะดาวนโหลดมาหรอไมได (ตางจาก POP ซงเลอกไมได ตองเอามาทงหมด), ลบบางจดหมาย สรางแฟมเกบจดหมายอเลกทรอนกสเพมเตมบน Server ได คนหาขอความได ปจจบนพฒนาถงเวอรชน 4 เรยกวา IMAP4

การทางานของ POP เปรยบเสมอนทพกชวคราวของจดหมายอเลกทรอนกส เมอเรามโอกาสกเขาไปยายมาไวทเครองของเรา สวน IMAP จะเหมอนกบ File Server คอ ตวจดหมายจะเกบอยท Server ตวโปรแกรม E-mail Client จะเขาไปอาน ลบ จดระเบยบ โดยทตว Mail ยงคงอยบนเครอง Server (แตเรากสามารถจะทาสาเนาจดหมายมาทเครองสวนตวของเรา แลวลบบน Server ทงกได)

Page 199: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 25 POP/IMAP Server: University of Washington 207

โปรแกรม E-mail Client สวนมากจะสนบสนน POP3 แตตวทใหมๆ กจะสนบสนน IMAP4 ดวย เชน Netscape Communicator เวอรชน 4 ขนไป, Microsoft Outlook Express โดยเรา จะตองตงคาในโปรแกรม เลอกวาจะอานจดหมายอเลกทรอนกสแบบใช POP หรอ IMAP และ POP/IMAP Server นนๆ ชออะไร (บางทเรยกวา Incoming Mail Server)

«‘∏’°“√µ‘¥µ—Èß ระบบ Unix ในปจจบนสวนใหญจะมการตดตง POP/IMAP Server มาใหอยแลว โดย

สามารถตรวจสอบไดโดยดใน /etc/inetd.conf วามบรรทดตามตวอยางนหรอไม ถาม กมแนวโนมวาระบบของทานมการตดตงมาอยแลว

pop3 stream tcp nowait root /usr/local/etc/ipop3d ipop3d imap4 stream tcp nowait root /usr/sbin/tcpd imapd

บางระบบอาจตดตงมาเปน IMAP2 ไมใช IMAP4 ถาเปนอยางนทานอาจตอง Upgrade เปน IMAP4

ยงมอกวธหนง ทใชทดสอบวาเครองของเราทาหนาทเปน POP3/IMAP4 Server หรอไม โดยใชคาสง telnet โดยตรงไปยง Port ท POP3/IMAP4 ทางาน ตวอยาง ทดสอบไปท Port 110 (POP3) ดงน

$ telnet openmind 110 Trying 203.150.154.28... Connected to openmind.nectec.or.th.

Escape character is '^]'.

+OK openmind POP3 Server (Version 1.005l) ready at <Sun Dec 13 17:06:37 1998>

user ott +OK please send PASS command pass <ใสรหสผาน> +OK 0 messages ready for ott in /usr/spool/mail/ott

quit +OK openmind POP3 Server (Version 1.005l) shutdown.

Connection closed by foreign host.

Page 200: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

208 สรางอนเทอรเนตเซรฟเวอรดวย Linux

สาหรบ IMAP (port 143) ตวอยางดงน

$ telnet openmind 143 OK openmind.nectec.or.th IMAP4rev1 v11.241 server ready

(กด CTRL-]) telnet> quit Connection closed by foreign host.

นอกจากนอาจใช E-mail Client ลองตงคา Incoming Mail Server ไปทเครอง POP/IMAP Server เพอทดสอบเลยกได หากระบบของทานมการตดตง POP3/IMAP4 Server ทใชงานไดอยแลวกไมมความจาเปนตองตดตงใหม

«‘∏’°“√µ‘¥µ—Èß 1. ใหดาวนโหลดโปรแกรม IMAPd ยหอทแนะนาคอ ของมหาวทยาลยวอชงตน (จะม

POP3 Server มาใหดวย) สามารถดาวนโหลดไดท http://www.washington.edu/imap/

2. ทาการ unzip และ untar ดงน

~>tar xzvf imap4.4.tar.gz

3. ใชคาสง

• make sl4 สาหรบระบบ Linux ทใช -lshadow ในการเรยกใชฟงกชน crypt()

• make sl5 สาหรบระบบทม Shadow Password อยแลว เชน Slackware 3.4, 3.5, 3.6, Linux-SIS 3.0

• make slx สาหรบระบบทใช Glibc เชน RedHat 5.0 ขนไป

4. หลงจาก Compile ทกอยางเรยบรอยแลว ทาสาเนาไฟล imapd/imapd, ipopd/ipop3d ไปยง /usr/sbin (หรอทอนๆ กไดถาตองการ)

Page 201: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 25 POP/IMAP Server: University of Washington 209

5. เพมเตมในไฟล /etc/services (อาจมอยแลว) ดงน

pop3 110/tcp pop3 110/udp imap4 143/tcp

imap4 143/udp

6. เพมเตมในไฟล /etc/inetd.conf (อาจมอยแลว) ดงน

pop3 stream tcp nowait root /usr/local/sbin/ipop3d ipop3d

imap4 stream tcp nowait root /usr/sbin/tcpd imapd

7. Restart INED (killall –1 inetd)

8. สามารถทดสอบการทางานของ POP3 Server โดยใชวธการ telnet ไปยง Port ปอนชอผใชและรหสผาน ดงตวอยางขางตน

9. สามารถทดสอบการทางานของ IMAP4 Server ไดโดยใชโปรแกรม mtest (มมากบ IMAPd) อยในไดเรกทอร mtest ตวอยางดงน

openmind:/usr/local/src/imap-4.4/mtest# ./mtest MTest -- C client test program

Personal name: Pattara Kiatisevi Debug protocol (y/n)?n Mailbox ('?' for help): openmind.nectec.or.thINBOX %rsh to IMAP server timed out

[Trying IP address [203.150.154.28]]

[openmind.nectec.or.th IMAP4rev1 v11.241 server ready]

openmind.nectec.or.th/imap username: ott Password:

[Mailbox is empty]

Sun, 13 Dec 1998 17:26:15 +0700 (ICT)

imap mailbox: openmind.nectec.or.th:143/imap/user=ottINBOX, 0

messages, 0 recent

MTest>quit

Page 202: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

210 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√·°È‰¢ª—≠À“ 1. ลองใชคาสง telnet <ชอเครอง> 110 และ/หรอ telnet <ชอเครอง> 143 แลวแตพบ

คาตอบวา Connection refused

• แสดงวายงใสขอความใน /etc/services หรอ /etc/inetd.conf ไมถกตอง โปรดตรวจสอบ PATH ไปยงตวไฟล imapd และ ipop3d ใหถกตอง (เชน /usr/sbin/imapd)

• Restart INETD

2. telnet หรอ ใชโปรแกรม mtest ได แตเมอปอนรหสผานแลว ไดคาตอบวาไมถกตอง ทงๆ ทใสถกตองแลว

• ทานอาจใชคาสง make (sl4, sl5, slx) ไมตรงกบระบบของทาน ลองเปลยนเปนอนอน

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://www.washington.edu/imap

• RFC 1725, 1730-4, ftp://ftp.nectec.or.th/pub/rfc/

Page 203: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 26 Mailing List Server: Majordomo 211

Majordomo คอโปรแกรมททาหนาทเปน Mailing List Server สามารถจดการ Mailing List โดยมการบรหารทงายและอตโนมต ผบรหาร Mailing List สามารถสงการตางๆ ผานทาง E-mail ไมจาเปนตอง Telnet เขามาแตอยางใด สามารถสราง Mailing List แบบเฉพาะผทเปนสมาชกใน Mailing List เทานนทสามารถสง Mail ภายใน List นได หรอการสงทกอยางจะตอง Approve จากผบรหาร Mailing List กอนเทานนกได นอกจากนยงมคณสมบตพเศษอนๆ อกมากมาย ในบทนจะกลาวถงการตดตง และใชงาน Majordomo

«‘∏’°“√µ‘¥µ—Èß 1. ดาวนโหลด Majordomo ไดจาก http://www.greatcircle.com/majordomo/ จะไดไฟล

majordomo-VERSION.tar.gz VERSION เปนเลขเวอรชนในขณะนน สามารถตดตงโดยใชคาสงดงน

#gzip -cd majordomo-VERSION.tar.gz | tar xvf -

2. สรางบญชผใช majordom ใหม Group เปน Daemon, home directory เปน /usr/local/etc/majordom, Shell เปน /bin/echo สงเกตชอบญช ไมมตว o สดทาย เนองจากชอบญชยาวไดมากทสดเพยง 8 ตว ใน Linux-SIS 3.0 จะมบญชผใช majordom ทม UID 65530 และ GID 65530

3. กาหนดคาใน Makefile ใหถกตอง

Page 204: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

212 สรางอนเทอรเนตเซรฟเวอรดวย Linux

PERL = /usr/bin/perl # กาหนดไดเรกทอรของ perl ใหถกตอง W_HOME = /usr/local/etc/majordom # กาหนด home ของ majordomo ตามตองการ W_USER = 65530 # กาหนด user id ของ majordomo ตามขอ 2 W_GROUP = 65530 # กาหนด group id ของ majordomo ตามขอ 2

4. compile และตดตงโปรแกรมลงท /usr/local/etc/majordom

#make install

#make install-wrapper

5. ทดสอบวา Configuration ถกตองหรอไม

#cd /usr/local/etc/majordom

#./wrapper config-test

หมายเหต กอนการใชงาน Majordomo จะตองมการตดตง sendmail และ perl เนองจาก Majordomo เปน Script ภาษา Perl และใช sendmail ในการจดการเรองการรบสง E-mail

«‘∏’°“√„™Èß“π 1. กาหนดคาในไฟล /usr/local/etc/majordom/majordomo.cf ใหถกตอง ซงคา default ท

ใหมาสวนใหญกดอยแลว แตอาจตองแกไขคาเหลาน

$whereami = "hostname"; #บอกชอเครองใหถกตอง $whoami = "Majordomo\@$whereami"; $whoami_owner = "Majordomo-Owner\@$whereami";

if ( defined $ENV"HOME")

$homedir = $ENV"HOME"; else

$homedir = "/usr/local/etc/majordom"; #บอกชอ home ของ majordomo ใหถกตอง

Page 205: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 26 Mailing List Server: Majordomo 213

2. สราง alias สาหรบ Majordomo ในไฟล /etc/aliases เพอสามารถอางองชอ major domo@hostname

majordomo: "|/usr/local/etc/majordom/wrapper majordomo" majordomo-owner: owner-majordomo

owner-majordomo: root #บอกชอผควบคมซงจะเปนคนอนทไมใช root กได

3. สราง Mailing List

• สรางไฟล ตามชอ list พรอมทงเปลยนเปน mode เปน 644

# cd /usr/local/etc/majordom/lists #เขาไปในไดเรกทอรของ majordomo # su majordom #ใชคาสง su เพอเปน majordomo_user ~$touch <list-name> #สรางไฟล <list-name> เพอเกบรายชอของสมาชก ~$chmod 644 <list-name>

• สรางไฟล ชอ <list-name>.info เพอบอกรายละเอยดของ List น (อาจมหรอไมมกได)

• กาหนดชอ List ในไฟล /etc/aliases เชน ถาตองการสราง List ชอวา sample สามารถกาหนดไดดงน

sample: "|/usr/local/etc/majordom/wrapper resend -l sample -h hostname

sample-outgoing" sample-outgoing: :include:/usr/local/etc/majordom/lists/sample,

"|/usr/local/etc/majordom/wrapper archive2.pl -a -m -f

/usr/local/etc/majordom/lists/sample" sample-owner: owner-sample

owner-sample: root

owner-sample-outgoing: owner-sample sample-request: "|/usr/local/etc/majordom/wrapper request-answer sample"

sample-approval: owner-sample

Page 206: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

214 สรางอนเทอรเนตเซรฟเวอรดวย Linux

4. แตละ list จะตองมไฟล Configuration ของตวเอง เพอควบคม policy ตางๆ ใชคาสงดงน เพอสรางไฟล <list-name>.cf

~$echo lists | mail -v majordomo

5. การใชงาน Majordomo ผใชสามารถใชงานผานการสง email มายง majordomo @hostname ซงคาสงเหลานจะตองพมพในสวนของ Body ไมใชในสวนของ Subject สรปคาสงทใชงานไดดงน

subscribe <list> [<address>]

สมครเขาเปนสมาชกของ list นน unsubscribe <list> [<address>]

ยกเลกการเปนสมาชกของ list นน which [<address>] แสดงวา address นอยใน list ใดบาง who <list>

แสดงรายชอสมาชกภายใน list info <list>

แสดงรายละเอยดทใสไวใน <list-name>.info lists แสดงรายชอ lists ทอยใน Majordomo server help

แสดงการใชงานคาสงตางๆ

√ÿª«‘∏’°“√„™Èß“π 1. สราง alias ของ majordomo ในไฟล /etc/aliases

2. สรางไฟลตางๆ ตามชอ list ในไดเรกทอร ~majordom /lists 3. สรางไฟล Configuration ของแตละ list กาหนดเงอนไขตางๆ ของแตละ list ไดทน

Page 207: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 26 Mailing List Server: Majordomo 215

4. ทดสอบโดยการ subscribe <list-name> และตรวจสอบวามชอในไฟล ~majordomo_ home/lists/<list-name> หรอไม

5. ทดสอบการสง email ไปท <list-name>@hostname วาสมาชกไดรบ email หรอไม

ª—≠À“·≈–«‘∏’·°È‰¢ 1. เมอ subscribe ไปแลวไดรบ mail ตอบกลบมาดงน ตองตรวจสอบเรอง permission

ของไฟล majordomo_home/lists/<list-name> วาม owner และ group ตรงตามกาหนดไวใน ขนตอนการตดตงหรอไม

>>>> auth 65e2d578 subscribe sample [email protected]

>>> Sorry, an error has occurred while processing your request

>>> The caretaker of Majordomo ( [email protected] )

has been notified

>>> of the problem.

2. วธตรวจสอบขอผดพลาดตางๆ สามารถดไดจากไฟล ~majordomo_home/Log

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมการตดตง Majordomo มาใหเรยบรอยแลว โดย Source

Code อยท /usr/local/src ตวโปรแกรมอยท /usr/local/etc/majordom

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. Majordomo Page, http://www.inf.utfsm.cl:80/~marcos/majordomo/

2. Majordomo List Owner’s Guide, http://amelia.db.erau.edu/~andrew/majordomo /majordomo.admin.html

3. Great Circle Associates, http://www.greatcircle.com/majordomo/

4. Majordomo FAQ, http://www.greatcircle.com/majordomo/FAQ.html

Page 208: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

216 สรางอนเทอรเนตเซรฟเวอรดวย Linux

RADIUS (Remote Authentication Dial In User Service) Server ทาหนาทเปน Server ทใหบรการตรวจสอบความถกตองของชอบญช และรหสผานของผใชใหกบ RADIUS Client ซงกมกเปนอปกรณ Terminal Server ทตอกบสายโทรศพทและโมเดม เพอใหผใชเชอมตอเขาสเครอขายอนเทอรเนต โดยในหวขอนจะกลาวถงความเปนมา หลกการทางาน วธการตดตง และแนะนาแหลงขอมลเพมเตม

§«“¡‡ªÁπ¡“ ในการใหบรการอนเทอรเนตในอดต หนวยงานมกมเครอง Unix Server ททาหนาท

ใหบรการจดหมายอเลกทรอนกส และ/หรอ telnet ซงผใชแตละคนกจะมชอบญช และรหสผานอยบนเครองน ถาผใชตองการใชงานจากทบาน กตองมอปกรณ Terminal Server ตอเขากบสายโทรศพทและโมเดม ใหผใชโทรเขามา ซงเมอผใชโทรเขามากมกตอง telnet ไปยงเครอง Unix Server นน และเรยกใชโปรแกรม เชน slirp เปนตน

การใช slirp นน เปนเพยงการจาลองการใชงานอนเทอรเนตเทานน ผใชจากทบานจะไมไดรบ IP ไปจรง เพยงแตจาลองใช IP ของเครอง Unix Server มผลทาใหการใช Application ทาไดไมครบทกอยาง และ slirp ยงทาให Unix Server ทางานหนกขนดวย จงมการใชวธการใหมทเรยกวา True-IP หรอ True-PPP ซงกรณน ผใชททาการโทรเขาจะไดรบ IP จรงๆ 1 ip ตอ 1 ผใชเลย ซงวธนผใชสามารถใช Application ไดทกอยางเสมอนกบวาเปนเครองหนงบนเครอขายอนเทอรเนต ไมจาเปนตอง telnet มายงเครอง Unix Server อกตอไป แตกจะมปญหาวาจะตรวจสอบรหสผานของผใชไดอยางไร วธหนงกคอ ตองมบญชผใชอกชดหนงอยบนอปกรณ Terminal Server เมอผใชโทรเขามากจะพบ Login และ Password Prompt ของ Terminal Server เลย ซงกเปนวธทใชงานได แตจะมขอเสยคอ จะตองดแลฐานขอมลรหสผาน 2 ท (บน

Page 209: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 217

Terminal Server และบน Unix Server) และผใชจะตองจารหสผานทง 2 ตว เปนการซาซอนและยงยากตอการบรหารระบบ จงมการเปลยนมาใชโปรโตคอล RADIUS แทน โดยใหมฐานขอมลอยทเดยวคอท Unix Server และให Unix Server นนทาตวเปน RADIUS Server ดวย สวน Terminal Server กจะทาหนาทเปน RADIUS Client เมอไดรบขอมลชอบญชและรหสผานจากผใชทโทรเขามาแลวจะมการสงไปถาม RADIUS Server วาถกไหม ถาถกกจะยอมใหเขาใชงานได

ขอความทตอบกลบจาก RADIUS Server นอกจากจะบอกวารหสผานถกหรอไมแลว (โดยอาจเทยบกบ Unix Passwd Database หรอระบใน RADIUS Server Configuration File กได) อาจจะมการกาหนดคาอนๆ เชน ใหใชระยะเวลานานเทาไหร (Session-Timeout) ถาปลอยใหวางไมใชงานเกนเทาไหรใหตดสาย (Idle-Timeout) เปนตน และยงสามารถจดการดาน Accounting บนทกระยะเวลาการใชงาน ปรมาณขอมลทใชไปของผใชแตละคน

โปรโตคอล RADIUS พฒนาขนโดย Livingston Enterprises (ปจจบนรวมกบบรษท Lucent Technology) ซอฟตแวรททาหนาท RADIUS Server มมากมาย เชน ของ Livingston เอง Merit เปนตน ในทนจะกลาวถง Livingston RADIUS เนองจากเปนตวดงเดมทใชกนแพรหลาย และเปนรากฐานในการพฒนาของตวอนๆ

«‘∏’°“√µ‘¥µ—Èß ทาการดาวนโหลดโปรแกรม Livingston RADIUS (ควรใชเวอรชนไมตากวา 1.16.1) ท

ftp://ftp.livingston.com/pub/le/radius/radius-1.16.1.tar.Z หรอ http://isis.livingston.com:80/forms/one-click-dnload.cgi

ใหทาการแตกไฟลออกโดยทาตามขนตอนดงน

#gzip –cd radius-1.16.1.tar.Z | tar xvf -

ซงจะไดเปน 1 ไฟล และ 2 ไดเรกทอรดงน

1. ไฟลชอ INSTALL บอกวธการคราวๆ ในการตดตง

2. ไดเรกทอรชอ src จะเกบโปรแกรมทงหมดไว

Page 210: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

218 สรางอนเทอรเนตเซรฟเวอรดวย Linux

3. ไดเรกทอรชอ raddb (RADIUS database) เกบขอมลทใชกบเซรฟเวอร RADIUS ซงจะอธบายตอไป

กรณทตองการเปลยน PATH ทใชเกบฐานขอมล (/etc/raddb) และขอมล Account (/usr /adm/radacct) ของ RADIUS ใหแตกตางไปจากคา Default ใหทาตามขนตอนดงน

• เขาไปยงไดเรกทอร src จากนนใหทาการแกไขไฟลชอ radius.h ในสวน

/* Default Database File Names */ #define RADIUS_DIR "/usr/local/etc/raddb"

#define RADACCT_DIR "/var/adm/radacct"

โดยเปลยนเปน PATH ใหมตามทตองการ และใหทาการสรางไดเรกทอรนนๆ ในฐานะ root ขนมาดงน

#mkdir /usr/local/etc/raddb /var/adm/radacct

#chmod 700 /usr/local/etc/raddb /var/adm/radacct

• ให cd เขาไปในไดเรกทอร src เพอเตรยมทาการตดตงโปรแกรม

• ถาระบบของทานมการใช Shadow Password ใหทานแกไขไฟลชอ Makefile โดยลบขอความ “-DNOSHADOW” ในบรรทดทขนตนดวย “CFLAGS=” ออก

• ใชคาสง make จะไดไฟล radiusd (Radius Server)

#make

• ทาการคดลอกไฟลตางๆ ในไดเรกทอรชอ raddb ทไดจาก Livingston Radius ทเราแตกออกมาในตอนแรก ไปใสไวใน /usr/local/etc/raddb ซงเมอเสรจแลว ภายใน /usr/local/etc/raddb ควรจะมไฟลเหลาน (กรณมไฟลทมนามสกลเปน .example เชน clients.example กใหทาสาเนามาเปนชอ client เฉยๆ)

1. ไฟลชอ dictionary ไมจาเปนตองแกไขอะไร

Page 211: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 219

2. ไฟลชอ clients หนาทของไฟลนเปนตวระบวาจะอนญาตให Terminal Server ตวใดบางทสามารถใชบรการ RADIUS Server ของเครองเราได โดยจะมการใส คารหสผานอยดวยในไฟลน สาหรบการตงคาท Terminal Server กใหระบวา RADIUS Server อยทเครองน และตองใชรหสผานตามทระบไวในไฟลน ถาตว Terminal server ตงรหสนไมตรงกนกจะไมสามารถใชบรการ RADIUS Server จากเครองของเราได ตวอยางของไฟล Client ดงน

#Terminal Sever Name Key #------------------------------

111.22.33.44 password1

111.22.33.45 password2

3. ไฟลชอ users ไฟลนจะเปนฐานขอมลผใชหลกของ RADIUS Server จะระบวามบญชผใชใดบาง มการตรวจสอบรหสผานแบบใด และถาไดรบอนญาตแลวจะไดรบสทธในการใชงานอยางไร ตวอยางเนอหาสาหรบผใชชอ pop มดงน

pop Password="UNIX", NAS-IP-Address = "111.222.33.45"

Service-Type = Framed-User, Framed-Protocal = PPP,

Filter-Id = "101.in",

Session-Timeout = 10800,

Idle-Timeout = 600

• Username จะสามารถรองรบตวอกษรไดมากถง 63 ตว ซงตองไมมชองวางรวมอยดวย (กรณนเปน pop)

• Check Items จะเปนสวนทใชในการตรวจสอบวาจะอนญาตใหเขาใชงานหรอไม ในตวอยางนคอ สวน Password="UNIX", NAS-IP-Address = "111. 222.33.45"

สวนของ password สามารถกาหนดได 2 แบบคอ

1. ชนดแบบ Local แบบนสามารถทาไดโดยตงคาลงไปไดเลย เชน pop Password= ”woeu09”

Page 212: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

220 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. ชนดแบบ System แบบนจะเปนการระบวาใหทาการตรวจสอบกบฐานขอมล Unix Password เชน pop Password="UNIX" กรณนถาผใชนนๆ ไมมบญชอยบนเครอง Unix Server การตรวจสอบรหสผานจะไมสาเรจ

นอกเหนอจากรหสผานทจะตองถกแลว ยงสามารถบงคบคาดงตอไปนไดอกดวย

• NAS-IP-Address กรณท RADIUS Server เครองเดยว ใหบรการกบ Terminal Server หลายตว เราสามารถกาหนด IP Address ของ Terminal Server (บางทเรยก NAS, Network Access Server) เพอจากดวาผใชตองโทรเขาไปยง Terminal Server ตวทระบเทานน

• NAS-Port ระบพอรตของ Terminal Server ทจะอนญาตใหผใชโทรเขาได (กรณท Terminal Server หลาย Port และเราตองการใหผใชคนนโทรเขาไดเฉพาะ Port น)

• NAS-Port-Type ระบชนดของพอรต ซงจะสามารถระบไดเปน: Async, Sync, ISDN, ISDN-V120 หรอ ISDN-V110 การระบนตองแนใจวาตว Terminal Server สามารถรองรบการใชงานพวกนไดดวย

• Reply Items เปนสวนทบอกวาเมออนญาตใหเขาใชงานแลว จะมสทธอยางไร จากตวอยางดานบนจะหมายถงในสวนของ

Service-Type = Framed-User,

Framed-Protocal = PPP,

Filter-Id = "101.in", Session-Timeout = 10800,

Idle-Timeout = 600

Service-Type = Framed-User ระบวาใหใชการตดตอแบบ PPP หรอ SLIP (ไมใชแบบ Terminal Access ธรรมดา)

Framed-Protocal = PPP, ระบวาใหตดตอเปนแบบ PPP

Filter-Id = "101.in", ระบวาใหใชผาน Filter ทชอ 101.in กรณทเราตองการกรองขอมลบางอยาง เชน ปด Port 80 หามใชงาน WWW โดยไมผาน Proxy ซงรายละเอยดของ Filter 101.in นจะตองถกตดตงไวท Terminal Server ดวย

Page 213: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 221

Session-Timeout = 10800, ระบระยะเวลาการใชงานในแตละครงวา สามารถใชงานไดครงละกวนาท จากตวอยางจะสามารถใชงานไดตอครงคอ 10800 วนาท หรอ 3 ชม. นนเอง

Idle-Timeout = 600 ระบระยะเวลาทจะทาการตดการเชอมตอ หากผใชไมมการสง-รบขอมลกนเกนระยะเวลาทกาหนด จากตวอยาง ถาไมไดทาการรบ-สงขอมลใดๆ เกน 600 วนาท จะถกตดการเชอมตอนนๆ โดยอตโนมต

หมายเหต คาบางคาจะตองตรวจสอบวา Terminal Server นนสนบสนนดวยหรอไม เชน Terminal Server บางยหอ ไมอนญาตใหมการกาหนด Idle-Timeout เปนตน

จากตวอยางทยกมา จะเหนวาเราจะตองระบถง 6 บรรทดสาหรบผใชเพยงคนเดยว ถามหลายคนอาจจะทาใหไฟลยาว ยงยาก แตเราสามารถกาหนดแบบ Default ได คอ ถาไมพบชอบญชผใชนนๆ ในสวนของ Username กจะใชคา Default แทน ซงสวนใหญมกจะใหคา Default อยทายไฟล ตวอยางดงน

ott Password=”UNIX”

Service-Type = Framed-User,

Framed-Protocol = PPP DEFAULT Password="UNIX", NAS-IP-Address = "111.222.33.45"

Service-Type = Framed-User,

Framed-Protocal = PPP,

Filter-Id = "101.in",

Session-Timeout = 10800,

Idle-Timeout = 600

จากตวอยาง เปนการระบวา สาหรบผใชทวไป จะตองโทรเขาไปยง Terminal Server ทม IP Address 111.222.33.45 เทานน จะตองผานตวกรอง 101.in ม Session-Timeout และ Idle-Timeout ตามทระบ แตสาหรบ ผใชบญช ott จะไมมบงคบวาตองโทรเขาท "111.222.33.45" ไมตองผานตวกรองใดๆ และไมม Session-Timeout หรอ Idle-Timeout

• สรางไดเรกทอร /var/adm/radacct (หรอทอน ถาทานไดระบไวในตอนตน) ไดเรกทอรนจะใชเกบบนทกการตดตอระหวาง RADIUS Server และ Terminal Server (RADIUS Client)

Page 214: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

222 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เพมบรรทดตอไปนเขาไปใน /etc/services เพอระบพอรตทใชงาน

radius 1645/udp radiusd

radacct 1646/udp

• จากนนใหทานทาสาเนาไฟล radiusd ไปยง /usr/local/etc (หรอทอนๆ ตามตองการ) และใสขอความดงตวอยางไวใน Startup Script ถาตองการให RADIUS Server ทางานโดยอตโนมตทกครงทเครองบต

echo "Starting RADIUS Server" /usr/local/etc/radiusd &

สาหรบ Linux-SIS เวอรชน 3.0 ใหแกในไฟล /etc/rc.d/rc.local เอาเครองหมาย "#" หนาสองบรรทดดงกลาวออก

«‘∏’°“√„™Èß“π การเรยกใช RADIUS Server สามารถทาไดโดยการเรยกโปรแกรม radiusd ดงน

# /usr/sbin/radiusd &

การเรยกใชโปรแกรมสามารถตามดวยแฟลกตางๆ เหลาน

แฟลก จดประสงค -a ระบพาทของไดเรกทอร radacct ทใชสาหรบการบนทกการใชงาน -b สาหรบใชกบ DBM -d ระบพาทของไดเรกทอร raddb ใชสาหรบการตงคาตางๆ ดงทไดกลาว

มาแลวขางตน -l ระบชอไฟลทจะเกบ log แทนไฟล syslog -s การเรยกโปรแกรม RADIUS แบบโหมด single-threaded ซงจะไมมการ

แตก process ลกออกมา เพอทจะตรวจสอบในการรองขอแตละครงเอง

Page 215: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 223

แฟลก จดประสงค -v แสดงเวอรชนของโปรแกรม RADIUS -x โหมดของการตรวจสอบการทางานของโปรแกรม (Debug mode) โดยจะ

แสดงคาทสงมาใหด ซงถาตองการใหคาทสงมาเกบอยใน syslog สามารถทาไดดวย -x -l syslog

หลงจากทาการเรยก radiusd แลวลองด Process ของระบบวาม daemon ของ RADIUS ทางานอยหรอไม (ใชคาสง ps ax |grep radius) ทถกตอง จะตองมดวยกน 2 ตว คอตวหนงสาหรบใชในการตดตอเพอขออนญาต สวนอกตวหนงจะใชในการตดตอเพอทาการเกบคาการใชงาน เมอพบวาม Process ทางานครบใหเรมตดตงในขนตอไป

การตงคาท Terminal Server

คาสงในการตงคาบน Terminal Server แตละตวจะแตกตางกนขนอยกบวาเปนแบบและยหอใด แตจะสามารถสรปงานหลกๆ ทตองทาดงน

1. ตงใหมการ Authenticate โดยใช RADIUS Protocol และกาหนด RADIUS Server เปน IP Address ของเครอง RADIUS Server ของทาน Port 1645

2. ตงใหมการสงคาการบนทกการใชงาน (Accounting) มายง RADIUS Server ของทานเชนกน Port 1646

3. ตงคารหสผานใหตรงตามทไดตงไวในไฟล clients

4. ตดตง Filter กรณทมการใชงาน Filter (เชน 101.in)

¢ÈÕ¡Ÿ≈บนทก°“√„™Èß“π¢Õß RADIUS (Accounting) ในไดเรกทอร /var/adm/radacct จะมบนทกการใชงานแยกสาหรบแตละ Terminal Server

โดยขอมลทบนทกจะมฟลดตางๆ สามารถยกตวอยางทสาคญไดดงน

Acct-Session-Id

เหมอนกบ Serial Number ของรายการบนทก, Acct-Session-Id หนงๆ จะมขอมลได 2 ครงเทานนคอ ครงทม Acct-Status-Type เปน Start และ Stop

Page 216: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

224 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Acct-Status-Type

คาทเปนไปไดมอย 2 ตว คอ Start และ Stop โดย log ของ Start จะถกสรางเมอการเชอมตอสาเรจ (ผใชโทรเขามา ปอนรหสผาน มเงอนไขตาม Check item ตางๆ ถกตอง) และ log ของ Stop จะถกสรางเมอการเชอมตอยตลง (เมอผใชยกเลกการเชอมตอ, สายหลด หรอสาเหตอนๆ)

Acct-Session-Time

คานจะบอกถงชวงเวลาทใชในการเชอมตอของผใช โดยจะบอกในหนวยวนาท ขอมลนจะมเฉพาะใน log ของ Stop เทานน

• Acct-Delay-Time

คานเปนคาทบอกเวลา (วนาท) ทผานไปเมอเรมนบตงแตเหตการณทเกดขน จนถงเวลาท RADIUS Client สามารถทจะทาการสง log นนๆ มายง RADIUS Server ไดสาเรจ ซงกคอคาท Delay ไปนนเอง มประโยชนในกรณทเสนทางระหวาง RADIUS Server และ Client ถกตดขาดชวงระยะเวลาหนงๆ ตว Client กจะบวกเวลา Downtime ใสเขาไปในสวนน ซงเมอเอาไปหกออกจาก Acct-Session-Time กจะทราบเวลาทผใชใชจรง (สาคญมากในการคดเงนตามเวลาทใชของ ISP)

NAS-Port-Type

คานบอกชนดของพอรตทใชในการเชอมตอ ซงคาทเปนไดมดงน: Async, Sync, ISDN, ISDN-V120, และ ISDN-V110

Acct-Input-Octets และ Acct-Output-Octets

Acct-Input-Octets จะบอกถงปรมาณขอมลทผใชรบจาก Terminal Server โดยหนวยเปนไบต และ Acct-Output-Octets จะบอกถงปรมาณขอมลทผใชสงให Terminal Server หนวยเปนไบตเชนเดยวกน ใชสาหรบการคดเงนตามปรมาณขอมลทใชงานจรง

Timestamp

คาในสวนนเปนคาเวลาทเกดการบนทกขน โดยคดเวลานบเปนวนาทตงแต เทยงคนวนท 1 มกราคม ป ค.ศ. 1970

Page 217: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 225

Acct-Terminate-Cause

คานบอกถงสาเหตของการยกเลกการเชอมตอ คาในสวนนจะปรากฏเฉพาะในสวนของ Stop เทานน ซงคาเปนไดดงน

สาเหตการยกเลกการเชอมตอ ความหมาย Admin-Reset พอรตถกเคลยรโดย Administrator ของ Terminal Server Host-Request Host ของผใชเกดการ crash หรอ ไมสามารถเขาตดตอไดอกตอไป Idle-Timeout ไมมการสง-รบขอมลเกนระยะเวลาทกาหนด Lost-Carrier เกดการตดการเชอมตอเนองจากมสญญาณรบกวนมาก หรอทางผใชม

การยกหโทรศพท Port-Error เกดการเคลยรทพอรตเนองจากมการ interrupt ทมากเกนไป Session-Timeout หมดเวลาการใชงานตามทถกกาหนดไว User-Error ผใชตดตงคาในการเชอมตอไมถกตอง User-Request ผใชทาการรองขอเพอยกเลกการเชอมตอเอง

°“√µ√«® Õ∫°“√∑”ß“π¢Õß RADIUS Server หลงจากทไดทาการตดตง RADIUS Server แลว ทานสามารถทจะทาการทดสอบวา

RADIUS Server ทางานถกตองหรอไม วธทงายทสด กคอลองโทรเขาท Terminal Server นนๆ และดวาสามารถเชอมตออนเทอรเนตไดสาเรจไหม แตวธนอาจเปลองคาโทรศพท ทานสามารถใชโปรแกรมจาลองการทางานของ Terminal Server ชวยในการทดสอบแทนได ชอ RADPWTST (RADIUS Password Test) ซงจะมากบ RADIUS Server อกยหอหนงชอ Merit มขนตอนการตดตงและใชงานดงน

• ดาวนโหลดโปรแกรม “radius.3.6B.basic.tar.Z” (หรอเวอรชนอนในขณะนน) จาก http://www.merit.edu/radius/releases/ หรอ ftp://ftp.merit.edu/radius/releases/

• ขนตอไปใหทาการแตกและขยายไฟลออกโดย

# tar xzvf radius.3.6B.basic.tar.Z

Page 218: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

226 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• จากนนทาการคอมไพลโปรแกรมโดย

# make util-install

เขาไปยงไดเรกทอรชอ “src” จะมไฟลทไดจากการคอมไพลออกมาหลายไฟล แตทเราจะใชชอไฟล “radpwtst”

ตวอยางการใชงานโปรแกรม radpwtst สาหรบทดสอบ RADIUS Server

# radpwtst -I “200.200.222.3” -d "/usr/local/etc/raddb" -s "localhost"

-w "kg23##LE" -x pok

จากตวอยางดานบน เปนการทดสอบบญชชอ “pok” โดยมรหสผานคอ “kg23##LE” โดยระบวาใหทาการตรวจสอบกบฐานขอมลทไดเรกทอร “/usr/local/etc/raddb” บน RADIUS Server localhost โดยใหสมมตวา ผใชคนนโทรเขาไปท Terminal Server ทม IP Address 200. 200.222.3

สาหรบ Option -x จะเปนการบอกใหแจงใหเราทราบดวยวาทาง RADIUS Server ตอบกลบคาอะไรมาใหทาง Terminal Server บาง

ถาไดผลทมลกษณะเชนน กขอแสดงความยนดดวยครบ แสดงวา RADIUS Server สามารถใชงานไดด

# radpwtst -I “200.200.222.3” -d "/usr/local/lib/raddb" -s "localhost" -w "kg23##LE" -x pok

Merit AAA server Version 3.5.6 , licensed software Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997 by

The Regents of the University of Michigan and Merit Network, Inc.

vend_init: Assuming no Vendor Specific attributes defined

vend_init: No vendors file found

Received attribute/value pair(s):

Service-Type = Framed-User

Framed-Protocol = PPP

Page 219: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 27 RADIUS: Livingston 227

Session-Timeout = 54000 Idle-Timeout = 2400

'pok' authentication OK

ขอมลการใชงานเพมเตมสามารถดโดย

# radpwtst -h

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมการตดตง Livingston RADIUS Server 1.16.1 มาให

เรยบรอยแลว ใชไดเรกทอร /usr/local/etc/raddb และ /var/adm/radacct Radiusd อยท /usr /local/etc โปรแกรม radpwtst อยท /usr/local/bin Source Code อยท /usr/local/src

ถาจะใชงาน RADIUS Server ทกครงทเครองบต ใหแกในไฟล /etc/rc.d/rc.local ใหเรยกใชโปรแกรม radiusd

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. http://www.livingston.com:80/marketing/products/radius.html

2. http://www.merit.com/

Page 220: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

228 สรางอนเทอรเนตเซรฟเวอรดวย Linux

MySQL ทาหนาทเปน Database Server สามารถทางานไดทงบนระบบปฏบตการ Unix และ Windows NT ซงมลกษณะการทางานแบบ Client/Server โดยในหวขอนจะกลาวถง วธการตดตง วธการใชงาน MySQL การเขยนโปรแกรมภาษา Perl ใหสามารถตดตอกบ MySQL การแกไขปญหา และแหลงขอมลเพมเตม

«‘∏’°“√µ‘¥µ—Èß การตดตง MySQL จะมสวน Server และ Client

MySQL Server • ดาวนโหลดโปรแกรม MySQL ไดท http://www.tcx.se/download.html มทง Source

Code และ Binary

• ตดตงโปรแกรม

# gzip -cd mysql-VERSION.tar.gz | tar xvf -

# cd mysql-VERSION # ./configure (ดรายละเอยดเพมเตม โดยใชคาสง./configure --help) # make

# make install

Page 221: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 229

MySQL Client • ตดตง API Module ทชวยในการเขยนโปรแกรมตดตอกบ MySQL ซงม 2 Module

คอ MySQL Module ซงเปน Module ของ MySQL เอง และ DBI ซงเปน Module มาตรฐาน

ตดตง DBI

#cd /mysql-source/perl/DBI #perl Makefile.PL

#make

#make install

โดย /mysql-source/ เปนไดเรกทอรทไดจากการ unzip ไฟล mysql–version.tar.gz

ตดตง MySQL Module

#cd /mysql-source/Mysql-modules

#perl Makefile.PL #make

#make install

• ตดตง Client โปรแกรมทมาพรอมกบไฟล mysql-VERSION.tar.gz สามารถ copy มาจากเครอง Server ไดทนทถาเครอง Server กบ Client มระบบปฏบตการเดยวกน ซงจะอยทไดเรกทอร /mysql-source/bin เชน คาสง mysql, mysqladmin, mysqlshow เปนตน

§” —ËߢÕß MySQL • mysql เปนคาสงทใชเพอตดตอกบ Server มรปแบบดงน

mysql [options] [database]

ม options เชน -h [hostname] ชอของ Database Server ทจะตดตอดวย

Page 222: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

230 สรางอนเทอรเนตเซรฟเวอรดวย Linux

-u [user] ชอผใช -p [password] รหสผาน

• mysqladmin เปนคาสงทผควบคมระบบใชในการดแลสถานะของ Mysql

mysqladmin [options] command

ม options เชน

-h [hostname] ชอของ Database Server ทจะตดตอดวย -u [user] ชอผใช -p [password] รหสผาน

สวน command มดงน

create [database name] สราง Database drop [database name] ลบ Database processlist แสดงขอมลของ Process เชน Process Id, ชอผใช, ชอ Database reload อานคา grant tables ใหม (จะกลาวในหวขอตอไป) shutdown หยดการทางานของ Mysql version แสดง version ของ Mysql ททางานอย

• mysqld เปน Daemon Process ซงจะตองทางานอยตลอดเวลาทใชงาน การเรยกใชจะม Script ทไปเรยกโปรแกรม mysqld ดงน

#mysql.server start

ถาจะให MySQL ทางานโดยอตโนมต ตองใสบรรทดขางบนนใน Startup Script

• mysqldump เปนคาสงทใชในการ backup ขอมล ซงขอมลท dump ออกมาจะเปนไฟลของคาสง SQL มาตรฐาน การใชงานคอ mysqldump [database_name] ตวอยางเชน

Page 223: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 231

#mysqldump testdb > testdb.txt

ไฟล testdb.txt จะเกบขอมลของ Database ชอ testdb ในรปแบบของคาสง SQL ถาตองการใหขอมลในไฟลน import กลบเขาไปในฐานขอมลเดม ใชคาสงดงน

#cat testdb.txt | mysql testdb

หรอถาตองการ copy ขอมลทงหมดในฐานขอมล testdb ไปไวใน ฐานขอมล testdb2

#mysqldump testdb | mysql testdb2

• mysqlshow เปนคาสงทใชในการแสดงรายชอ Tables หรอชอ Fields

mysqlshow [options] [database [table [field]]] # mysqlshow mysql db

Database: mysql Table: db Rows: 2 +--------+-----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+-----------+------+-----+---------+-------+ | Host | char(60) | | PRI | | |

| Db | char(64) | | PRI | | |

| User | char(16) | | PRI | | |

+--------+-----------+------+-----+---------+-------+

§” —ËߢÕß SQL • Data Type (ชนดของขอมล) ท Mysql สนบสนน

INT [(length)] [UNSIGNED] [ZEROFILL] # 4 byte integer

INTEGER [(length)] [UNSIGNED] [ZEROFILL] # 4 byte integer

Page 224: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

232 สรางอนเทอรเนตเซรฟเวอรดวย Linux

TINYINT [(length)] [UNSIGNED] [ZEROFILL] # 1 byte integer SMALLINT [(length)] [UNSIGNED] [ZEROFILL] # 2 byte integer

MEDIUMINT [(length)] [UNSIGNED] [ZEROFILL] # 3 byte integer

BIGINT [(length)] [UNSIGNED] [ZEROFILL] # 8 byte integer

REAL [(length,dec)] # float (4 bytes)

FLOAT [(length,dec)] # float (4 bytes) DOUBLE [(length,dec)] # double (8 bytes)

DECIMAL (length,dec) # unpacked number

CHAR(NUM) # Fixed with string (1 <= NUM <= 255)

VARCHAR(NUM) # Variable length string (1 <= NUM <= 255)

TINYBLOB # Binary object with a maximum length of 255

BLOB # Binary object with a maximum length of 65535

MEDIUMBLOB # Binary object with a maximum length of

16777216 LONGBLOB # Binary object with a maximum length of 2^32

TIMESTAMP # Changes automatically on insert/update

# (YYMMDDHHMMSS)

• CREATE DATABASE เปนคาสงทใชสรางฐานขอมลมรปแบบดงน

CREATE DATABASE database_name

• DROP DATABASE เปนคาสงทใชลบฐานขอมลมรปแบบดงน

DROP DATABASE database_name

• CREATE TABLE เปนคาสงทใชสรางตารางมรปแบบดงน

CREATE TABLE table_name ( create_definition,... )

create_definition:

column_name type [NOT NULL] [DEFAULT default_value] [ PRIMARY KEY ]

or column_name type [NULL] [DEFAULT default_value] [ PRIMARY KEY ]

or PRIMARY KEY ( column_name,... ) or KEY ( column_name,...)

or UNIQUE ( column_name,...)

Page 225: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 233

ตวอยางเชน ตองการสรางตารางทชอวา Customer ม field ชอ id เปนชนด integer เปน primary key, name มขนาด 30 ตวอกษร และ address มขนาด 60 ตวอกษร

CREATE TABLE Customer (id int primary key,name char(30),address

char(60));

• DROP TABLE เปนคาสงทใชลบตารางมรปแบบดงน

DROP TABLE table_name

• DELETE TABLE เปนคาสงทใชลบขอมลในตารางตามเงอนไขทระบ ซงมรปแบบดงน

DELETE FROM table_name WHERE where_definition where_definition:

where_expr or where_expr [ AND | OR ] where_expr

where_expr:

column_name [> | >= | = | <> | <= | < ] column_name_or_constant

or column_name LIKE column_name_or_constant

or column_name IS NULL

or column_name IS NOT NULL

or ( where_definition )

• SELECT เปนคาสงในการแสดงขอมล มรปแบบดงน

SELECT [DISTINCT | ALL] select_expression,... [ FROM tables... [WHERE where_definition ] [GROUP BY column,...] [

ORDER BY column [ASC | DESC] ,..] HAVING full_where_definition [LIMIT

number] [PROCEDURE procedure_name]]

select_expression ทประกอบไปดวยฟงกชนทางตรรกศาสตร และเครองหมายทางคณตศาตร +, -, Ъ, / # เครองหมาย บวก ลบ คณ หาร

Page 226: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

234 สรางอนเทอรเนตเซรฟเวอรดวย Linux

% # เครองหมาย Modulo |, & # Bit functions. (48 bits in use)

- # Sign.

(,) # Parenthesis.

BETWEEN(A,B,C) # เทยบเทากบ (A >= B AND A <= C). FIELD(N,a,b,c,d) # ใหคา a ถา N == 1, b ถา N == 2 a,b,c,d คอ strings. IF(A,B,C) # If A is true (!= 0 and != NULL) then return B,

else return C. IFNULL(A,B) # If A is not null return A, else return B.

ISNULL(A) # Returns 1 if A is NULL else 0. Same as '( A ==

NULL ').

NOT, ! # NOT, returns TRUE (1) or FALSE (0). OR, AND # returns TRUE (1) or FALSE (0).

SIGN() # Returns -1, 0 or 1 (sign of argument).

=, <>, <= ,<, >=,> # returns TRUE (1) or FALSE (0). expr LIKE expr # returns TRUE (1) or FALSE (0).

expr NOT LIKE expr # returns TRUE (1) or FALSE (0).

expr REGEXP expr # Check string against extended regular expr. expr NOT REGEXP expr # Check string against extended regular expr.

select_expression ทเปนฟงกชนทางคณตศาสตร ABS()

BIT_COUNT()

CEILING() EXP()

FLOOR()

FORMAT(nr,NUM) LOG()

LOG10()

MIN(),MAX() MOD()

POW()

ROUND() SQRT()

select_expression ทจดการเกยวกบ strings CONCAT(field_name1,field_name2) # เอา field_name1 มาตอกบ field_name2 LCASE() # เปลยนเปน lower case LENGTH(field_name) # ความยาวของ String

Page 227: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 235

STRCMP() # ใหคา 0 ถา string มคาเทากน UCASE() # เปลยนเปน upper case select_expression อนๆ CURDATE() # เวลาปจจบน DATABASE() # ชอฐานขอมล PASSWORD() # Encryt รหสผาน USER() # ชอผใช

• SHOW เปนคาสงทแสดงรายละเอยดของฐานขอมล ตาราง และ fields

SHOW DATABASES [LIKE word]

SHOW TABLES [FROM database] [LIKE word]

SHOW FIELDS FROM table [FROM database] [LIKE word]

• INSERT เปนคาสงเพมขอมลเขาไปในตาราง มรปแบบดงน

INSERT INTO table [ (column_name,...) ] VALUES (expression,...)

• UPDATE เปนคาสงแกไขขอมล มรปแบบดงน

UPDATE table SET column=expression,... WHERE where_definition where_definition:

where_expr or where_expr [ AND | OR ] where_expr

where_expr: column_name [> | >= | = | <> | <= | < ]

column_name_or_constant

or column_name LIKE column_name_or_constant or column_name IS NULL

or column_name IS NOT NULL

or ( where_definition )

Page 228: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

236 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√µ‘¥µ—Èß MySQL Grant Tables Grant Tables คอ ตารางทเกบขอมลในการกาหนดสทธการใชงานฐานขอมลของผใช เพอ

เหตผลทางดานความปลอดภย ซงตองรนคาสงเพอสรางฐานขอมลเหลาน

scripts/mysql_install_db

เมอคาสงทางานเรยบรอยจะไดฐานขอมลทชอวา mysql ภายในฐานขอมลจะประกอบดวยตาราง user, db และ host สวนคาเรมตนทกาหนดมาใหมดงน

1. ฐานขอมลทชอวา test หรอนาหนาดวย test_ จะอนญาตใหทกคนสามารถใชได

2. root เปน superuser มสทธในการทาอะไรไดทกอยาง ซงยงไมไดกาหนดรหสผาน ดงนนควรกาหนดรหสผานใหกบ root เปนสงแรก

#mysql mysql mysql> UPDATE user SET Password=PASSWORD(‘root_password’) WHERE

user=’root’;

บอกให MySQL Server อานคา grant tables ใหม เพอใหคาทกาหนดใหมสามารถใชงานได

#mysqladmin reload

หลงจากมการกาหนดรหสผานใหกบ root แลว การตดตอกบฐานขอมล mysql และการใชคาสง mysqladmin จะตองเพม option –p เขาไปดวย เชน mysql –p mysql

À≈—°°“√∑”ß“π¢Õß Grant Tables ขอมลทใชเกบรายละเอยดของสทธในการใชงานของผใช คอ ตาราง user, db และ host

ซงอยในฐานขอมลทชอวา mysql MySQL Server จะอานคาเหลานขณะเมอเรม start up หรออานคาเหลานใหมเมอใชคาสง mysqladmin reload แสดงวาหลงการเปลยนใดๆ ในฐานขอมลจะไมมผลจนกวาจะสงให MySQL มาอานคาเหลานใหม การกาหนดสทธจะมลกษณะตามแตละฟลด ดงน

Page 229: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 237

ตารางท 1

Privilege Column (fields) Context select Select_priv tables insert Insert_priv tables update Update_priv tables delete Delete_priv tables create Create_priv databases, tables or indexes drop Drop_priv databases or tables reload Reload_priv server administration shutdown Shutdown_priv server administration process Process_priv server administration file File_priv file access on server

select, insert, update และ delete เปนการอนญาตในการเลอกด เพม เปลยนแปลง และ ลบ ขอมลในฐานขอมล ตามลาดบ

create เปนการอนญาตในการสรางตารางหรอฐานขอมล

drop เปนการอนญาตในการลบตารางหรอฐานขอมล ตางจากคาสง delete ตรงทคาสง delete เปนการลบขอมลในตารางเทานน โดยทโครงสรางของตารางยงคงอย สวนคาสง drop เปนการลบทงขอมลและโครงสรางทงหมด

reload, shutdown และ process เปนการอนญาตในการควบคมระบบโดยใชผานคาสง mysqladmin ดงตาราง

ตารางท 2

Privilege คาสง reload Reload, refresh, flush-hosts, flush-logs, flush-tables shutdown Shutdown process Processlist,kill

Page 230: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

238 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ขนตอนในการควบคมการเขาถงของผใช เรมแรกจะตรวจสอบท Scope fields (ตารางท 3) กอน ถาไดรบอนญาต เมอผใชมการใชงาน MySQL กจะตรวจสอบไปตามสทธทผใชไดรบตาม Privilege fields (ตารางท 3) ซงแตละฟลดสามารถมคาได ‘N’ (ไมอนญาต) กบ ‘Y’ (อนญาต) โดยโครงสรางของ grant tables ประกอบไปดวยตาราง user, db และ host ดงน

ตารางท 3

Table name User db host Host Host Host User Db Db

Scope fields

Password User Select_priv Select_priv Select_priv Insert_priv Insert_priv Insert_priv Update_priv Update_priv Update_priv Delete_priv Delete_priv Delete_priv Create_priv Create_priv Create_priv Drop_priv Drop_priv Drop_priv Reload_priv Shutdown_priv Process_priv

Privilege fields

File_priv

หนาทของตาราง user, db และ host

• ตาราง user ใน Scope fields จะเปนการกาหนดชอผใช รหสผาน และชอ host MySQL จะตรวจสอบวาผใชมชอ รหสผาน และชอ host ตรงตามทระบไวหรอไม สวน Privilege fields เปนสทธทครอบคมทงหมด (Global scope) หมายความวา ถากาหนด ให jon ม Privilege fields เปน ‘Y’ แตในตาราง db กาหนดเปน ‘N’ jon กยงสามารถกระทาในสงทอนญาตไวใน Privilege fields ของตาราง user ได ดงนนในตาราง user ควรจะกาหนดให Privilege fields ของผใชใหเปน ‘N’ ทงหมดแลวคอยอนญาตใน Privilege fields แตละฟลดของตาราง db

Page 231: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 239

• ตาราง db จะระบวาผใชคนไหนสามารถใชฐานขอมลใดไดจาก host ไหน ถามคา เปน ‘%’ จะอนญาตทก host และถาตองการใหผใชสามารถเขาถงไดหลายๆ host ใหกาหนด field Host เปนชองวางแลวกาหนดชอ host เพมเตมไดทตาราง host

• ตาราง host เปนสวนขยายของตาราง db เมอตองการใหผใชสามารถเขาถงไดหลาย host

°“√°”Àπ¥ ‘∑∏‘°“√„™Èß“π∞“π¢ÈÕ¡Ÿ≈¢ÕߺŸÈ„™È ผทจะสามารถกาหนดสทธในการใชงานของผใชไดควรเปนผควบคมระบบเทานน สามารถ

กาหนดไดโดยตองเขาไปยงฐานขอมล mysql มตวอยางการกาหนดดงน

การเชอมตอกบฐานขอมล mysql

#mysql -u root mysql #mysql -u root -p mysql # ในกรณทมการกาหนดรหสผานของ root

• กาหนดให henry เปน superuser โดยตองเชอมตอจาก localhost และใชรหสผานวา something เทานน

mysql> INSERT INTO user VALUES('localhost','henry',PASSWORD('something'),

'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

• กาหนดให admin สามารถเชอมตอจากทไหนกไดและใชคาสง mysqladmin reload, mysqladmin processlist ได

mysql> INSERT INTO user

VALUES('%','admin',’’,'N','N','N','N','N','N','Y','N','Y','N');

• กาหนดให june สามารถเชอมตอจาก localhost และไมมรหสผาน แตไมไดรบการอนญาตใน Privilege fields ดงนนจงตองกาหนดเพมเตมในตาราง db ผใชคนนจง

Page 232: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

240 สรางอนเทอรเนตเซรฟเวอรดวย Linux

สามารถใชงานได ถาไมไดกาหนดคาใหกบ Privileges fields มนจะถกกาหนดใหเปน ‘N’

mysql> INSERT INTO user (host,user,password)

VALUES('localhost','june',’’);

• กาหนดให emily สามารถเชอมตอกบ MySQL Server จาก localhost และ cas–siopeia.com สามารถเขาถงฐานขอมล branch จาก localhost เทานน และเขาถง ฐานขอมล customer จาก localhost และ cassiopiea.com

mysql> INSERT INTO user (host,user,password)

VALUES('localhost','emily',PASSWORD('emily ka'));

mysql> INSERT INTO user (host,user,password)

VALUES('cassiopiea.com','emily',PASSWORD('emily ka')); mysql> INSERT INTO db

(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES ('localhost','branch','emily','Y','Y','Y','Y','Y','Y');

mysql> INSERT INTO db

(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES('%','customer','emily','Y','Y','Y','Y','Y','Y');

¢—ÈπµÕπ°“√ √È“ß∞“π¢ÈÕ¡Ÿ≈·≈–‡™◊ËÕ¡µËÕ°—∫ MySQL Server 1. สรางฐานขอมลและลบฐานขอมลจะตองใชคาสง mysqladmin

# mysqladmin create database_name

# mysqladmin drop database_name

หรอใชคาสง mysql เมอเขาส promt mysql ใหใชคาสง create หรอ drop ในการสรางหรอลบฐานขอมล

Page 233: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 241

# mysql mysql> create database database_name

mysal> drop database database_name

2. กาหนดสทธการใชงานฐานขอมลของผใช

3. เมอฐานขอมลถกสรางเรยบรอยแลว ใหเชอมตอกบฐานขอมล

~>mysql [-h host_name] [-u user_name] [-pyour_pass] ~>mysql -h localhost -u jon -pabcdef # ระหวาง option -p กบรหสผานจะไมมชองวาง

การใช option -p แลวตามดวยรหสผานอาจไมปลอดภย ควรใช option -p แลวไมตองใสรหสผาน จะมขอความถามใหใสรหสผานซงไมสามารถมองเหนรหสผานได

~>mysql -u user_name -p

Enter password:

ถาไมใส option –u MySQL จะตรวจสอบ user_name จาก user_name ของระบบ และเชนเดยวกน ถาไมใส option –h host_name กจะมคาเปน localhost

°“√‡¢’¬π‚ª√·°√¡¿“…“ Perl „ÀÈ “¡“√∂µ‘¥µËÕ°—∫ MySQL ‰¥È การเขยนโปรแกรมภาษา Perl ใหสามารถตดตอกบ MySQL จะสามารถทาไดโดยผานทาง

API (Application Programming Interface) ซงม 2 วธ คอการใช Module ของ MySQL หรอใช DBI (Database Interface) ทงสองวธจะมฟงกชนการทางานทคลายกนแตมรปแบบการเขยนไมเหมอนกน การใช DBI จะเปนวธมาตรฐานทสามารถตดตอกบฐานขอมลชนดใดกได หมายความวา ถาผใชตองการจะเปลยนฐานขอมลทใชจาก MySQL เปนอยางอน ผใชกแกเพยงตวโปรแกรมภาษา Perl เพยงเลกนอย โปรแกรมนนกจะสามารถทางานบนฐานขอมลอนได สวน Module ของ MySQL จะใชไดเฉพาะฐานขอมลทเปน MySQL เทานน ในทนจะกลาวถงทง 2 วธ

Page 234: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

242 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ตามคาอธบายจะมการอางถงตวแปรซงมความหมายดงน

$dbh แทน Database Handle $sth แทน Statement Handle @arr แทน array ของขอมล %hash แทน associative array $value แทน Return Value

1. การใช Module ของ MySQL

Connect เปนฟงกชนเพอเชอมตอกบฐานขอมล ถามการกาหนด user, password กตองระบไวดวย

$dbh = Mysql->Connect; $dbh = Mysql->Connect($host);

$dbh = Mysql->Connect($host,$database);

$dbh = Mysql->Connect($host,$database,$user,$password);

$dbh = Mysql->Connect($host,$database,$user,$password);

SelectDB เปนฟงกชนในการเลอกฐานขอมลทตองการ กอนการใชฟงกชน SelectDB จะตองใชฟงกชน Connect กอนทกครง

$dbh->SelectDB($database);

ListFields เปนฟงกชนในการแสดงคณสมบตตางๆ ของฟลดในแตละตาราง

$sth = $dbh->ListFields($table);

หลงจากใชฟงกชน ListFields แลวสามารถใชฟงกชนเหลานในการแสดงขอมลทตองการ ซงจะ return คาเปน array ตามลาดบของฟลด เชน ถาตาราง customer มฟลด name และ address $arr[0] จะแทนฟลด name สวน $arr[1] จะแทนฟลด address

Page 235: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 243

@arr = @$sth_name >name; ชอ field @arr = @$sth >length; ขนาดความยาว $value = $sth >numfields; จานวน fields @arr = @$sth >is_num; ใหคา 1 ถา fields นนเปน numerical @arr = @$sth >is_blob; ใหคา 1 ถา fields นนเปน blob @arr = @$sth >is_not_null; ใหคา 1 ถา fields นนเปน NOT NULL

ListDBs เปนฟงกชนในการแสดงชอฐานขอมลทงหมด return คาเปน array

@arr = $dbh->ListDBs;

ListTables เปนฟงกชนในการแสดงชอตารางในฐานขอมล return คาเปน array

@arr = $dbh->ListTables;

Query เปนฟงกชนในการเรยกใชคาสง SQL หลงจากท Query แลวจะตองใชคาสง Fetch Row หรอ FetchHash ในการเขาถงขอมล

$sth = $dbh->Query($sql_statement);

ตวอยางเชน

$sth = $dbh->Query("SELECT * FROM customer WHERE name = ‘bob’") or die $Mysql::db_errstr;

while(@record = $sth->FetchRow)

$name = $record[0]; $address = $record[1];

Page 236: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

244 สรางอนเทอรเนตเซรฟเวอรดวย Linux

FetchCol เปนฟงกชนในการเขาถงขอมลตามคอลมน สามารถระบ colume ทตองการได

@arr = $sth->FetchCol($col);

ตวอยาง ถามขอมลดงน

+-------+----------+

| name | address | +-------+----------+

| bob | 123 |

| pop | 456 | +-------+----------+

@arr = $sth->FetchCol(0); # $arr[0]=bob, $arr[1]=pop

@arr = $sth->FetchCol(1); # $arr[0]=123, $arr[1]=456

FetchHash เปนฟงกชนในการเขาถงขอมลตามเรคอรดหรอแถว ใหคาเปนแบบ Asso–siative array

%hash = $sth->FetchHash;

ตวอยาง

while(%hash = $sth->FetchHash)

print “Name $hash‘name’\n”; # name และ address เปนชอของ field print “Address $hash‘address’\n”;

FetchRow เปนฟงกชนในการเขาถงขอมลตามเรคอรดหรอแถว ใหคาเปน array หลงจากใชฟงกชนนแลวตาแหนงของขอมลจะชไปทเรคอรดถดไป

@arr = $sth->FetchRow;

Page 237: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 245

ตวอยาง

while(@arr = $sth->FetchRow)

print “Name $arr[0]\n”;

print “Address $arr[1]\n”;

DataSeek เปนฟงกชนในหาตาแหนงของขอมล แถวแรกของขอมลจะเรมจาก 0

$sth->DataSeek($row_number);

ตวอยางโปรแกรม

#!/usr/bin/perl use Mysql;

$host='localhost';

$DBname='Account'; $user='emily';

$password='test';

$table='Customer'; unless ($dbh = Mysql->Connect($host,$DBname,$user,$password))

die "Sorry, cann't connect Mysql";

unless ($dbh->SelectDB($DBname)) die "Sorry, cann't connect database";

$sth = $dbh->Query("select * from Customer");

while (@fields=$sth->FetchRow)

print "$fields[0]\n";

print "$fields[1]\n";

สรปฟงกชนและการคาท Return

Page 238: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

246 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Function Returns Mysql->Connect $dbh $dbh->SelectDB $dbh $dbh->Query $sth $sth->FetchCol @arr $sth->FetchRow @arr $sth->FetchHash %hash

2. การใช DBI

connect เปนฟงกชนเพอเชอมตอกบฐานขอมล $data_source คอการบอกชนดของ ฐานขอมลและชอฐานขอมลในการเชอมตอมรปแบบเปน DBI:driver_name การบอกชนดของ ฐานขอมลเพอจะไดใช driver ใหถกตองตามฐานขอมลทใช เชน data_source ของ MySQL จะเปน DBI:mysql:$database

connect($data_source, $username, $password)

ตวอยาง $dbh = DBI->connect("DBI:mysql:$database", $user, $password);

$dbh = DBI->connect("DBI:mysql:$database:$hostname",$user, $password);

$dbh = DBI->connect("DBI:mysql:$database:$hostname:$port",$user,

$password);

prepare เปนฟงกชนในการเตรยมคาสง SQL จะ return คา $sth เพอใช execute คาสง ในฟงกชน execute

$sth = $dbh->prepare($statement) or die "Can't prepare $statement: $dbh-

>errstr\n";

execute เปนฟงกชนทสงใหคาสง SQL ทเตรยมจากฟงกชน prepare ทางาน ถาเปน คาสง SQL ทไมใชคาสง select (insert,delete,update) จะ return คาของจานวนแถวทมผลในการสง (เชน ถาสง delete แลวลบไปกแถวมนกจะ return คานน) แตถาเปนคาสง select จะตองใชฟงกชน fetch ในการนาขอมลท select ไดมาแสดง

Page 239: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 247

$sth->execute;

do เปนฟงกชนทใชในการเตรยมคาสงและสงใหคาสงทางาน (prepare+execute) สาหรบคาสง SQL ทไมใชคาสง select (insert,delete,update) จะ return คาของจานวนแถวทมผลในการสง

$dbh->do($statement);

fetchrow_array เปนฟงกชนทดงขอมลหลงจากการ execute คาสง select จะใหคาเปน array ของขอมล

while(@row = $sth->fetchrow_array) print "row[0]\t $row[1]\n";

fetchrow_arrayref เปนฟงกชนทดงขอมลหลงจากการ execute คาสง select คลายกบฟงกชน fetchrow_array แตการอางถงตางกน

while($row_ref = $sth->fetchrow_arrayref) print "$row_ref->[0] \t $row_ref->[1] \n";

fetchrow_hashref เปนฟงกชนทดงขอมลหลงจากการ execute คาสง select จะใหคาเปน array ทสามารถอางถงไดจากชอฟลด

while($hash_ref = $sth->fetchrow_hashref) print " $hash_ref->name \t $hash_ref->address\n ";

Page 240: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

248 สรางอนเทอรเนตเซรฟเวอรดวย Linux

fetchall_arrayref เปนฟงกชนทดงขอมลหลงจากการ execute คาสง select มาเกบไว ทงหมด มคาเปน array 2 มต

$table = $sth->fetchall_arrayref or die "$sth->errstr\n"; for $i ( 0 .. $#$table )

for $j ( 0 .. $#$table->[$i] ) print "$table->[$i][$j]\t";

print "\n";

finish เปนฟงกชนทใชเมอไมตองการ fetch ขอมลใดๆ แลว

$sth->finish;

disconnect เปนฟงกชนทยกเลกการเชอมตอกบฐานขอมล ควรใชทกครงทออกจากโปรแกรม

$dbh->disconnect;

ตวอยางท 1 การใชคาสง select และแสดงขอมลโดยใชฟงกชน fetchrow_array

#!/usr/bin/perl use DBI;

$database='testdb'; $user='admin';

$password='test';

$table='customer'; $dbh=DBI->connect("DBI:mysql:$database",$user,$password);

$sth = $dbh->prepare( "SELECT * FROM $table" );

$sth->execute;

Page 241: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 249

while ( @field = $sth->fetchrow_array ) print "Name: $field[0]\n";

print "Address: $field[1]\n";

$sth->finish;

$dbh->disconnect;

exit;

ตวอยางท 2 การใชคาสง insert ขอมลโดยใชฟงกชน do

#!/usr/bin/perl

use DBI;

$database='testdb';

$user='admin';

$password='test'; $table='customer';

$dbh=DBI->connect("DBI:mysql:$database",$user,$password);

$dbh->do( "insert into $table values(‘mark’,’12345’)" );

$dbh->disconnect;

exit;

สรปฟงกชนและการคาท Return

Function Returns DBI->connect $dbh $dbh->disconnect $value $dbh->prepare $sth $sth->execute $value $dbh->do $value $sth->fetchrow_array @arr $sth->finish $value

Page 242: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

250 สรางอนเทอรเนตเซรฟเวอรดวย Linux

√ÿª«‘∏’°“√„™Èß“π 1. ตดตงโปรแกรม MySQL ทงในสวนของ Server และ Client

2. ตดตง Modules ในการเขยนโปรแกรม

3. สราง Grant Tables โดยใชคาสง mysql_install_db

4. สงให MySQL Server ทางานโดยรนคาสง mysql.server start

5. กาหนดสทธการใชงานของผใชใน Grant Tables

6. สรางฐานขอมลโดยใชคาสง mysqladmin create database_name

7. ตดตอกบฐานขอมลโดยใชคาสง mysql database_name

8. สรางตารางในฐานขอมลนนโดยใชคาสง SQL

9. เขยนโปรแกรมตดตอกบฐานขอมลเพอสราง Application ตามทตองการ

°“√·°È‰¢ª—≠À“ 1. ERROR 2002: Can't connect to local MySQL server ใหตรวจสอบวาม process

mysqld ทางานอยหรอไมโดยใชคาสง

~>ps ax | grep mysqld

ถาไมม mysqld ทางานอยใหใชคาสง ~>mysql.server start

2. หลงจากสงคาสง mysql.server แลวมขอความดงน ใหแกไข scripts mysql.server โดยแก basedir=ไดเรกทอรทเราตดตง mysql

mysql.server: /usr/local/mysql: No such file or directory

mysql.server: /usr/local/mysql/bin/mysqladmin: No such file or directory

3. ถาม ERROR วา Access denied แสดงวาอาจมปญหาเกยวกบ Grant Tables

• หลงจากตดตง MySQL ไดสงคาสง mysql_install_db แลวหรอยง

Page 243: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 28 การใชงานฐานขอมลดวย MySQL 251

• ไดสงคาสง mysqladmin reload หลงจากการกาหนดคาใน Grant Tables แลวหรอยง

• คาทกาหนดไปนนถกตองหรอไม

• ถาไดกาหนด Grant Tables แลว การตดตอกบฐานขอมลโดยใชคาสง mysql จะตองม option -u user_name -h host_name -p ดวย

”À√—∫ºŸÈ„™È Linux-SIS Linux-SIS เวอรชน 3.0 จะมการตดตง MySQL มาใหเรยบรอยแลว โดย Source Code

อยท /usr/local/src ตวโปรแกรมทตดตงแลวอยท /usr/local/etc/mysqld

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. MySQL Homepage, http://www.mysql.com/

2. DBI-A Database Interface Module for Perl5, http://www.hermetica.com/tech–nologia/DBI/

3. MySQL Documentation, http://www.alphacom.com/doc/mysql/production/

4. Perl, http://www.perl.com

Page 244: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

252 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในเครอขายทมเครองคอมพวเตอรจานวนมาก เชน หองอบรมคอมพวเตอร ตามสถานศกษาตางๆ นน ผดแลระบบอาจจะพบความยงยากในการตดตง IP Address และคาอนๆ ทางเครอขาย (DNS, Gateway, Netmask) ของพซแตละเครองใหถกตอง และระวงใหคา IP Address แตละเครองไมซากน เราสามารถใช DHCP Server มาชวยงานนได โดย DHCP Server สามารถแจกคา IP และคาอนๆ โดยอตโนมต อยางถกตอง โดยจะมระบบการควบคมไมใหใช IP Address ซากน นอกจากนยงเพมความสะดวกสบาย ไมตองตดตงคายงยากทแตละเครองพซ ซงมความเสยงตอการผดพลาดอกดวย

DHCP Dynamic Host Configuration Protocol (DHCP) จะเปนโปรโตคอลทเกยวของกบการ

ตดตงคาตางๆ ทางเครองขาย บนเครองคอมพวเตอร (Host) การใชงานจะมสองสวน คอ DHCP Server และ DHCP Client โดยตว Server จะเปนตวกาหนดคาตางๆ สาหรบ Client

ในการกาหนดคาตางๆ ใหกบ Client เชน การกาหนด IP Address ตว Server สามารถกาหนดระยะเวลาท Client สามารถใชไดดวย เชน ใชไดตลอดไป หรอใชได 10 นาทแลวตองมาขอใหมกได

ตามปกตในเครอขายหนงๆ ควรมเพยงหนง DHCP Server แตสามารถมหลาย Client ได DHCP Server จะตองเปดทางานตลอดเวลา เพอท Client ตวใดๆ สามารถขอใชบรการไดตลอดเวลา

Page 245: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 29 DHCP Server 253

ซอฟตแวรทสามารถทาหนาท DHCP ได มหลายตว ในทนจะใช DHCP Server จาก ISC (http://www.isc.org/dhcp.html) ซงปจจบนพฒนาถงเวอรชน 2 มคณสมบต เชน สามารถทดสอบ IP addresse กอนทจะแจกไปเพอปองกนการซากนอกขนหนง (กรณทผใชบางคนไมยอมตดตงเครองตวเองใหรบคา IP จาก DHCP Server) สามารถแจกคา Netmask, DNS ใหกบ Client ไดดวย นอกเหนอจาก IP Address สามารถทางานกบ BOOTP Client ได เปน

«‘∏’°“√µ‘¥µ—Èß 1. ดาวนโหลดซอฟตแวรจาก ftp://ftp.isc.org/isc/dhcp/ จะไดไฟล เชน dhcp-2.0b1pl6.

tar.gz ใสไวท /usr/local/src หรอทอนๆ ตามตองการ

2. แตกออกมาและทาการ Compile ดงน

#cd /usr/local/src #tar xzvf dhcp-2.0b1pl6.tar.gz #cd dhcp-2.0b1pl6 #./configure #make #make install #cp server/dhcpd.conf /etc

3. จากนนทานจะไดไฟล /usr/sbin/dhcpd และ Configuration File /etc/dhcpd.conf

4. แกไข /etc/dhcpd.conf ตามความตองการของทาน ตวอยางดงน

server-identifier openmind.nectec.or.th; # ชอเครอง DHCP Server option domain-name "nectec.or.th"; # โดเมนเนม subnet 192.168.1.0 netmask 255.255.255.0 # Network 192.168.1.0/24 range 192.168.1.11 192.168.1.254; # แจก IP ตงแตเลข .11 - .254 option domain-name-servers 192.168.1.1, 202.44.204.36; # DNS Server option domain-name “nectec.or.th"; # โดเมนเนม option routers 192.168.1.1; # Gateway Router

Page 246: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

254 สรางอนเทอรเนตเซรฟเวอรดวย Linux

option subnet-mask 255.255.255.0; # Netmask option broadcast-address 192.168.1.255; # Broadcast Address default-lease-time 43200; # คา Default เวลาทใหใชคาดงกลาว (วนาท) max-lease-time 43200; # คามากทสดของเวลาทใหใชคาดงกลาว (วนาท)

1. ใสบรรทดดงตอไปนไวใน Startup Script ของทาน เชน /etc/rc.d/rc.local และ Reboot เครอง Server

echo "Starting DHCP" /sbin/route add -host 255.255.255.255 dev eth0 /usr/sbin/dhcpd &

«‘∏’„™Èß“π 1. ใหแนใจวาเครอง DHCP Server เปด และมโปรแกรม dhcpd ทางานอย (ใช ps ax

|grep dhcpd แลวหาบรรทดทมคาวา dhcpd)

2. ทเครอง Client Windows95 ตดตง TCP/IP ใน Control Panel, Network โดยระบให

• ในสวน IP Address ใหระบ Obtain IP Address automatically

• ในสวน DNS ใหระบ Disabled DNS

• ไมตองใส Gateway หรออะไรเพมเตมทงสน

3. Reboot เครอง Client

4. เมอเครอง Boot กลบมา ควรจะไดรบแจก IP จาก DHCP Server โดยอตโนมต กด Start Menu, Run และเรยกใชคาสง “winipcfg” เพอดสถานะของ IP, Netmask, DNS, Gateway ของเครองในขณะน ลองใชคาสง Release, Renew เพอทดสอบการขอ IP อกครงจาก Server

Page 247: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 29 DHCP Server 255

°“√·°È‰¢ª—≠À“ • สามารถตรวจดการทางานของ DHCP Server โดยใชคาสง tail –f /var/adm/

messages (กด CTRL-C เพอออก)

• หากเครอง PC ไมไดรบ IP จาก DHCP Server ใหตรวจสอบใหแนใจวาทง Server และ Client อยใน Physical Network เดยวกน เชน อยใน Hub หรอ Switch เดยวกน อาจลองตดตง IP Address ใหกบ PC Client เองกอน แลวทดสอบโดยใชคาสง ping ระหวางเครอง Server กบ Client วาเหนกนหรอไม

• DHCP Server จะเกบคา IP ตางๆ ทเคยแจกไปแลวไวทไฟล /etc/dhcpd.leases ถาเปนการใชงาน DHCP Server เปนครงแรก ทานอาจสรางไฟลวางๆ ขนมา (เชน ใช คาสง touch /etc/dhcpd.leases )หากทานเผลอลบไฟลนไป อยาสรางไฟลวางๆ ขนมาแทนแบบครงแรก เพราะการแจก IP ตอไปอาจผดพลาดและซากบทแคยแจกไปแลว แตให Copy ไฟล dhcpd.leases~ (จะเปนไฟลสารองซง DHCP Server สรางขนโดยอตโนมต) มาเปน dhcpd.leases แทน

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมการตดตง dhcpd-2.0b1pl6 มาใหแลว โดย Source Code จะ

อยท /usr/local/src/ ตวโปรแกรม dhcpd จะอยท /usr/sbin และมตวอยาง Configuration File อยท /usr/local/etc/default-config/ การเรยกใช dhcpd จะถกบรรจใน Startup Script /etc/rc.d/ rc.local และ rc.dhcpd

ในขนตอนการตดตงทถามวา ทานตองการใหเครองนทางานเปน DHCP Server หรอไม ใหตอบวา ใช ระบบจะทางานเปน DHCP Server โดยอตโนมต ทานสามารถแกไข /etc/dhcpd.conf ใหเปนตามตองการ

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • man page ของ dhcpd, dhcpd.conf, dhcpd.leases

• http://www.isc.org/dhcp.html

• RFC951, 2131, 2132

Page 248: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

256 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในบทนจะกลาวถง Server อนๆ เพมเตม เชน News, File และ Print Server, FTP Server โดยจะกลาวเนอหาโดยสรป และใหรายละเอยดททานสามารถหาขอมลไดเพมเตมกรณทสนใจ

News Server (INN) ในการแลกเปลยนขาวสารขอมลบนเครอขายอนเทอรเนตนน นอกจากจดหมายอเลกทรอ–

นกส (E-mail) และ World Wide Web นน ยงมสงทเรยกวา USENET Newsgroup เปนระบบกลมขาว ทมมาตงแตยคแรกเรมของอนเทอรเนตเลยทเดยว กลมขาวแตละกลมจะเรยกวา Newsgroup ซงในปจจบนนมมากกวา 20,000 กลมขาว โดยผใชสามารถเลอกตามความสนใจไดวา จะเขาไปยงกลมขาวไหน และเลอกขาวแตละหวเรองตอไป กลมขาวทเกยวกบคนไทยกม เชน soc.culture.thai เปนตน

เครองทใหบรการกลมขาวน เราจะเรยกวา News Server ซง News Server แตละตว จะมการแลกเปลยนขอมลระหวางกน เชน เครองใหบรการท NECTEC จะมชอวา news.nectec.or.th จะมการแลกเปลยนกลมขาวกบ news.inet.co.th (เครองใหบรการของ บรษท อนเทอรเนต ประเทศไทย จากด) และ news.chiba.nacsis.ad.jp (เครองใหบรการในญปน) ซงเครองเหลาน กจะมการแลกเปลยนกลมขาวกบเครองอนๆ โยงกนไป ทาใหขอมลของกลมขาวในแตละเครองมความทนสมยทวถงกนนนเอง

Page 249: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 30 Server เพมเตมอนๆ: News, File&Print, FTP 257

การแลกเปลยนกลมขาวกนจะทาโดยใชโปรโตคอล NNTP (Network News Transfer Protocol) หรอ UUCP (Unix-to-Unix Copy) ปจจบนจะนยมใช NNTP มากกวา สวนการอาน (Read) และสง (Post) เอกสารลงไปในแตละหวเรอง จะทาโดยใชโปรโตคอล NNRP (Network News Reader Protocol)

ในการทจะอานและสงเอกสารในระบบ USENET News น เครองผใชจะตองมโปรแกรม News Client เชน Netscape News หรอโปรแกรม rtin บนระบบ Unix สวนเครองผใหบรการกจะตองมซอฟตแวร NNRP Server สาหรบการตดตอกบโปรแกรมของผใช และมซอฟตแวร NNTP Server เพอแลกเปลยนกลมขาวกบ News Server อนๆ

ปจจบน มบรการทเราสามารถอานและสงเอกสารในระบบ USENET ผาน WWW เชน http://www.dejanews.com/ โดยไมตองยงยากตดตง และดแลระบบ News Server เอง

ตวอยาง ซอฟตแวรททาหนาทเปน NNTP และ NNRP Server เชน INN, Cnews, Dnews, Netscape Collabra Server

INN (InterNet News) เปนซอฟตแวรทสามารถทาหนาทเปน NNTP และ NNRP Server ตวหนง มประสทธภาพและความออนตวสง สาหรบใน Linux-SIS เวอรชน 3.0 จะมการตดตงซอฟตแวร INN เวอรชน 2.2 มาใหเรยบรอยแลว โดย Source Code จะอยท /usr/local/src/inn-2.2 และตดตงไวท /usr/local/etc/news

• ทานสามารถอาน /usr/local/src/inn-2.2/INSTALL สาหรบรายละเอยดเพมเตมทควรรในการตดตง INN

• ทานสามารถอาน /usr/local/src/inn-2.2/sissetup.txt ถงวธการทผจดทา Linux-SIS ไดทาในขนตอนการตดตง INN

• ตวอยาง Configuration File สาหรบตดตง News Server ใหรบแลกเปลยนกลมขาว กบ News Server ของ NECTEC (news.nectec.or.th) อยภายใต /usr/local/etc/news/etc โปรดแกไขไฟล inn.conf, newsfeed, innfeed.conf, nntpsend.ctl, nnrp.access ใหตรงกบความตองการของทาน และตดตอ [email protected] แจงชอและ IP Address เครองของทาน และแสดงความจานงขอรบ Feed Newsgroup จาก NEC–TEC

Page 250: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

258 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ตวอยาง active file ของ news.nectec.or.th จะอยท /usr/local/etc/news/db

• โปรดอานเอกสารจากแหลงขอมลเพมเตม

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ ”À√—∫ USENET News Server • RFC 977: USENET's Network News Transfer Protocol

• http://www.isc.org/inn.html

• man page ของ innd, inn.conf, newsfeed และอนๆ อกมากมายภายใต /usr/local/src /inn-2.2/doc

• http://ntl.nectec.or.th/pubnet/services/news/

File & Print Server: Samba ในการ Share File สาหรบระบบปฏบตการแบบ Unix และ Unix-Compatible ทวไปนน

เรามกจะใช NFS (ใชคาสง man nfs สาหรบรายละเอยดเพมเตมเกยวกบ NFS) แตในการใชไฟลรวมกบเครองทใชระบบปฏบตการของ Microsoft Windows (3.1, 95, 98 หรอ NT) นน จะตองใชโปรโตคอล SMB (Session Message Block) ดงนน การทเครอง Linux สามารถจะ Share ไฟล, Printer หรอใชบรการ File และ Print Sharing จากเครองทใชระบบปฏบตการของ Microsoft ไดนน Linux จะตองมซอฟตแวรทเขาใจโปรโตคอล SMB ซงกมตวทใชกนแพรหลายกคอ Samba นนเอง

Samba เปนชดซอฟตแวรทมความสามารถและรายละเอยดคอนขางซบซอน สามารถทาหนาทเปนไดทง SMB Server (ใหบรการ) และ SMB Client (ใชบรการ) ซอฟตแวรททาหนาทเปน Server คอ smbd และ nmbd สวนททาหนาทเปน Client เชน smbclient, smbprint และมซอฟตแวรเพมเตมเชน smbstatus ใชสาหรบดสถานะการใชงาน SMB

ในสวนของ SMB Server จะม Configuration File คอ smb.conf (Default อยท /etc /smb.conf) ทจะระบรายละเอยดวา Workgroup/Domain เปนอะไร และจะให Share File, Printer ไหนบาง ใครมสทธอานเขยนไดบาง เปนตน

Page 251: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 30 Server เพมเตมอนๆ: News, File&Print, FTP 259

สาหรบ Linux-SIS เวอรชน 3.0 จะมการตดตง Samba มาใหแลว (หากทานไมตองการให Samba ทางาน ใหใชคาสง chmod –x /etc/rc.d/rc.samba) และม Configuration File ท /etc/smb.conf ดงน

[global] workgroup = SCHOOL

server string = Linux-SIS Server

hosts allow = 192.168.1. 127.

load printers = yes

guest account = languest

log file = /var/adm/samba/log.%m

max log size = 50

security = user

socket options = TCP_NODELAY dns proxy = no

[homes]

comment = Home Directories

browseable = no

writable = yes

[printers]

comment = All Printers path = /usr/spool/samba

browseable = no

guest ok = no writable = no

printable = yes

[share]

comment = Share Space

path = /usr/local/share read only = yes

public = yes

[www]

comment = WWW

Page 252: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

260 สรางอนเทอรเนตเซรฟเวอรดวย Linux

path = /www writelist = @staff

[cgi-bin]

comment = CGI

path = /cgi-bin

writelist = @staff

จากตวอยาง smb.conf ทใชใน Linux-SIS ขางตน ยกตวอยางคาอธบายสาหรบหวขอทสาคญไดดงน

• workgroup เปนชอ Workgroup ทใชในเครอขายของทาน (ตงใหตรงกบเครองพซอนๆ)

• server string เปนคาอธบายรายละเอยดของเครองของเรา

• host allow IP address ทเรายอมใหใชบรการ SMB Server จากเครองเราได เชน 192.168.1 แปลวาเครองพซทม IP address 192.168.1.* สามารถใชบรการจากเครองเราได

• จะมการ Share File ทงหมดหาสวนคอ homes, printer, share, www, cgi-bin

• สวน Home จะเปนการ Share Home ไดเรกทอรของผใชแตละคน

• Printer จะเปนการ Share Printer ทตออยกบเครอง Linux ใหกบเครองพซ (Micro–soft Windows)

• สวน Share จะเปนการ Share ไดเรกทอร /usr/local/share แบบอานไดอยางเดยว (read only = yes) และทกคนสามารถอานได (public = yes)

• สวน www และ cgi-bin จะเปนการ Share ไดเรกทอร /www และ /cgi-bin ตามลาดบ โดยเฉพาะผใชทอยใน Group Staff เทานนทสามารถเขยนได (writelist = @staff)

การเรยกใชงาน SMB Server สามารถทาไดสองวธ (เลอกอยางใดอยางหนง) คอ ใชจาก inetd โดยใสบรรทดตามตวอยางนลงในไฟล /etc/inetd.conf

Page 253: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 30 Server เพมเตมอนๆ: News, File&Print, FTP 261

netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd

netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

หรอใชงานแบบ Stand-alone ใสไวใน Start up Script ของระบบ (เชน /etc/rc.d/rc.samba ใน Slackware และ Linux-SIS) ดงน

# rc.samba: Start the samba server #

if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd ]; then

echo "Starting Samba..." /usr/sbin/smbd -D

/usr/sbin/nmbd -D

fi

สาหรบเครอง PC (Microsoft Windows 95) ทจะใชบรการ SMB Server จากเครอง Linux นจะตอง

• ตงคา Workgroup ใหตรงกบทระบไวใน smb.conf ของเครอง Linux

• ใน Control Panel, Network จะตองม Service File&Print Sharing for Microsoft Network และ Log on to Microsoft Network

• Log on เปน User ทตรงกบทมอยบนเครอง Linux (แตรหสผานบนเครอง Windows ไมจาเปนตองตรงกบบนเครอง Linux)

• Log on เปน languest ถาตองการใชในแบบ guest

• เมอ Log on เรยบรอยแลวคลกท Network Neighborhood จะเหนชอเครอง Linux อยคลกเขาไป ตองใสรหสผานของ User นนๆ บนเครอง Linux อกครง (อนนเปนเหตผลวาทาไมรหสผานบน Windows และ Linux ไมจาเปนตองตรงกน เนองจากเดยวมนจะถามอกทอยแลว)

Samba สามารถทาหนาทเปน SMB Server (และ Client) ไดอยางสมบรณแบบ มรายละเอยดปลกยอยอกมากมาย ผสนใจโปรดอานรายละเอยดจากแหลงขอมลเพมเตม

Page 254: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

262 สรางอนเทอรเนตเซรฟเวอรดวย Linux

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ ”À√—∫ SAMBA • man page ของ smbd, nmbd และ smb.conf

• http://samba.anu.edu.au/samba

• ftp://nimbus.anu.edu.au/pub/tridge/samba/

• http://us1.samba.org/samba/docs/

• ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/SMB-HOWTO

• หนงสอ Samba: Integrating UNIX and Windows โดย John Blair, a Samba Team member

FTP: Wu-ftpd FTP (File Transfer Protocol) เปนบรการโอนถายแฟมขอมล ทมมาตงแตในสมยยคแรกๆ

ของอนเทอรเนตเลยทเดยว ระบบปฏบตการ Unix เกอบทกตว จะมซอฟตแวร FTP Server มาใหพรอมอยแลว สามารถใชงานไดทนท โดยมกจะถกเรยกใชงานจาก inetd ทานสามารถตรวจสอบในระบบของทานวามบรรทดเชนตามตวอยางดานลางนใน /etc/inetd.conf หรอไม

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a

ทานสามารถทดสอบการทางานของ FTP Server ของทานโดยการใช FTP Client เชน WS-FTP, CuteFTP จากเครองพซของทาน มายงเครอง Server (หากทานไมทาสามารถทาการ FTP มายงเครอง Server ของทานได อาจตองตรวจสอบใหแนใจวา การทางานของ TCP-Wrapper ไมได หามการใช FTP จากเครองพซของทาน โปรดอานบทท 37 เรอง TCP-Wrapper สาหรบรายละเอยดเพมเตม)

ระบบ Linux สวนใหญ จะถกตดตง FTP Server ยหอทชอวา WU-Ftpd ซงเปนตวท แพรหลายมาก เดมพฒนาโดย Washington Univertisy (WU) ในประเทศสหรฐอเมรกา ปจจบนพฒนาโดย Academ Consulting Service

Page 255: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 30 Server เพมเตมอนๆ: News, File&Print, FTP 263

FTP Server สามารถทาหนาทในโหมดปกต คอ ผใช Login เปนชอผใชปกต (ตองมบญชอยบนเครอง Linux นนอยแลว) และโหมด Anonymous ทจะรบผใชใดๆ ทใส Login เปน anonymous และรหสผานเปน E-mail ของผนนๆ (เชน บรการของ ftp.nectec.or.th) กได ในโหมด Anonymous ผใชททาการ FTP เขามา จะพบกบไดเรกทอรเรมแรกคอ /home/ftp จะไมสามารถ Change directory ไปทอนนอกเหนอจากนได ดวยเหตผลดานความปลอดภย ดงนน ถาทานตองการจะใหบรการ Anonymous FTP Server ทานจะตองนาไฟลทตองการใหผใชเหนได ไปไวภายใต /home/ftp สวนมากจะนยมเอาไวใต /home/ftp/pub (pub ยอมาจาก public กแปลวา สาธารณะ นนเอง)

สาหรบ Linux-SIS เวอรชน 3.0 จะมการตดตง WU-FTPd เวอรชน 2.4.2-academ[BETA-18-VR 13] มาใหเรยบรอยแลว แตการทางานในโหมด Anonymous จะถกหามไวอย หากทานตองการใชงานในโหมด Anonymous ตองแกไขไฟล /etc/passwd และเอาเครองหมาย “:” หนาบญชทชอวา ftp ออก

ftp:x:404:1::/home/ftp:/bin/bash

Configuration File ของ FTP Server จะอยภายใตไดเรกทอร /etc ม 4 ไฟลคอ

• ftpaccess กาหนดรายละเอยดการทางานของ FTP Server และสทธของผใช

• ftpconversions กาหนดโปรแกรมทเรยกใช กรณทผใชใชคาสง get <directory_ name>.tar สาหรบการดาวนโหลดไฟลทงไดเรกทอร หรอ get <filename>.Z สาหรบดาวนโหลดไฟลพรอมทาการ Compress ใหกอนดวย

• ftpgroups ใชสาหรบการใชคาสง SITE GROUP และ SITE GPASS

• ftpusers รายชอผใชทอยในไฟลน จะไมสามารถทาการ ftp ได

สาหรบการใชงานในโหมดผใชธรรมดานน (ไมใช Anonymous) กรณท Shell ทผใช ใช ไมไดมแสดงไวในไฟล /etc/shells อาจจะทาใหผใชรายนนไมสามารถทาการ FTP ได

สาหรบผสนใจในการใชงาน WU-FTP Server อยางละเอยด โปรดอานเอกสารจากแหลงขอมลเพมเตม

Page 256: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

264 สรางอนเทอรเนตเซรฟเวอรดวย Linux

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ ”À√—∫ WU-FTP Server • http://www.academ.com/academ/wu-ftpd/

• ftp://ftp.wustl.edu/packages/wuarchive-ftpd/

• man page ของ ftpd, ftpaccess, ftpshut, ftpconversions

• ftp://ftp.vr.net/pub/wu-ftpd

Page 257: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

266 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในการเชอมตอกบเครอขายอนเทอรเนตแบบองคกร (แบบโหนด) นน ทานจะตองเชาวงจรสอสาร จากหนวยงานของทานไปยงผใหบรการอนเทอรเนต ในการทจะทราบวาวงจรทเราเชานน มการใชงานมากแคไหน เชน เราเชาวงจรขนาด 64 Kbps และตองการทราบวาเราใชถง 64 Kbps หรอยง ควรทจะเพมขนาดหรอไม เรานยมทจะใชเครองมอเพอชวยแสดงสถตการใชงานของวงจรสอสารของเรา

MRTG (Multi Router Traffic Grapher) เปนเครองมอทชวยในการดปรมาณขอมลเขาออกของวงจรสอสารทเปนทนยมใชกนแพรหลายมาก โดยแสดงผลขอมลเปน HTML และสรางรปภาพเปนรปแบบของ GIF ไฟล สามารถดไดผานทาง WWW Browser เชน Netscape หรอ Internet Explorer ตวอยางผลงานของ MRTG เชนท http://ntl.nectec.or.th/thaisarn/op

§ÿ≥ ¡∫—µ‘¢Õß‚ª√·°√¡ MRTG • ทางานไดทงบนระบบปฏบตการ UNIX และ Windows NT

• มการแสดงผลเปนกราฟสามารถเขาใจไดงาย

• รายงานผลเปนรายวน รายสปดาห รายเดอน รายป

• ใชโปรโตคอล SNMP ในการเกบขอมลจากอปกรณเลอกเสนทาง (Router) หรออปกรณใดๆ ทสนบสนน SNMP

«‘∏’°“√µ‘¥µ—Èß 1. โปรแกรมทตองตดตงทงหมดไดแก

Page 258: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 31 MRTG 267

• โปรแกรม Perl เวอรชน 5.003 ขนไป ในทนจะไมกลาวถงวธตดตงเพราะสวนใหญโปรแกรม Perl จะมมากบ Linux-SIS และ Linux ทวไปอยแลว แตหากทานมความจาเปนตองตดตง ใหดรายละเอยดเพมเตมท http://www.perl.com

• GD Library ซง MRTG จะตองใชในการสรางรป

• โปรแกรม MRTG

2. ตดตง GD Library (หากระบบของทานยงไมม วธตรวจสอบคอดวามไฟล libgd.a ใน /lib//usr/lib หรอ usr/local/lib บางหรอเปลา) ถาม คอลงแลวใหขามขอนไป

• ดาวนโหลดไดจาก http://www.boutell.com/gd/

• Unpack โปรแกรม และตดตง GD Library โดยใหทาตามตวอยางดานลางน

#gzip -cd gd.tar.gz | tar xvf - #make

#cp *.h /usr/local/include

#cp libgd.a /usr/local/lib

3. ตดตง MRTG

• ดาวนโหลดไดจาก http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg.tar.gz

• Unpack โปรแกรม MRTG (โดยใชคาสง gzip –cd mrtg.tar.gz |tar xvf - ) เหมอนตวอยางขางตน

• แกไขไฟล Makefile ระบทอยของ GD ทตดตงจากหวขอท 2 และระบทอยของ PERL

GD_INCLUDE=/usr/local/include/gd

GD_LIB=/usr/local/lib

PERL=/usr/bin/perl

• สงคาสง make

Page 259: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

268 สรางอนเทอรเนตเซรฟเวอรดวย Linux

#make rateup

#make substitute

«‘∏’°“√µ‘¥µ—Èߧ˓ 1. สรางไฟล Configuration เพอกาหนดการทางานของ MRTG โดยใชคาสง cfgmaker

#cfgmaker <community>@<router>

community เปรยบเหมอนรหสผานทจะสามารถไปเอาขอมลมาจาก Router ได ซงรหสผานนจะตองถกกาหนดไวท Router ใหตรงกน คาเรมตนสวนมากเปน public (ควรเปลยนใหเปนคาอน)

router จะแทนดวยชอหรอ IP ของ Router ทเราตองการขอมล

ตวอยางเชน ตองการสรางไฟลชอ router.cfg เพอเปน Configuration ของ Router ชอ router.nectec.or.th โดยม community เปน secret123

#cfgmaker [email protected] > mrtg.cfg

2. แกไขไฟลทไดจากขอ 1. (mrtg.cfg) ดงน

WorkDir: /usr/local/etc/httpd/htdocs/mrtg Target[router1]: 1:[email protected] MaxBytes[router1]: 12500000 Title[router1]: router.nectec.or.th : FastEthernet1/0 PageTop[router1]: <H1>Traffic Analysis for FastEthernet1/0 </H1> Options[router1]: growright, bits

Target[router2]: 2:[email protected] MaxBytes[router2]: 12500000 Title[router2]: router.nectec.or.th : FastEthernet2/0 PageTop[router2]: <H1>Traffic Analysis for FastEthernet2/0 </H1> Options[router2]: growright, bits

Page 260: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 31 MRTG 269

ตวแปร WorkDir กาหนดไดเรกทอรทเกบผลลพธ ถาเราตองการใหแสดงบน Web กใหเปนไดเรกทอร ทอยใต Document Root

ตวแปร Target กาหนดวาจะไปเอาขอมลทไหน โดยคาเหลานโปรแกรม cfgmaker จะทาหนาทไปเอาขอมลมาใหทงหมด แลวเราตองเลอกคาทเราตองการ ภายในวงเลบจะเปนชอทระบของแตละ Interface ชอนสามารถแกไขใหกระชบตามทเราเขาใจได และชอนยงเปนชอไฟลท mrtg สรางเปนผลลพธแบบ html ดวย แตตองแกไขใหถกตองภายในตวแปรอนๆ ดวย

ตวแปร MaxBytes คอคาทบอกความเรวสงสดของ Interface นน ภายในวงเลบตองระบชอใหตรงกบชอทระบไวใน ตวแปร Target ดวย

ตวแปร Title คอหวขอทระบใน tag <title> ของ HTML

ตวแปร PageTop คอหวขอใหญของ Web Page

ตวแปร Options ระบคณสมบตเพมเตมไดเชน growright ใหแกนเวลาดจากซายไปขวา และ bits จะแสดงขอมลเปน bits ซงคาตงตนทใหมาจะเปนขอมลเปน Bytes

«‘∏’°“√„™Èß“π 1. สงให mrtg ทางานไดโดยใชคาสง

#./mrtg mrtg.cfg

ผลลพธจากคาสงนจะทาใหมขอความ WARNING ดงน เปนเพราะเรมแรกยงไมม log files เกบไว ใหสงคาสงนเรอยๆ WARNING จะหายไปเอง

Rateup WARNING: .//rateup could not read the primary log file for router1 Rateup WARNING: .//rateup The backup log file for router1 was invalid as

well Rateup WARNING: .//rateup Can't remove router1.old updating log file

Rateup WARNING: .//rateup Can't rename router1.log to router1.old

updating log file

Page 261: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

270 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. กาหนดให mrtg ทางานทก 5 นาท โดยใสไวใน crontab

0,5,10,15,20,25,30,35,40,45,50,55 * * * * <mrtg-path>/mrtg <path to mrtg-

cfg>/mrtg.cfg

µ—«Õ¬Ë“ߺ≈≈—æ∏Ï จะมกราฟผลลพธทงหมด 4 กราฟ ไดแก กราฟรายวน รายสปดาห รายเดอน และรายป

`Daily' Graph (5 Minute Average)

Max In: 5201.6 kb/s (6.5%) Average In: 2502.6 kb/s (3.1%) Current In: 3373.7 kb/s (4.2%) Max Out: 1843.4 kb/s (2.3%) Average Out: 1054.9 kb/s (1.3%) Current Out: 1616.5 kb/s (2.0%) `Weekly' Graph (30 Minute Average)

Max In: 5201.6 kb/s (6.5%) Average In: 2490.6 kb/s (3.1%) Current In: 3173.9 kb/s (4.0%) Max Out: 2322.6 kb/s (2.9%) Average Out: 1154.9 kb/s (1.4%) Current Out: 1524.1 kb/s (1.9%) `Monthly' Graph (2 Hour Average)

Page 262: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 31 MRTG 271

Max In: 7955.5 kb/s (9.9%) Average In: 2373.0 kb/s (3.0%) Current In: 2694.9 kb/s (3.4%) Max Out: 3584.4 kb/s (4.5%) Average Out: 1194.4 kb/s (1.5%) Current Out: 1239.0 kb/s (1.5%) `Yearly' Graph (1 Day Average)

Max In: 53.7 Mb/s (67.1%) Average In: 2204.6 kb/s (2.8%) Current In: 2561.4 kb/s (3.2%) Max Out: 15.2 Mb/s (19.0%) Average Out: 857.2 kb/s (1.1%) Current Out: 1097.7 kb/s (1.4%)

°“√·°È‰¢ª—≠À“ 1. ถาไดรบ Error ดงขอความขางลาง ใหตรวจสอบ community ทตงไวท Router วามคา

ตรงกนหรอไม

SNMP Error:

no response received

SNMPv1_Session (remote host: "router.nectec.or.th" [205.44.201.10].161

community: "secret123" request ID: 419107470

PDU bufsize: 8000 bytes timeout: 2s retries: 5

backoff: 1)

SNMPGET: Failed to reach target: "1:[email protected]". I

tried multiple times

Page 263: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

272 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. ถาไดรบ Error ดงขอความขางลางใหกอบปไฟล SNMP_Session.pm และไฟล BER.pm ไปไวท /usr/lib/perl5

Can't locate SNMP_Session.pm in @INC (@INC contains: . /usr/lib/perl5/i486-linux/5.00403 /usr/lib/perl5

/usr/lib/perl5/site_perl/i486-linux /usr/lib/perl5/site_perl .) at mrtg line 71.

BEGIN failed--compilation aborted at mrtg line 71.

Can't locate BER.pm in @INC (@INC contains: ./ /usr/lib/perl5/i486-

linux/5.00403 /usr/lib/perl5 /usr/lib/perl5/site_perl/i486-linux

/usr/lib/perl5/site_perl .) at /usr/lib/perl5/SNMP_Session.pm line 33. BEGIN failed--compilation aborted at /usr/lib/perl5/SNMP_Session.pm line

33.

BEGIN failed--compilation aborted at ./mrtg line 71.

3. ถาไดรบ Error ดงขอความขางลาง ใหลบไฟลทมชออยในวงเลบ

ERROR: I guess another mrtg is running. A lockfile (mrtg.cfg_l) aged 172 seconds is hanging around. If you are sure that no other mrtg

is running you can remove the lockfile

4. ถาไดรบ Error ดงขอความขางลาง แสดงวาหาโปรแกรม rateup ไมเจอ ให copy rateup ไปไวใน Path ทมนรจก เชน /usr/local/bin หรอ /usr/bin เปนตน

Can't Execute './/rateup'

”À√—∫ Linux-SIS 3.0 • Linux-SIS เวอรชน 3.0 ไดมการตดตง MTRG เวอรชน 2.5.4c มาใหเรยบรอยแลว โดย

สวน Source Code อยท /usr/local/src/mrtg-2.5.4c/ ทานสามารถใชคาสง cfgmaker เพอสราง mrtg.cfg และเรยกใช mrtg ไดทนท สามารถใสไวใน cron ใหทางานตามตองการ ดงตวอยางขางตน

Page 264: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 31 MRTG 273

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ 1. MRTG Homepage, http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html

2. GD library by Thomas Boutell, http://www.boutell.com/gd/

Page 265: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

274 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Webmin เปนซอฟตแวรทใชเพอชวยในการบรหารงานเครอง (System Administration) ผานทาง WWW ซงจะเปน Graphics User Interface ชวยลดภาระสาหรบผดแล ไมตองเรยนรคาสง Unix ยงยาก แนวคดคลาย Web Admin Tool ของ Linux-SIS

§ÿ≥ ¡∫—µ‘¢Õß‚ª√·°√¡ WebMin • ทางานไดบนระบบปฏบตการ UNIX หลายยหอ เชน Linux, FreeBSD, Sun Solaris

• ผใชสามารถสงงานผานทาง WWW โดยใช Web Browser ทวไป

• สามารถบรหารบญชผใช, Apache WWW Server, DNS, Cron, Samba และอนๆ อกมากมาย

• ตวโปรแกรมของ Webmin สนบสนนใหมการรวมพฒนา ตอไปในอนาคต ในลกษณะ Module (คลายกบ Plug in ของ Netscape Browser)

«‘∏’°“√µ‘¥µ—Èß 1. หากตองการใชงาน Webmin ผาน SSL (Secure Socket Layer) ทานจะตองตดตง

โปรแกรมเหลานกอน

Page 266: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 32 Webmin 275

• SSLeay C library, version 0.9.0a, http://www.webmin.com/webmin/download /SSLeay-0.9.0a.tar.gz

• SSLeay Perl module, version 0.04, http://www.webmin.com/webmin/download /Net_SSLeay.pm-1.01.tar.gz

2. ตดตง Webmin

• ดาวนโหลดไดจาก http://www.webmin.com

• Unpack โปรแกรม (อาจใชคาสง gzip –dc webmin.tar.gz | tar xvf -) และเรยกโปรแกรม setup.sh ซงจะนาทานสการตดตง โดยจะใหเลอกระบบปฏบตการของทาน (เชน Slackware 3.5 Linux), path ทจะเกบโปรแกรม Webmin เชน /usr/ local/etc/webmin, port ท Webmin จะทางานอย เชน 444 และถาตองการใช SSL กใหตอบไป (Yes)

• ถาตองการให Webmin ทางานทกครง ตองใสไวใน start up script ดวย ขนอยกบระบบปฏบตการของทาน เชน ใสคาวา /usr/local/etc/webmin/start ไวใน /etc/rc.d /rc.webmin สาหรบระบบ Linux-SIS 3.0 ซงจะถกเรยกใชโดย /etc/rc.d/rc.local

«‘∏’°“√„™Èß“π • ทานสามารถเรยกใช Webmin ไดโดยใช WWW Browser เรยกไป ท (http://<ชอ เครอง

ของทาน>:<port ท Webmin ทางานอย>/) หรอ (https://<ชอ เครองของทาน>:<port ท Webmin ทางานอย>/) กรณททานใช SSL เชน https://openmind.nectec.or.th:444/

• หลงจากนนจะมหนา Webmin แสดงขนมา และมรปตางๆ ใหเราเลอกวาเราจะบรหารเครองในเรองอะไร เชน User Account, DNS, Printer

Page 267: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

276 สรางอนเทอรเนตเซรฟเวอรดวย Linux

µ—«Õ¬Ë“ߺ≈≈—æ∏Ï

°“√·°È‰¢ª—≠À“ • ถาในขณะททาการตดตง ไมมการถามวา Use SSL (Y/N)? แสดงวาทานยงไมได

ตดตง SSLeay หรอ SSLeay Perl โปรดตดตงสองโปรแกรมนกอน ถาจะใช SSL (การใช SSL จะทาใหมการเขารหสขอมลทสงระหวาง Web Server และ Web Browser จะมความปลอดภยมากขน)

Page 268: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 32 Webmin 277

”À√—∫ Linux-SIS 3.0 • Linux-SIS เวอรชน 3.0 ไดมการตดตง SSLeay-0.9.0b, Net_SSLeay.pm-1.02 และ

Webmin-0.65 เรยบรอยแลว Source Code จะอยภายใต /usr/local/src สามารถเรยกใช setup.sh เพอทาการตดตงไดทนท (ทานตองลงสวน sis ตอนทตดตง)

• ถาทานตองการให Webmin ทางานทกครงทเปดเครอง ใหใชคาสง chmod +x /etc/rc.d/rc.webmin

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://www.webmin.com/

Page 269: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

278 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Mirror เปนโปรแกรมทใชเพอชวยในการทา ftp แบบทละหลายๆ ไดเรกทอร จาก FTP Server มายงเครองเรา หลงจากการทา Mirror ขอมลทตนฉบบกบทเครองเราจะเหมอนกน จงเปนทมาของคาวา Mirror ทแปลวากระจกนนเอง โปรแกรม Mirror เปนทนยมใชกนแพรหลายทวโลก มคณสมบตเดนมากมาย

§ÿ≥ ¡∫—µ‘¢Õß‚ª√·°√¡ Mirror • ทางานไดทงบนระบบปฏบตการทงตระกล UNIX และ Microsoft Windows 95, NT

• ทางานบนโปรแกรม Perl5

• สามารถเปรยบเทยบไฟล (ขนาด และเวลาทแกไขครงสดทาย) กอนทาการดาวนโหลดได

«‘∏’°“√µ‘¥µ—Èß 1. ดาวนโหลดไดจาก ftp://sunsite.org.uk/packages/mirror/mirror.tar.gz

2. Unpack โปรแกรม (อาจใชคาสง gzip –dc webmin.tar.gz | tar xvf -) ลงท /usr/local /src (หรอทอน ตามตองการ)

3. อานไฟล index.html

4. mkdir /usr/local/etc/mirror (หรอชออนตามความตองการ)

Page 270: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 33 Mirror package 279

5. cd /usr/local/etc/mirror

6. ln –s /usr/local/src/mirror/mirror.pl .

7. cp /usr/local/src/mirror/mirror.defaults .

8. แกไขไฟล mirror.defaults ใหเปนตามความตองการของทาน ตวอยางมดงน

# Default setting for Linux-SIS Version 3.0

# [email protected], Nov 6, 1998

#

package=defaults

# The LOCAL hostname - if not the same as `hostname`

hostname=openmind.nectec.or.th

# Keep all local_dirs relative to here

local_dir=/home/ftp/pub/ # The local_dir must exist FIRST

#local_dir_check=true

remote_password=mirror-master@

[email protected]

# Don't mirror file modes. Set all dirs/files to these

dir_mode=0755 file_mode=0444

# By defaults files are owned by root.zero

user=0 group=0

# # Keep a log file in each updated directory

# update_log=.mirror update_log=

# Don't overwrite my mirror log with the remote one.

# Don't pull back any of their mirror temporary files. # nor any FSP or gopher files...

exclude_patt=(^|/)(\.mirror$|\.mirror\.log|core$|\.cap|\.in\..*\ .$|MIRROR\.LOG|#.*#|\.FSP|\.cache|\.zipped|\.notar|\.message|lost\+found/|Network

Trash Folder)|suky.mpe?g # Do not to compress anything compress_patt=

compress_prog=compress # Don't compress information files, files that don't benifit from

Page 271: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

280 สรางอนเทอรเนตเซรฟเวอรดวย Linux

# being compressed, files that tell ftpd, gopher, wais... to do things,

# the sources for compression programs...

# (Note this is the only regexp that is case insensitive.)

# z matches compress/pack/gzip, gz for gzip. (built into perl)

# taz/tgz is compressed or gzipped tar files # arc, arj, lzh, zip and zoo are pc and/or amiga archives.

# sea are mac archives.

# vms used -z instead of .z. stupid vms.

# shk is multimedia? used on apple2s.

# rpm and deb are package formats used on RedHat and Debian Linux

compress_excl+|-z(\d+)?$|\.tgz|_tgz|\.tar\.Z|\.tar\.gz|\.taz$|\.arc$|\.z ip$|\.lzh$|\.zoo$|\.exe$|\.lha$|\.zom$|\.gif$|\.jpeg$|\.jpg$|\.mpeg$|\.au

$|\.shk

$|rpm$|deb$|read.*me|index|info|faq|gzip|compress|(^|/)\.\.?$ # Don't delete own mirror log, .notar or .cache files (incl in

subdirs)

# delete_excl=(^|/)\.(mirror|notar|cache)$ # Ignore any local readme and .mirror files

local_ignore=README.doc.ic|(^|/)\.(mirror|notar)$

# Automatically delete local copies of files that the # remote site has zapped

do_deletes=true

max_delete_files=50% max_delete_dirs=50%

timeout=300

#failed_gets_excl=\:\ Permission denied\.$

9. cp –pdvr /usr/local/src/mirror/packages .

10. ใสรายละเอยดของ Site ทตองการจะ mirror มาลงใน /usr/local/etc/mirror/packages โดยดจากตวอยางทมให (sunsite.org.uk) สมมตวา ทานตองการ mirror ซอฟตแวร Linux-SIS จาก NECTEC จาก ftp.nectec.or.th มายงเครองของทาน (ไดเรกทอร /home/ftp/pub/linux.sis) ทานจะตองสรางไฟลชอ linux-sis ใน /usr/local/etc/mirror /packages ดงน

Page 272: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 33 Mirror package 281

package=linux-sis comment=Linux-SIS Package site=ftp.nectec.or.th remote_dir=pub/linux.sis/CURRENT-STABLE/

# This setting of local_dir is suitable for Un*x

local_dir=/home/ftp/pub/linux.sis/CURRENT-STABLE # If you are under Wind*ws then use a line like this instead:

# local_dir=c:\tmp\mirror

«‘∏’°“√„™Èß“π 1. ทานสามารถเรยกใช Mirror ไดโดยมตวอยางดงน

• cd /usr/local/etc/mirror

• mirror packages/linux-sis

2. ทานอาจใส option –d (debug) ถาตองการเหนรายละเอยดการทางานมากขน เชน mirror –d –d –d packages/linux-sis

3. ถาตองการใหทาเปนประจา โปรดใสไวใน crontab โดยอาจสราง shell script ขนมาอนหนง ตวอยางเชน

#!/bin/sh

cd /usr/local/etc/mirror ./mirror packages/linux-sis

./mirror packages/freebsd

สมมตวาตงชอวา mirror-script เกบไวท /usr/local/sbin/ หลงจากนน เรยกใชคาสง crontab –e และเพมบรรทดเขาไป ถาตองการใหทางานทกวน มตวอยางดงน

0 0 * * * /usr/local/sbin/mirror-script

Page 273: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

282 สรางอนเทอรเนตเซรฟเวอรดวย Linux

µ—«Õ¬Ë“ߺ≈≈—æ∏Ï

openmind:/usr/local/etc/mirror# mirror.pl packages/linux-sis

package=linux-sis ftp.nectec.or.th:pub/linux.sis/CURRENT-STABLE/ ->

/home/ftp/pub/linux.sis/CURRENT-STABLE

Got install/rootdisk.gz 599184 7

...

°“√·°È‰¢ª—≠À“ • ถาเรยกใชงาน mirror.pl แลวมขอความตอบวา No such file or directory ให

ตรวจสอบวาเครองของทานไดตดตง Perl เวอรชน 5 หรอยง สวนมากจะอยท /usr/bin/perl

• หากทานไดตดตง Perl แลว แตไมไดอยท /usr/bin/perl ทานอาจแกไขไฟล mirror.pl ในบรรทดแรก โดยเปลยนจาก #!/usr/bin/perl ใหเปนตาม PATH ททานไดตดตง PERL ไว

”À√—∫ Linux-SIS 3.0 • Linux-SIS เวอรชน 3.0 ไดมการตดตง โปรแกรม Mirror เวอรชน 2.9 ไวเรยบรอยแลว

Source Code อยท /usr/local/src/mirror-2.9 และไดสรางไดเรกทอรเพอทางาน ตามตวอยางท /usr/ local/etc/mirror

• มตวอยาง script สาหรบ mirror linux-sis อยท /usr/local/etc/mirror/packages/ linux-sis

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • ftp://sunsite.org.uk/packages/mirror/

Page 274: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 283

บทนจะกลาวถง การวเคราะหหาสาเหตของปญหาทางเครอขาย และจะแนะนาเครองมอทใชในการชวยงาน 4 ตวดวยกน คอ ping, traceroute, nslookup และ host

°“√«‘‡§√“–ÀÏ “‡Àµÿ¢Õߪ—≠À“∑“߇§√◊բ˓¬ ปญหาทางเครอขายทเราจะพบกน กคอทาไมใชงานอนเทอรเนตไมได ซงเมอไดทาการ

ตรวจสอบ วเคราะหหาสาเหตออกมาแลว กสามารถจะเปนแบงปญหาออกไดเปน 4 กลม คอ

• ปญหาในระดบ Application Application ทางานผดพลาดหรอเราตงคาผดเอง เชน ตงคา Proxy Server ใน Browser ผด รวมถงปญหา ตงคา DNS Server ไมถกตอง

• ปญหาในระดบ IP และการตงคาในอปกรณ (Configuration) การตงคาในอปกรณ Router หรอคอมพวเตอรผด

• ปญหาในระดบฮารดแวร เชน Router หรอคอมพวเตอรเสย หรอวงจรสอสารไมทางาน (บางทเรยกวา Down)

การวเคราะหเราควรจะ ลอมกรอบปญหาใหแคบ มงสตวปญหา ตวอยางเชน ถาหนวยงานของทานมเครอขาย LAN อยภายใน มคอมพวเตอรพซอยประมาณ 50 เครอง ใชงาน Microsoft Windows 95 ม Linux Server 1 ตว ทาหนาทเปน File, Print, E-mail, Web Proxy Server และ Router 1 ตวตอเขากบวงจรสอสาร ไปยงผใหบรการอนเทอรเนตของทาน โดยทานมระเบยบวา ผใชทกคนจะตองตดตงคา Proxy Server ใน Web Browser ใหชมายงเครอง Linux Server ของทานจงจะใชงาน World Wide Web ได

Page 275: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

284 สรางอนเทอรเนตเซรฟเวอรดวย Linux

กรณท 1 มผใชบอกวา เครองพซของเขาใชงาน WWW ไมได แตใช E-mail ได อนนเรากจะทราบไดทนทวา ปญหาอยทเครองเขาเองแนนอน และในระดบฮารดแวรไมมปญหา เนองจากเขายงใช E-mail ได ในระดบ IP กไมมปญหา เนองจากเขายงใช E-mail ไดอก นาจะเปนทตวซอฟตแวรในเครองของเขายงตดตงไมถกมากกวา ทานอาจพบวา เครองของเขายงตงคา Proxy Server ไมถกตอง

กรณท 2 มผใชบอกวา เครองพซของเขาใชงานอนเทอรเนตไมไดเลย ทง WWW และ E-mail อนดบแรกสด ทานควรตรวจสอบปญหาในระดบฮารดแวร วธงายๆ คอดวามเครองคนอนใชงานอนเทอรเนตไดบางไหม ปรากฏวาม คนอนยงใชงานอนเทอรเนตไดตามปกต แสดงวาเปนความผดปกตเฉพาะทเครองเขาเอง ซงอาจะเปนปญหาในระดบฮารดแวร เรากตรวจสอบตอวา สาย LAN เชอมตอดไหม ไฟตดไหม อาจทดสอบเปลยนสาย LAN ใหม หรออาจเปนปญหาในระดบ IP ดวาการตดตงคา IP Address ถกไหม ใชคาสง Ping (ซงจะกลาวตอไป) ทดสอบการเชอมตอในระดบ IP วาเหนเครองอนๆ ไหม ลอง Ping ไปท Gateway (Router) Ping ออกไปขางนอกองคกร เชน ping 202.44.204.33 (ซงเปน IP Address ของ www.nectec.or.th) การทดสอบในระดบนตองใช IP Address หมด (หามใชชอ เพอแยกแยะปญหาออกจากปญหาของ DNS) ถาพบวาใชคาสง Ping เจอเครองอนๆ หมดแลว กลอง Ping ดวยชอแทน เชน ping www.nectec. or.th ปรากฏวา ping ไมได แสดงวาเปนปญหาทระบบ DNS แนนอน เพราะระบบ DNS มหนาทแปลงชอเปนเลข IP Address ใหตรวจสอบวาตงคา DNS ไวถกตองหรอไม

กรณท 3 มผใชบอกวาเครองพซของเขาใชงานอนเทอรเนตไมไดเลย ทง WWW และ E-mail เมอตรวจสอบดแลวเครองๆ อนกใชไมไดเชนกนทงองคกร แสดงวาเปนปญหาทอปกรณททกคนใชรวมกน ตรวจสอบในระดบฮารดแวร ดวา Hub, Router ยงทางานอยหรอไม มตวไหนทหยดทางาน ไฟททกอปกรณตดดหรอไม จากนนเราอาจใชคาสง ping จากเครองพซเครองใดเครองหนงในการหาสาเหตของปญหา โดยเรม ping ทดสอบเครองพซและ Router วาเหนไหม ถาเหนกแสดงวาเครอขายภายในของเรายงปกตด ลองใช ping หรอ traceroute ออกไปทขางนอกหนวยงาน เชน traceroute 202.44.204.33 เรากจะเหนวามนไปตดทไหน ถาแสดงชอ Router ฝงเราแลวกคางไป กแสดงวาอาจเปนปญหาทวงจรสอสารของเราเอง แจงผใหบรการ ถาแสดงถงชอ Router ฝง ISP ทเราตออยแลวคอยหยด กแสดงวาวงจรสอสารของ ISP อาจมปญหา สามารถสอบถาม ISP วาเกดอะไรขนหรอเปลา

จากตวอยางทยกขนมาน เปนเพยงกรณสมมตเทานน เครอขายจรงๆ ของทานอาจซบซอนกวาน และปญหาทเกดขน อาจเปนปญหาทยากกวาน แตอยางไรกตามจากประสบการณของ

Page 276: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 285

ผเขยนทผานมา ปญหาใดๆ ไมวาจะซบซอนแคไหน การใชเครองมอพนฐานงายๆ เชน ping, traceroute, nslookup และ host กสามารถวเคราะหหาสาเหตปญหาไดเกน 90% อยางนอยเรากจะทราบวาปญหาอยทไหน ซงจะไดดาเนนการแกไขใหถกจดตอไป เราจะกลาวถงการใชงานเครองมอเหลานตอไป

Ping โปรแกรม Ping เปนคาสงทใชสาหรบการทดสอบขนพนฐานของการเชอมตอกนระหวาง

อปกรณ (อาจเปนระหวางเครองคอมพวเตอร หรอ Router) 2 ชนทเชอมตอกนดวยเครอขาย อนเทอรเนต โดยจะสง packet ICMP Echo_request ไปยงเครองทตองการทดสอบ ถาไมไดคาตอบกลบมา กแสดงวาการเชอมตอยงไมสมบรณ และถาเครองดงกลาวไดรบกจะตอบมา (ICMP Echo_response) วาไดรบ packet นนแลว

เวลาทใชในตงแตสงขอมลออกไปจนถงไดรบคาตอบกลบมา จะเรยกวา Round Trip Time (RTT) สามารถใชประโยชนไดในการวดวาเสนทางสอสารไปยงเครองทตอบกลบมานน มความเรวหรอความแออดขนาดไหน

การใชงานคาสง ping ใหพมพคาวา ping แลวตามดวยชอ host หรอ IP ของ host ทตองการทดสอบการเชอมตอดงตวอยางดานลางน

# ping www.trace.com PING www.trace.inter.net (38.15.19.85): 56 data bytes

64 bytes from 38.15.19.85: icmp_seq=0 ttl=242 time=400 ms

64 bytes from 38.15.19.85: icmp_seq=1 ttl=242 time=453 ms 64 bytes from 38.15.19.85: icmp_seq=3 ttl=242 time=482 ms

64 bytes from 38.15.19.85: icmp_seq=5 ttl=242 time=421 ms

64 bytes from 38.15.19.85: icmp_seq=6 ttl=242 time=347 ms 64 bytes from 38.15.19.85: icmp_seq=8 ttl=242 time=507 ms

64 bytes from 38.15.19.85: icmp_seq=9 ttl=242 time=441 ms

64 bytes from 38.15.19.85: icmp_seq=10 ttl=242 time=348 ms

^c ( พมพ Ctrl-C เพอหยดการ ping ) ----www.trace.inter.net PING Statistics----

12 packets transmitted, 8 packets received, 33% packet loss

Page 277: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

286 สรางอนเทอรเนตเซรฟเวอรดวย Linux

round-trip (ms) min/avg/max = 347/425/507 ms

ผลลพธทไดจากการใชคาสงนในแตละบรรทดมอย 5 สวน ไดแก

1. 64 Byte ขนาดของ packet ทสงไป ซงมหนวยเปน bytes

2. 38.15.19.85 Address ของจดหมายปลายทางทตองการทดสอบ

3. icmp_seq ลาดบของการสง packet ( icmp_seq : Internet Control Message Protocol Sequence )

4. ttl (Time-to-Live) TTL จะแสดงถงจานวนกาว (hop) ท packet นใชในการเดนทางไปถงปลายทาง โดยทคา TTL นนจะเรมจาก 255 และจะลดลงเรอยๆ ทละ 1 เมอผานอปกรณใน Layer-3 1 เครอง (เชน Router เปนตน แตสาหรบ Hub หรอ Switch จะเปนอปกรณใน Layer 2) จากตวอยาง คา ttl=242 แสดงวาในการจะเดนทางไปยงปลายทางน ตองผานทงหมด 255-242= 13 hop

5. time คา RTT (Round trip time) ชวงเวลานบจากเรมสง packet ไปจนกระทงไดรบคาตอบกลบมาจากปลายทางโดยมหนวยเปน millisecond (ms) คานอาจไมเทากนในแตละบรรทด ขนกบความแออดของเสนทางสอสารในขณะนน ถาเลข RTT มคาตา หมายความวาสามารถไปถงปลายทางนนไดเรว คอมความแออด นอย หรอมความเรวของวงจรสอสารสงนนเอง

และในผลลพธสรปดานลางนนมอย 4 สวน ไดแก

1. packet transmitted หมายความวา เครองของทานไดสง packet เพอการทดสอบไปใหกบ host ปลายทางทงหมด 12 packet

2 packet received หมายความวาจานวนของ packet ท host ปลายทางไดรบและตอบกลบมามเพยง 8

3 33% packet loss หมายถง อตราสวนของจานวนของ packet ทสญหายไป (สงออกไป แตไมไดรบคาตอบกลบมา) ตอจานวน packet ทสงไปทงหมด โดยคานวณออกมาเปนเปอรเซนต (%)

Page 278: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 287

4. round-trip หมายถง คา RTT ทวดไดจากการทดสอบโดยมหนวยเปน millisecond (ms) โดยจะแสดงเวลาทนอยทสด (min) เวลาทมากทสด (max) และเวลาเฉลย (avg)

นอกจากนคาสง Ping ยงมอกออปชนเพมเตมหลายรปแบบ ซงในทนผเขยนขอยกตวอยางทมอาจใชบอยและคดวาเปนคาสงทจะเปนประโยชนตอผอานมากทสด ดงน

1. ping -c count host

เปนการกาหนดจานวนครงในการสง packet ออกไปยง host ปลายทาง

2. ping -s packetsize host

เปนการกาหนดขนาดของ packet ทตองการสงไปยง host ปลายทาง โดยมหนวยเปน byte

ตวอยางเชน

# ping -c 10 -s 100 www.trace.com PING www.trace.inter.net (38.15.19.85): 100 data bytes

108 bytes from 38.15.19.85: icmp_seq=0 ttl=241 time=309 ms

108 bytes from 38.15.19.85: icmp_seq=1 ttl=242 time=480 ms

108 bytes from 38.15.19.85: icmp_seq=2 ttl=242 time=404 ms

108 bytes from 38.15.19.85: icmp_seq=3 ttl=242 time=402 ms 108 bytes from 38.15.19.85: icmp_seq=4 ttl=242 time=307 ms

108 bytes from 38.15.19.85: icmp_seq=5 ttl=242 time=467 ms

108 bytes from 38.15.19.85: icmp_seq=6 ttl=242 time=378 ms

108 bytes from 38.15.19.85: icmp_seq=7 ttl=242 time=509 ms

108 bytes from 38.15.19.85: icmp_seq=8 ttl=242 time=1216 ms

----www.trace.inter.net PING Statistics----

10 packets transmitted, 9 packets received, 10% packet loss

round-trip (ms) min/avg/max = 307/497/1216 ms

3. ping -q host

ping ในลกษณะนจะแสดงผลลพธออกมาเฉพาะผลสรป packet loss และ round-trip time เทานน

ตวอยางเชน

Page 279: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

288 สรางอนเทอรเนตเซรฟเวอรดวย Linux

# ping -c 10 -q www.trace.com PING www.trace.inter.net (38.15.19.85): 56 data bytes

----www.trace.inter.net PING Statistics----

10 packets transmitted, 10 packets received, 0% packet loss

round-trip (ms) min/avg/max = 282/497/856 ms

4. ping -R host

จะแสดงเสนทางไปกลบวาจากจดเรมตนคอเครองทคณตองผานเครองอะไรบางจนกระทงถง host ทคณตองการและจาก host นนกลบมายงเครองของคณตองผานเครองอะไรบาง

# ping -R www.ait.ac.th

PING inetserv.ait.ac.th (203.159.0.1): 56 data bytes

64 bytes from 203.159.0.1: icmp_seq=0 ttl=251 time=18 ms

RR: tubtim-komain.nectec3.nectec.or.th (203.150.18.166) 192.150.250.229

gw-thaisarn.ait.ac.th (203.159.0.129)

inetserv.ait.ac.th (203.159.0.1)

gw-worldnet.ait.ac.th (203.159.0.64)

192.150.250.230

komain-tubtim.nectec3.nectec.or.th (203.150.18.165) tubtim.nectec.or.th (202.44.204.2)

video2.nectec.or.th (202.44.204.43)

64 bytes from 203.159.0.1: icmp_seq=1 ttl=251 time=3734 ms (same route)

64 bytes from 203.159.0.1: icmp_seq=2 ttl=251 time=2734 ms (same route)

64 bytes from 203.159.0.1: icmp_seq=3 ttl=251 time=1735 ms (same route)

64 bytes from 203.159.0.1: icmp_seq=4 ttl=251 time=735 ms (same route) 64 bytes from 203.159.0.1: icmp_seq=5 ttl=251 time=18 ms (same route)

----inetserv.ait.ac.th PING Statistics----

6 packets transmitted, 6 packets received, 0% packet loss

round-trip (ms) min/avg/max = 18/1496/3734 ms

ระบบปฏบตการ Microsoft Windows 95, NT กมโปรแกรม ping เชน สามารถเรยกใชงานไดตามตวอยางดงน

Page 280: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 289

Traceroute โปรแกรม Traceroute เปนคาสงทแสดงเสนทางทใชในการสงขอมลจากเครองทเราอยไปยง

เครองปลายทางวา ผาน Router/ อปกรณ ตวใดบาง และแตละ hop ใชเวลาเทาไร โดยใชหลกการทวา ถา Router ไดรบ packet หนงๆ กอนมนจะ forward ไปใหปลายทาง มนจะตรวจสอบกอนวา คา TTL=0 หรอยง ถายงกจะ forward ให พรอมกบลดคา TTL ลง 1 แตถา TTL=0 แลวกจะไม forward packet นน จะสง packet ICMP Time Exceeded ตอบกลบไปยงผสงแทน

วธการทางานของ Traceroute มนจะสง UDP Packet ไปยงปลายทาง โดยตงคา TTL เรมตน 1 แลวรอคาตอบ ICMP Time Exceeded มาจาก Router ระหวางทาง และเพมขน TTL ขนไปเรอยๆ จนกวาจะไดรบคาตอบจากเครองปลายทางนนเอง รายชอของ Router ทสงคาตอบ ICMP Time Exceeded กลบมาทงหมดกจะแสดงถง เสนทางทขอมลวงไปจากเครองเราไปยงปลายทางนนเอง

การใชงานคาสง traceroute ใหพมพคาวา traceroute แลวตามดวยชอ host หรอ IP ของ host ทคณตองการดงตวอยางดานลางน

# traceroute www.trace.com

traceroute to www.trace.inter.net (38.15.19.85), 30 hops max, 40 byte

packets

Page 281: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

290 สรางอนเทอรเนตเซรฟเวอรดวย Linux

1 tubtim (202.44.204.2) 1 ms 1 ms 0 ms 2 gw-PubNet.inet-th.net (203.151.176.237) 27 ms 53 ms 23 ms

3 amaze.inet.co.th (203.150.11.27) 32 ms 12 ms 60 ms

4 gin-la-bb2.Teleglobe.net (207.45.212.217) 300 ms 263 ms 274 ms

5 gin-la-bb1.Teleglobe.net (207.45.212.222) 313 ms * 300 ms

6 Teleglobe.net (207.45.211.242) 459 ms 326 ms * 7 core.net211.psi.net (38.1.2.1) 414 ms 382 ms 410 ms

8 38.1.21.34 (38.1.21.34) 1117 ms 359 ms *

9 www8a-gw.northeast.us.psi.net (38.1.41.199) 764 ms 528 ms 909 ms

10 www8a.inter.net (38.15.19.2) 368 ms * 428 ms

ผลลพธทไดจากการใชคาสงนในแตละบรรทดมอย 3 field ตวอยางเชน ในบรรทดแรก

1. 1 ttl (Time-to-Live) แสดงถงลาดบของ Hop ท packet วงไป

2. tubtim(202.44.204.2) Address ของ Router แตละ Hop

3. 1 ms 1 ms 0 ms RTT (Round trip time) จาก tubtim(202.44.204.2) มายงเครองของเรา หนวยเปน millisecond (ms) โดยในแตละบรรทด จะมการทดสอบสง packet ออกไป 3 ครง ผลทไดแตละครงจะถกแสดง (1, 1, 0 ms)

ถาไมมสญญาณใดๆ ตอบกลบจาก host ท traceroute ไปหาภายใน 3 วนาท บรรทดนน กจะแสดงเครองหมายดอกจน (*) ท probe นนๆ (อาจเปนไปไดวา เครองนนไมยอมตอบกลบ หรอตอบกลบแต packet วงมาไมถง แตวายงสามารถ forward packet ไปไดตามปกต ไมไดมความผดพลาดแตอยางใด)

ตามหลกแลว Router ในบรรทดลางๆ (มคา TTL สงกวา) กควรจะมคา RTT ทสงกวาบรรทดตนๆ แตกไมจาเปน ขนอยกบสภาพของเครอขายในขณะนนดวย ดงตวอยางขางตน ในบรรทดทแสดงคา ttl = 7 ใชเวลา 414 ms ตากวาท ttl = 6 ซงใชเวลา 459 ms

นอกจากนคาสง Traceroute ยงมอก Option อกหลายรปแบบแลวแตความตองการของผใช ซงในทนผเขยนขอยกบางตวอยางทมผใชใชบอย ดงน

1. traceroute host packetsize

เปนการกาหนดขนาดของ packet ไดวาตองการทจะสงแพกเกต (packet) ขนาดเทาใดออกไป

Page 282: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 291

2. traceroute -m max_ttl host

คณสามารถกาหนดคา ttl ไดตามทตองการ (ผลทไดจะไมแสดงเสนทางไปจนถงปลายทาง จะแสดงถงแค TTL ทเรากาหนด) ตวอยางเชน

# traceroute -m 5 www.trace.com 100 traceroute to www.trace.inter.net (38.15.20.85), 5 hops max, 140 byte

packets

1 tubtim (202.44.204.2) 1 ms 1 ms 0 ms

2 gw-PubNet.inet-th.net (203.151.176.237) 37 ms 18 ms 66 ms

3 amaze.inet.co.th (203.150.11.27) 73 ms 10 ms 23 ms 4 gin-la-bb2.Teleglobe.net (207.45.212.245) 331 ms 279 ms 314 ms

5 * gin-la-bb1.Teleglobe.net (207.45.212.222) 327 ms 309 ms

3. traceroute -n host

ใหแสดงผลใน field ท 2 ของผลลพธออกมาเปน IP Address เทานน

4. traceroute -q nqueries port

ใหทาการทดสอบโดยสง packet ออกไป nqueries ครง แทนทจะเปน 3 ครง ตวอยางเชน

# traceroute -n -q 4 www.trace.com

traceroute to www.trace.inter.net (38.15.20.85), 30 hops max, 40 byte

packets

1 202.44.204.2 1 ms 1 ms 0 ms 1 ms 2 203.151.176.237 123 ms 10 ms 15 ms 30 ms

3 203.150.11.27 18 ms 28 ms 55 ms 108 ms

4 207.45.212.249 609 ms 323 ms 305 ms 366 ms

5 207.45.212.222 264 ms * 203 ms 236 ms

6 207.45.211.242 282 ms 308 ms 345 ms 334 ms

7 38.1.3.3 346 ms 353 ms * 318 ms 8 38.1.23.3 2378 ms 314 ms 743 ms 458 ms

9 38.1.23.3 478 ms 395 ms 351 ms 588 ms

10 * 38.1.43.242 297 ms 933 ms 543 ms

38.15.20.2 385 ms * * *

Page 283: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

292 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ระบบปฏบตการ Microsoft Windows NT กมโปรแกรม traceroute เชนกน แตจะชอวา tracert สามารถเรยกใชงานไดตามตวอยางดงน

Nslookup nslookup เปนเครองมอทใชทดสอบ DNS และการทางานของ DNS Server โดยจะมอย

บนระบบ Unix เกอบทกระบบ รวมถง Microsoft Windows NT ดวย การทางานม 2 โหมดคอ รปแบบโตตอบ หรอ Interactive และแบบไมโตตอบ หรอ Non-interactive (ใสคาสงไปครงเดยว และรอผลตอบกลบมา) หากตองการดขอมลเดยวครงเดยว กควรเลอกใชรปแบบ Non-interactive แตถาคณตองการดขอมลทหลากหลาย มการเปลยนคาตางๆ ไปมากควรเลอกใชรปแบบ Inter–active

ตวอยางของรปแบบ Interactive

# nslookup Default Server: localhost

Address: 127.0.0.1

>(กด CTRL-D เพอออก)

Page 284: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 293

เมอคณเรยกคาสง nslookup โดยไมม Option อะไร โปรแกรมจะแสดง “>” Prompt เพอแสดงความพรอมทจะรบคาสง ทานจะตองใชคาสง ในรปแบบของ nslookup เอง ซงจะกลาวในหวขอตอไป หากคณตองการคาแนะนาหรอความชวยเหลอ สามารถพมพ “?” หรอ “help” และเมอคณตองการออกจากโปรแกรมกใหพมพ “ ^D “ (CTRL-D)

ตวอยางของรปแบบ Non-interactive จะเหนวา เมอเรยกใชตามดวยชอ host เชน ns.apnic. net nslookup กจะไปคนหา IP Address ของมน ns.apnic.net มาให และหยดการทางาน กลบมาท Shell Promt เหมอนเดม (ไมม Nslookup Prompt “>”)

# nslookup ns.apnic.net Server: localhost

Address: 127.0.0.1

Non-authoritative answer:

Name: ns.apnic.net

Address: 203.37.255.97

#

§” —Ëß¿“¬„π√Ÿª·∫∫ Interactive ¢Õß‚ª√·°√¡ nslookup โปรแกรม nslookup รปแบบ Interactive จะมรปแบบคาสงเฉพาะของมน เราสามารถดวา

มคาสงอะไรบาง และดวาคาทตงไวในขณะนเปนอยางไร โดยใชคาสง set all ตามตวอยางน

# nslookup Default Server: localhost

Address: 127.0.0.1

> set all

Default Server: localhost Address: 127.0.0.1

Set options: nodebug defname search recurse nod2 novc noignoretc port=53 querytype=A class=IN timeout=5 retry=4 root=ns.internic.net.

domain=nectec.or.th

Page 285: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

294 สรางอนเทอรเนตเซรฟเวอรดวย Linux

srchlist=nectec.or.th

> ^D

Default name server คอ Name Server เรมตน เมอเรยกใชโปรแกรม nslookup โดยกรณนคอ localhost Default Server จะเปน Nameserver ตวแรกททานไดระบไวใน /etc/resolv .conf

คาสงตางๆ ของ nslookup มดงน

1. ออกจากโปรแกรม เมอตองการออกจากโปรแกรม nslookup โหมด Interactive ใหพมพ " ^D “ (CTRL-D) หรอ exit

2. คาสงทขนตนดวย set เปนคาสงทใชเปลยนคาตางๆ ของรปแบบการคนหาซงจะมผลตอการใชคาสงเพอการคนหา (ซงจะกลาวตอไป) คาสงดงกลาวมดงน

2.1 set [no]debug

เปนการเขาสโหมด debug และจะแสดงขอมลการทางานมากกวาปกต เหมาะสาหรบการตรวจสอบปญหาอยางละเอยดหากไมตองการใชโหมดนใหใชคาสง nodebug คาปกต (Default) จะเปน nodebug และคายอของคาสงนคอ [no]deb

2.2 set [no]d2

เปนการเขาสโหมด debug ระดบ 2 จะแสดงทกขอมลของทก packet และจะละเอยดกวาการใชคาสง debug ธรรมดา คาปกตจะเปน nod2

2.3 set domain=name

เปนการเปลยนคา default domain name ใหเปนโดนเมนทเรากาหนดให คายอของคาสงนคอ do

2.4 set querytype=value หรอ type=value

เปลยนชนดของขอมลทจะถาม ซงชนดของขอมลนนมดงน

Page 286: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 295

ชนดขอมล ความหมาย A IP Address ของ host CNAME Canonical name ( ชอเลน ) HINFO Host information MINFO Mailbox information MX Mail Exchange NS Name Server PTR Pointer record SOA Start Of Authority TXT Text information UINFO User information

คาปกตของ query type จะเปน A และคายอของคาสงนคอ q หรอ ty ตวอยางของการกาหนดชนดของขอมลมดงน เราสามารถกาหนดเปน type ANY ถาตองการผลลพธของทก type

# nslookup Default Server: nscache1.nectec.or.th

Address: 202.44.204.36

> set type=mx

> school.net.th Server: nscache1.nectec.or.th

Address: 202.44.204.36

school.net.th preference = 1, mail exchanger = user.school.net.th

school.net.th nameserver = ns2.inet.co.th

school.net.th nameserver = ns1.nectec.or.th user.school.net.th internet address = 203.151.255.147

ns2.inet.co.th internet address = 202.44.202.3

ns1.nectec.or.th internet address = 202.44.204.67

> set type=ns

> school.net.th

Page 287: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

296 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Server: nscache1.nectec.or.th Address: 202.44.204.36

school.net.th nameserver = ns1.nectec.or.th

school.net.th nameserver = ns2.inet.co.th

ns1.nectec.or.th internet address = 202.44.204.67 ns2.inet.co.th internet address = 202.44.202.3

> set type=any

> school.net.th

Server: nscache1.nectec.or.th

Address: 202.44.204.36

school.net.th nameserver = ns1.nectec.or.th

school.net.th nameserver = ns2.inet.co.th

school.net.th origin = ns1.nectec.or.th

mail addr = sysadmin.ns1.nectec.or.th

serial = 1998092801 refresh = 21600 (6H)

retry = 7200 (2H)

expire = 1209600 (2W) minimum ttl = 1800 (30M)

school.net.th preference = 1, mail exchanger = user.school.net.th

school.net.th internet address = 202.44.204.80 school.net.th nameserver = ns1.nectec.or.th

school.net.th nameserver = ns2.inet.co.th

ns1.nectec.or.th internet address = 202.44.204.67 ns2.inet.co.th internet address = 202.44.202.3

user.school.net.th internet address = 203.151.255.147

2.10 set retry=number

กาหนดจานวนครงของการพยายามถามเปนจานวน number ครง หากเราถามไปแลวและไมไดรบคาตอบกลบมาภายในเวลา time-out ( set timeout ) เวลาจะเพมขนเปน 2 เทา และสงคาถามไปใหมเรอยๆ จนกระทงครบจานวนครงทกาหนด หากยงไมไดรบคาตอบอกกจะไมถามตอและกถอวาไมไดคาตอบ คาปกตจะเปน 4 ครง และคายอของคาสงนคอ ret

Page 288: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 297

2.11 set timeout=number

เปลยนชวงเวลาในการรอคาตอบเปนเวลา number วนาท คาปกตจะเปน 5 วนาท และคายอของคาสงนคอ ti

2.12 set all

เปนคาสงซงจะแสดงใหเหนวาคาทเรากาหนดไวทงหมดคออะไรบาง (ไดแสดงในตวอยางขางตนไปแลว

นอกจากน ยงมคาสงเพมเตมอกเชน set search, set nodefname แตจะไมไดใชบอยครงนกจงไมขอกลาวในทน ผสนใจสามารถอานเพมเตมไดจาก Man Page

3. คาสงเพอคนหาขอมล

3.1 <ชอ host>

ใสชอ host กจะไดรบคาตอบเปน IP Address ซงชอ host ทใสไปนนตองเปนชอเตม และตามดวย . หากไมไดเปนชอ host ทตามดวย default domain name และถาใส IP Address กจะไดรบคาตอบเปนชอ host หากตองการคนหา Reverse IP Domain จะตองใสเลขแบบกลบหวกลบทาย, set type=any และใชโดเมน in-addr.arpa ตามตวอยางน

# nslookup Default Server: nscache1.nectec.or.th

Address: 202.44.204.36 > www.school.net.th

Server: nscache1.nectec.or.th

Address: 202.44.204.36

Name: www.school.net.th

Address: 202.44.204.80

> 202.44.204.80

Server: nscache1.nectec.or.th Address: 202.44.204.36

Page 289: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

298 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Name: www.school.net.th Address: 202.44.204.80

> set type=any

> 80.204.44.202.in-addr.arpa

Server: nscache1.nectec.or.th Address: 202.44.204.36

80.204.44.202.in-addr.arpa name = www.school.net.th

204.44.202.in-addr.arpa nameserver = ns1.nectec.or.th

204.44.202.in-addr.arpa nameserver = ns2.inet.co.th

ns1.nectec.or.th internet address = 202.44.204.67 ns2.inet.co.th internet address = 202.44.202.3

> 204.44.202.in-addr.arpa

Server: nscache1.nectec.or.th Address: 202.44.204.36

204.44.202.in-addr.arpa nameserver = ns1.nectec.or.th 204.44.202.in-addr.arpa nameserver = ns2.inet.co.th

204.44.202.in-addr.arpa

origin = ns1.nectec.or.th mail addr = sysadmin.ns1.nectec.or.th

serial = 1998102801

refresh = 21600 (6H) retry = 7200 (2H)

expire = 1209600 (2W)

minimum ttl = 86400 (1D) 204.44.202.in-addr.arpa nameserver = ns1.nectec.or.th

204.44.202.in-addr.arpa nameserver = ns2.inet.co.th

ns1.nectec.or.th internet address = 202.44.204.67

ns2.inet.co.th internet address = 202.44.202.3

3.2 คาสง server

server <ชอ Name Server ตวใหม>

ใชเพอเปลยน Name Server ทเราทาการคนหาอยเปนตวอน ตวอยางเชน

Page 290: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 299

# nslookup Default Server: nscache1.nectec.or.th

Address: 202.44.204.36

> server ns.thnic.net

Default Server: ns.thnic.net Address: 202.28.0.1

>

3.3 คาสง ls

ls [option] domain [> filename] หรอ ls option domain [>> filename]

แสดงขอมลทงหมดทมอยในโดเมน (domain) ทกาหนด ปกตจะแสดงทหนาจอเลย แตถามเครองหมาย > หรอ >> ตามดวยชอไฟล ผลการทางานของคาสงจะถกเกบไวในไฟลชอนนแทน มออปชนตางๆ ใหเลอกดงน

-t querytype

แสดงขอมลตางๆ ทอยในชนดของ query ตามตารางทกลาวถง querytype ในหวขอทผานมา

-a

แสดงขอมลทเปน CNAME ของ host ในโดเมนนน ๆ คาสงนมความหมายเหมอนกบ -t CNAME

-d

แสดงขอมลทกอยางในโดเมนนน ๆ คาสงนมความหมายเหมอนกบ -t ANY

-h

แสดงขอมลทเกยวกบ CPU และ OS สาหรบโดเมนนน ๆ คาสงนมความหมายเหมอนกบ -t HINFO

Page 291: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

300 สรางอนเทอรเนตเซรฟเวอรดวย Linux

# nslookup Default Server: nscache1.nectec.or.th

Address: 202.44.204.36

> ls nectec.or.th

[nscache1.nectec.or.th] nectec.or.th. server = ns2.inet.co.th

nectec.or.th. server = ns1.nectec.or.th

nectec.or.th. server = ns.thnic.net

ofc100 A 203.154.105.100

ofc101 A 203.154.105.101

.

.

.

cache1 202.44.204.35 cache2 202.44.204.53

แสดงขอมลประเภท NS และ A สาหรบ domain nectec.or.th > ls -t mx nectec.or.th

[nscache1.nectec.or.th]

nectec.or.th. 5 nucleus.nectec.or.th .

.

. live 5 mx.nectec.or.th

ns1 5 mx.nectec.or.th

ns2 5 mx.nectec.or.th แสดงขอมลประเภท MX สาหรบ domain nectec.or.th

> ls -t any nectec.or.th > /tmp/pang สามารถนาขอมลทไดไปเกบลงไฟล

[nscache1.nectec.or.th]

################ Received 824 records.

นาขอมลทกประเภท สาหรบ domain nectec.or.th ลง file /tmp/pang

> view /tmp/pang

3com A 203.151.255.22

IIG-jade.nectec3 A 203.151.255.2

ITSC-pie A 202.44.206.3

Page 292: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 301

.

.

.

Thaisarn-pie A 202.44.206.2

True-PPP1 A 203.150.123.1

แสดงขอมลทกประเภท ทอยใน file /tmp/pang

3.4 help หรอ ?

เมอตองการทราบรายละเอยดในการใชงานโปรแกรมน

เราสามารถนาคาสงเหลานมาใชในโหมด Non-interactive ไดโดยละคาวา set และใชเครองหมาย - แทน เชน จากทเราใช set debug หรอ set domain=nectec.or.th กเปลยนไปเปน

nslookup -debug -domain=nectec.or.th <ชอ host หรอ domain ทตองการคนหา> 12

ระบบปฏบตการ Microsoft Windows NT กมโปรแกรม nslookup เชนกน สามารถเรยกใชงานไดตามตวอยางดงน

Page 293: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

302 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Host โปรแกรม host จะคลายคลงกบโปรแกรม nslookup ในรปแบบ Non-interactive มาก

Host ใชสาหรบคนหาขอมลเกยวกบ DNS เชนเดยวกบ nslookup โดยทจะไปดงขอมลจาก Name Server ททเราตองการคนหา

การใชคาสง host ทงายทสดคอ พมพคาวา host ตามดวยชอ host หรอ IP Address ทเราตองการคนหา และชอ Name Server ทเราตองการใหไปทาการคนหานน (ถาไมระบชอ Name Server มนจะใช Default Name Server ทระบไวใน /etc/resolv.conf)

# host www.disney.com www.disney.com A 208.218.3.1

# host 192.150.249.11 Name: alpha.tu.ac.th

Address: 192.150.249.11

# host alpha.tu.ac.th ns.thnic.net

Using domain server:

Name: ns.thnic.net Address: 202.28.0.1

Aliases:

alpha.tu.ac.th has address 192.150.249.11

คาสง host นนยงมอกหลาย Option สามารถยกตวอยางไดดงน

1. host -v <host> (หรอโดเมน) จะแสดงรายละเอยดของ host หรอโดเมนนวาม IP Address และ Name server อะไรบาง

# host -v school.net.th

Query about school.net.th for record types A

Trying school.net.th ...

Query done, 1 answer, status: no error

The following answer is not authoritative:

school.net.th 1787 IN A 202.44.204.80

Page 294: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 303

Authoritative nameservers: school.net.th 604787 IN NS ns1.nectec.or.th

school.net.th 604787 IN NS ns2.inet.co.th

Additional information:

ns1.nectec.or.th 82067 IN A 202.44.204.67

ns2.inet.co.th 263181 IN A 202.44.202.3

2. host -t <querytype>

querytype หรอรปแบบการคนหา มหลายประเภทดงทไดกลาวไว ในบทเรอง DNS เชน A NS PTR MX ANY SOA เปนตน เราสามารถระบ query type ไดตามตองการ ตามตวอยางดงน

# host -t SOA school.net.th school.net.th SOA ns1.nectec.or.th

sysadmin.ns1.nectec.or.th ( 1998092801 ;serial (version)

21600 ;refresh period (6 hours)

7200 ;retry interval (2 hours) 1209600 ;expire time (2 weeks)

1800 ;default ttl (30 minutes)

)

แตละบรรทดสามารถอธบายไดดงน

school.net.th SOA ns1.nectec.or.th sysadmin.ns1.nectec.or.th

อธบายไดวาผทรบผดชอบโดเมน school.net.th คอ ns1.nectec.or.th และหากตองการตดตอผดแลกสามารถตดตอไปท [email protected]

1998092801 ;serial (version)

เปนตวเลขเปรยบเสมอนเปน เวอรชน ททาการเปลยนแปลงขอมลในโดเมนนครงสดทาย โดยตวเลขดงกลาวไดมาจากป (1998) เดอน (09) วน (28) และครงทเปลยนขอมลนในวนนน (01) ตามตวอยางจะเหนไดวาขอมลในฐานขอมลนมการเปลยนแปลงครงสดทายเมอวนท 28 เดอน 9 ป 1998 เปนครงแรกในวนนน

Page 295: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

304 สรางอนเทอรเนตเซรฟเวอรดวย Linux

21600 ;refresh period (6 hours)

เครอง Secondary name server จะตองมาตรวจสอบขอมลจากเครอง Primary name server ทกๆ 21,600 วนาท หรอ 6 ชวโมงนนเอง ( Refresh Period ) หากขอมลบนเครอง Primary ยงเปนเวอรชนเดมอย กจะไมทาการสาเนาขอมลมาเกบไวในเครองของตน แตหากพบวาเวอรชนบนเครอง Primary เปลยนเปนใหมแลวกจะทาการสาเนาขอมลใหมมาไวทเครองของตน

7200 ;retry interval (2 hours)

ถาเครอง Secondary name server หาเครอง Primary name server ไมพบหรอไมสามารถดงขอมลได ภายในระยะเวลา 6 ชวโมง ( Refresh period ) เครอง Secondary กจะทาการตดตอไปยงเครอง Primary ทกๆ 7200 วนาท หรอ 2 ชวโมง ซงโดยปกตแลวผดแลระบบจะกาหนด Refresh Period ใหมากกวาเวลา Retry Interval

1209600 ;expire time (2 weeks)

หากเครอง Secondary name server ไมสามารถตดตอไปยงเครอง Primary name server เปนเวลา 1209600 วนาท หรอ 2 สปดาห เครอง Secondary จะหยดใหบรการขอมลแกผขอเนองจากขอมลทมอยนนเปนขอมลทเกาเกนไปไมนาเชอถอแลว

1800 ;default ttl (30 minutes)

ผทมความรบผดชอบในโซนนอนญาตใหเครอง name server เครองอนๆ (Cache Name Server) สามารถเกบขอมลของตนไดภายในระยะเวลาทกาหนดนคอ 1800 วนาท หรอ 30 นาท หลงจากกจะหมดอาย ตองมาถามและทาสาเนาไปใหม

host –C <dns_domain>

ใชสาหรบตรวจสอบความถกตองของ SOA Record เหมาะสาหรบใชตรวจวาเราแกไขไฟลตางๆ ของ Name Server ถกตองหรอเปลา ถาไมถกตองมนจะแสดงวาผดพลาดออกมา

>host -C nectec.or.th

nectec.or.th NS ns2.inet.co.th

ns1.nectec.or.th sysadmin.ns1.nectec.or.th (1998110301 21600 7200 1209600 86400)

nectec.or.th NS ns1.nectec.or.th

Page 296: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย 305

ns1.nectec.or.th sysadmin.ns1.nectec.or.th (1998110301 21600 7200 1209600 86400)

nectec.or.th NS ns.thnic.net

ns1.nectec.or.th sysadmin.ns1.nectec.or.th (1998110301 21600

7200 1209600 86400)

3. host -l <dns_domain>

จะแสดงทก host ทอยในโดเมนนออกมา ตวอยางเชน

# host -l rajabhat.ac.th rajabhat.ac.th. NS oric.rajabhat.ac.th.

rajabhat.ac.th. NS ns2.inet.co.th.

localhost.rajabhat.ac.th. A 127.0.0.1 proxy.rajabhat.ac.th. A 203.150.240.2

oric.rajabhat.ac.th. A 203.150.240.20

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • Man page ของ ping และ traceroute (ใชคาสง man ping และ man traceroute บน

เครอง Unix ใดๆ)

• Man page ของ nslookup และ host (ใชคาสง man nslookup และ man host บนเครอง Unix ใดๆ)

• RFC1035, ftp://ftp.nectec.or.th/pub/mirrors/RFC

Page 297: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

306 สรางอนเทอรเนตเซรฟเวอรดวย Linux

โดยปกตแลว เวลามปญหาเกดขนในระบบเครอขาย การตรวจสอบสามารถทาดวยเครองมอตางๆ ซงไดแนะนาไปในบททผานมา เชน ping, traceroute เปนตน ในบทนจะแนะนาเครองมอเพมเตม สาหรบใชในการวเคราะหประสทธภาพของเครอขาย เพอชวยในการวเคราะหเครอขายในขนสงขนไปวามประสทธภาพดเพยงใด มจดบกพรอง หรอจดคอขวดตรงไหน

°“√«—¥ª√– ‘∑∏‘¿“æ¢Õ߇§√◊բ˓¬ ในการวเคราะหประสทธภาพของเครอขายนน เราตองมเครองมอทสามารถทาการวด

คาตวแปรตางๆ ของเครอขาย หลงจากจากนน เรากจะนาคาเหลานไปวเคราะห เพอหาขอสรปตางๆ ทตองการ ตวอยางของตวแปรเหลานไดแก

• อตราการสงขอมล (Throughput) คอความสามารถของเครอขายในการสงผานขอมลระหวาง 2 จด โดยปกตคานถกวดในรปของอตราสวนของ จานวนของขอมล (บต หรอ ไบต) ตอ จานวนเวลา (วนาท)

• คาความหนวงในการสงขอมล (Delay) คอเวลาทใชในการสงขอมลผานเครอขายระหวาง 2 จด คานถกวดในรป เวลา (เปน seconds หรอ millisecond) ตงแตเรมการสงขอมลจนกระทงการสงขอมลสนสด คา Deviation ของ Delay จะเรยกวา Jitter

ตวอยางของเครองมอในการวดคาตวแปรตางๆ ของเครอขายไดแก

Page 298: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 35 เครองมอชวยในการวเคราะหประสทธภาพของเครอขาย 307

Pathchar Pathchar ใชสาหรบประมาณคา bandwidth, delay, average queue และ loss rate ของ

แตละ hop ของ Link จากตนทางถงปลายทาง โดยจะทาการสราง Packet หลายๆ ขนาดสงไปยงแตละ hop วดคา round trip time และเปรยบเทยบผลทไดจากแตละ hop

Pathchar ทางานไดดบนเสนทางสอสารความเรวไมเกน 10Mbps Ethernet อยางไรคาทไดจาก Pathchar อาจมความผดพลาดเกดขนได กรณทม hidden hop (เชนม bridge อยท LAN หรอผานเครอขาย ATM ซงพวกนจะไมนบเปน hop ท Pathchar จะแสดง เนองจากไมใช Layer 3)

Pathchar ยงเปนโปรแกรมทอยในชวงการพฒนา เราสามารถใชงาน Pathchar ไดฟร แตไมม Source Code และเอกสารคมอการใชงานมไมมากนก สามารถดาวนโหลด Pathchar ไดจาก ftp://ftp.ee.lbl.gov/pathchar/ โดยมสาหรบระบบปฏบตการ Linux, FreeBSD, NetBSD, OSF/1 และ Solaris

สาหรบผใช Linux-SIS เวอรชน 3.0, สามารถเรยกใช pathchar ไดโดยตวโปรแกรมจะอยใน /usr/local/bin และ /usrl/ocal/src/pathchar-a1-linux-2.0.30 ตวอยางการใชงานดงน โดย 202.44.204.9 แทน Address ปลายทางทเราตองการทดสอบไป โดยทดสอบ 9 ครง และแตละครงจะใช packet ขนาดตางกน 8 ขนาดตงแต 64 ไบต ไปจนถง 1500 ไบต (คา MTU)

openmind:~# pathchar -Q 8 -q 9 -m 1500 202.44.204.9 pathchar to 202.44.204.9 (202.44.204.9) doing 9 probes at each of 8 sizes (64 to 1500 by 204) 0 localhost | 4.8 Mb/s, 1.22 ms (4.94 ms) 1 203.150.154.1 (203.150.154.1) | 9.2 Mb/s, -531 us (5.18 ms), +q 1.41 ms (1.63 KB) 2 203.150.18.166 (203.150.18.166) | 22 Mb/s, 150 us (6.02 ms) 3 202.44.204.9 (202.44.204.9) 3 hops, rtt 1.68 ms (6.02 ms), bottleneck 4.8 Mb/s, pipe 7801 bytes

Page 299: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

308 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Bing Bing ใชสาหรบวด Link Bandwidth ใชวธ ICMP ECHO/REPLY แลววด Round Trip

Time ของ Packet หลายๆ ขนาด เชนเดยวกบ Pathchar แตมความซบซอนนอยกวา แตผลทไดกคอนขางใกลเคยงกน อยางไรกตามทงสองโปรแกรม กใหขอมลทถกตองในระดบหนงเทานน

ทานสามารถใช Bing ไดฟร สามารถดาวนโหลดไดจาก http://spengler.econ.duke.edu /~ferizs/bing.html

Echoping อนนไมเชงเปนการวดประสทธภาพของเครอขายโดยตรงนก Echoping เปนเครองมอสาหรบ

ทดสอบ เวลาทใชไปในการสงขอมลไปยง Server, เวลารอการประมวลผล และสงขอมลกลบมาจนถงรบไดเสรจสน โดยสามารถสงไปทดสอบ port แบบ TCP/UDP กได (คาเรมตนจะเปน echo port) มประโยชน สามารถใชทดสอบสถานะและความเรวในการตอบสนองของ Web Server และ Proxy Server ได ดตวอยางท http://ntl.nectec.or.th/cgi-bin/cache1.pl?cache1.nectec.or.th ซงจะใช echoping เพอทดสอบวา เครอง cache1.nectec.or.th ยงทางาน Cache/Proxy Server อยปกตดหรอไม

สามารถดาวนโหลด Echoping ไดท ftp://ftp.internatif.org/pub/unix/echoping

สาหรบผใช Linux-SIS Version 3.0 สามารถเรยกใชงาน echoping ไดเลย โดย Source Code จะอยท /usr/local/src/echoping-2.2.0/ และตวโปรแกรมอยท /usr/local/bin/echoping ตวอยางการใชงานดงน

(ทดสอบวาเครอง www.school.net.th ยงทางานอยหรอไม โดยทดสอบไปยง echo port) openmind:/usr/local/src/echoping-2.2.0# echoping www.school.net.th Elapsed time: 0.205912 seconds (ทดสอบวาเครอง cache.school.net.th สามารถทาหนาทเปน proxy server ไดปกตหรอไม โดยใช www.nectec.or.th เปน Web Site เพอทดสอบ) openmind:/usr/local/src/echoping-2.2.0# echoping -n 1 –h \ http://www.nectec.or.th \ cache.school.net.th:8080 Elapsed time: 0.682769 seconds

Page 300: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 35 เครองมอชวยในการวเคราะหประสทธภาพของเครอขาย 309

TTCP เปนเครองมอทใชวดอตราการรบสงขอมลในการตดตอแบบ TCP เนองจากโปรแกรมน

ไมมการใชงาน disk I/O ของเครองสงและรบในระหวางการทดสอบ ดงนนคาทไดจากการวดจงถอวามความเทยงตรงมากกวาการใชวธ FTP ในการใช TTCP จาเปนตองตดตงตวโปรแกรมทงเครองสงและรบ โดยทเราสามารถกาหนดจากตวโปรแกรมวาเครองใดทาหนาทในการสงหรอรบ ขอดคอวา เราสามารถทาการตรวจสอบอตราการสงขอมลไดทง 2 ทาง ซงโดยทวไปแลว อตราสงและรบขอมลไมแนวาจะเทากนเสมอไป

นอกจากน TTCP ยงมคณสมบตอกหลายอยาง เชน การกาหนด Port ทใชในการรบ-สงขอมล, การกาหนดขนาดและจานวนของ Buffer ทใชในการรบ-สงขอมล เปนตน ผลลพธทได คอจานวนของขอมลทงหมดทใชในการรบ-สง, คาความหนวง และอตราการสงขอมล (ทเครองสง) และอตราการรบขอมล (ทเครองรบ) TTCP ถกนามาใชในการทดสอบเครอขายตางๆ เชน

• ใชในการตรวจสอบคา CIR ของเครอขายแบบ Frame Relay

• ใชประเมนการทางานของ Buffer ของอปกรณเลอกเสนทาง (Router)

• ใชเปนแหลงกาเนดของขอมลจานวนมากๆ เพอใชในการวดการเปลยนแปลงทเกดขนของ queuing algorithm ตางๆ

TTCP สามารถใชไดกบระบบปฏบตการทง Windows และ Unix (รวมทง Linux ดวย) สามารถดาวนโหลดโปรแกรม TTCP ไดจาก http://www.ccci.com

NetPipe เปนเครองมอทถกพฒนาตอมาจาก TTCP โดยเพมความสามารถขนมาหลายๆ ประการ

ทงในดานของการกาหนดคาตวแปรตางๆ เพอการทดสอบทละเอยดมากขน รวมไปถงการเกบผลลพธจากการทดสอบลงไฟลเพออานวยความสะดวกตอการวเคราะหในขนตอไป

ความสามารถทนาสนใจดงกลาวของ NetPipe ถกแสดงไวดงตอไปน

• สามารถกาหนดคาเรมตนของขนาดขอมล คาการเพมของขอมล และคาสงสดของขนาดขอมลทจะใชในการรบสงได

Page 301: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

310 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• สามารถกาหนดการแสดงผลเพอตดตามการทดสอบ และสามารถสงเกบผลการทดสอบทงหมดลงไฟลเพอนาไปใชวาดกราฟ ทาการวเคราะหคาตางๆ ได เชน ระดบการอมตวของอตรารบ-สงขอมล, อตรารบ-สงทขนาดขอมลตางๆ เปนตน

• เนองจาก NetPipe เปนโปรแกรมประเภท command line จงเอออานวยตอการเขยน script เพอเรยกใชในการทดสอบอยางตอเนองได

การใชงาน NetPipe ทาเชนเดยวกบ TTCP คออนดบแรกตองเรยกโปรแกรมทเครองรบ โดยระบโหมดการทางานจากตวแปรของโปรแกรมใหเปนผรบ จากนนใหเรยกโปรแกรมทเครองสงโดยระบการทางานจากตวแปรของโปรแกรมใหเปนผสง ผลการทดสอบจะถกแสดงหรอถกเกบลงไฟลในเครองทเปนผสง NetPipe สามารถหาดาวนโหลดไดท http://www.scl.ameslab.gov/ netpipe/ ซงมทงแบบภาษา C และ Java จงสามารถใชไหกบระบบปฏบตการไดหลายแบบเชนกน

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://www.caida.org/Tools/

• http://www.caida.org/Tools/taxonomy.html

Page 302: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

312 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∑”‰¡µÈÕߧ”π÷ß∂÷ߧ«“¡ª≈Õ¥¿—¬? เพราะระบบคอมพวเตอร โดยเฉพาะระบบทมการเชอมตอกบเครอขายอนเทอรเนต ม

ความเสยงตอการถกบกรกจากผไมประสงคดมากมาย เครอขายอนเทอรเนตเปนเครอขายขนาดใหญ มผใชอยหลายสบลานคน ถาเพยง 1 เปอรเซนตของผใชเปนผไมประสงคด กหมายความวาทานตองเตรยมตวนาระบบของทานสเปาสายตาของคนเหลานจานวนเปนหลกแสนคน ลกษณะการบกรกมหลายแบบ สามารถยกตวอยางไดดงน

• ผไมประสงคดสามารถเขาถงและควบคมระบบของทาน ทาใหระบบของทานไมทางานตามทกาหนด เชน เครอง Web Server อาจถกบกรก และควบคมใหไมทางาน Web Server ตามทควรจะเปน

• ผไมประสงคดสามารถเขาถงและควบคมระบบของทาน ทาใหระบบทางานททานไมไดกาหนดไว เชน ใชงานเครองของทานเปนเครองจดหมายขยะ (Junk E-mail) ออกไปรบกวนผใชอนเทอรเนตคนอนๆ โดยผรบจะคดวาจดหมายถกสงมาจากทาน

• ผไมประสงคดสามารถเขาถงและควบคมระบบของทาน โดยมจดประสงคทจะขโมย/แกไข/ลบ ขอมลของทาน

ผบกรกเหลานกมหลายแบบ บางพวกตองการเจาะระบบเพอความสนกและลองวชา แตบางพวกกมเปาประสงคทจะทาลายหรอขโมยขอมลจรงๆ เปรยบไดกบขโมยกมหลายประเภท มทงสมครเลนและอาชพนนเอง ผบกรกทางเครอขายคอมพวเตอรเหลาน เราจะเรยกวา Cracker บางทเราอาจไดยนคาเรยกคนเหลานผดวาเปน Hacker จงอาจเกดความสบสนได คณ Eric Raymond ไดกลาวถงความแตกตางระหวางคาวา Hacker และ Cracker ในทานองวา “Hacker

Page 303: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 36 ความปลอดภยของระบบเบองตน 313

นนเปนผสราง ผแกปญหา สวน Cracker คอ ผทาลาย” ในเอกสาร “How to Become A Hacker” ซงสามารถดไดท http://sagan.earthspace.net/~esr/faqs/hacker-howto.html

คงไมมระบบคอมพวเตอรใดในโลกทปลอดภยจากผบกรก 100% เชนเดยวกบบานเรอนของเรา คงไมมบานไหนทปลอดภยจากขโมย 100% สงทเราทาไดคอ ปองกนใหระบบของเรามความปลอดภยมากทสดเทาทจะทาได ทงนตองดตามความสาคญของสงทเราตองการจะปองกนดวย ถาเปนเครอง Web Server ของหนวยงานทวๆ ไปกอาจมความตองการความปลอดภยในระดบหนง แตถาขอมลทางธรกจทเปนความลบของธนาคาร กตองการความปลอดภยในระดบทสงขน อาจกลาวไดวา มาตรการในดานความปลอดภยทระบบควรม จะขนอยกบความสาคญของตวระบบ และขอมลในระบบนนเอง

√–¥—∫¢Õß°“√√—°…“§«“¡ª≈Õ¥¿—¬ การรกษาความปลอดภยของระบบคอมพวเตอรนน สามารถแบงไดเปนหลายระดบ ดงน

• Physical Security เปนระดบแรกสด หมายถง ความปลอดภยของตวระบบ ในการปองกนการเขาถงตวเครองของผไมหวงด เชน การมหองคอมพวเตอรพรอมกญแจ ผทไดรบอนญาตเทานนทสามารถเขาถงตวเครองได การจดบนทกรหสผานไวในททผอนสามารถเหนได

• Host Security เปนระดบความปลอดภยของตวระบบเอง ระบบปฏบตการ โปรแกรมและบรการตางๆ บญชผใช การตงรหสผานทไมงายจนเกนไป การมระบบบนทกเหตการณทด (Logging)

• Network Security เมอจานวนเครองทใหบรการของทานมเพมขน ความปลอดภยโดยรวมของเครอขายยงจะตองใหความสาคญ ระบบหนงๆ จะปลอดภยได ตองอยในเครอขายทปลอดภยดวย หากมเครองใดเครองหนงในเครอขายของทานทไมปลอดภย กจะทาใหระบบทงหมดไมปลอดภย สวน Network Security จงคานงถงการปองกนไมใหผไมประสงคด บกรกเขามาในเครอขายโดยรวมได การใช Firewall กฎเกณฑทแตละ Host ในเครอขายจะตองปฏบตตาม เพอความปลอดภยของเครอขายโดยรวม

Page 304: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

314 สรางอนเทอรเนตเซรฟเวอรดวย Linux

Security Policy ในทางปฏบตแลว สงทเราควรทาเปนอนดบแรกในดานความปลอดภย กคอการเขยน

Security Policy เพอระบถงบรการและทรพยากรตางๆ ของระบบทมสทธของผใชวาใครสามารถใชบรการอะไร ในระดบใดไดบาง ใครคอผดแลระบบ สทธและหนาทคออะไร มาตรการเวลาเกดความเสยหาย และหลกการใชงานระบบอยางเหมาะสม (Appropriate Use Policy) ทจะระบวาผใชระบบควร และไมควรทาสงใด

Security Policy ควรเขยนใหชดเจน งายทจะเขาใจและปฏบตตาม เรานยมทเรมตนเขยน Policy ดวยประโยคทวา “สงใดทไมมการอนญาต แปลวาสงนนถกหาม” นนหมายความวา ผใชจะมสทธทกระทาสงใดตามทระบไวใน Policy เทานน

การทม Security Policy ทชดเจน จะสะดวกทงสาหรบผใช เนองจากทราบขอกาหนดทชดเจน วาทาอะไรบางไมไดบาง และผดแลระบบ กสะดวกทจะควบคม ดแลระบบใหบรการงานตามตองการ

ใน RFC 2196, Site Security Handbook จะกลาวถงคาแนะนาเกยวกบ Security Policyโดยละเอยด สามารถหาอานไดท ftp://ftp.nectec.or.th/pub/mirrors/rfc/rfc2196.txt

°“√ªÈÕß°—𧫓¡ª≈Õ¥¿—¬¢Õß√–∫∫ Linux

Physical Security • ระบบควรอยในหองทเขาถงไดเฉพาะผทไดรบอนญาต การทผบกรกสามารถเขาถง

ตวเครองของทานได กหมายความวา มาตรการทางความปลอดภย Host Security, Network Security ททานไดลงทนลงแรงทาไปกไมมความหมาย ตวอยางเชน ผบกรกสามารถบตระบบดวยแผนบตของเขาเอง เขาถงขอมลในฮารดดสกของทานไดทนท โดยไมตองผานระบบ Security ทเราปองกนไวใดๆ ทงสน

• ไมปลอยหนาจอ Log in ไมวาจะทหนาเครอง (Console) หรอ Telnet คางไวเปนอนขาด โดยเฉพาะ Log in ของ Root ผบกรกสามารถใชแค 2-3 คาสง ในการททาใหเขาสามารถเขาสระบบไดอยางสะดวกสบายในครงตอไป โดยททานไมทราบ

Page 305: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 36 ความปลอดภยของระบบเบองตน 315

• พซรนใหมจะสามารถใชกญแจลอค ไมใหใชไดรฟ A:, CD-ROM รวมถงกดปม Reboot เครองได ชวยใหมความปลอดภยมากขน

• สาหรบหนาจอ X-Windows ทปลอยไวนาน อาจตงใหมการ Lock หนาจอได โปรดศกษาโปรแกรมเชน xlock, vlock

• ไมจดรหสผานแปะไวตรงหนาจอเครอง การทาอยางนนเหมอนกบการจดรหสลบ ATM บนตวบตร

• ไมจดรหสผานในสมดหรอเอกสารทมผอนอานได ทางทดควรจาใหได

• วธงายๆ ทอาจตรวจสอบการบกรกทาง Physical กคอดวามการ Reboot เครองเกดขน โดยททานไมได สงดวยตวเองหรอไม (อาจดจาก Log file /var/adm/messages, /var/adm/syslog) ผบกรกอาจใชวธการ Reboot เครองดวยแผนบต (Boot) เพอเขาถงขอมลของทาน

Host Security

User Account Security • การสรางบญชผใช ทานควรใหสทธเทาทจาเปนเทานน เชน ถาผใชใชแครบสงจดหมาย

อเลกทรอนกส กไมจาเปนจะตองให FTP, Telnet Access กฎงายๆ กคอ ใหสทธแคเทาทจาเปนตองใช

• ใหคาแนะนาผใช ไมตงรหสผานทงาย รหสผานทดควรยาว 8 ตวขนไป (ถาสนกวาน เครองคอมพวเตอรทมกาลงประมวลผลขนาดใหญสามารถแกะรหสของทานได ไมวาทานจะตงใหยากหรองายขนาดไหน) ควรประกอบดวยตวอกษรใหญ เลก ตวเลข และตวอกษรพเศษ ไมนาชอเลน ชอแฟน วนเกด บานเลขท มาตงเปนรหสผาน หลกการงายๆ กคอ ตงรหสผานททานคดวา ไมมผใดในโลกสามารถเดาไดถก

• ไมควรให Shell (Telnet) Account โดยไมจาเปน (สาคญมาก) ปจจบนในประเทศไทยม ISP เพยงสองสามแหงเทานนทยงคงใหบรการ Shell Account กนอย นอกนนปดกนหมดแลว เนองจากปญหาดานความปลอดภย หากจาเปนตองให Shell Account กควรใช TCP Wrapper (อานรายละเอยดเพมเตมในบทท 37 เรอง TCP Wrapper)

Page 306: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

316 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ไมสราง Account ใหมทไมม Password เรมตนเปนอนขาด ผใชจะตองมารบกบมอดวยตนเองเทานน สถานศกษาใหญๆ บางแหงใชวธใหบญชอนเทอรเนตขณะทนกศกษามาลงทะเบยน

• ลบบญชออกเมอผใชลาออกไปแลว หรอไมใชนานกวาระยะเวลาหนงๆ

• การใชงานบญช Super User (root) ควรใชเมอจาเปนเทานน และ Login เปนผใชธรรมดากอน แลวคอยใชคาสง su เพอเปน Root เสมอ เพราะจะไดมบนทกไววาใครมการใชสทธ Root เมอใด

• ไฟล /etc/login.defs ในสวน SU_WHEEL_ONLY ควรเปน Yes หมายความวา เฉพาะผใชทม Group เปน 0 (System บางเครองอาจมชอ Group วา Wheel) เทานน ทสามารถใชคาสง su

• ไมอนญาตใหมการ Telnet และ Log in เปน Root โดยตรง เนองจากทานจะไมอาจทราบไดเลยวาเปนใครทใชสทธ Root ในขณะนน ไฟล /etc/securetty จะระบชอ Terminal ทสามารถ Login เปน Root ไดโดยตรง เนอหาในไฟลนควรมเฉพาะ tty1, tty2, …, tty6 ซงหมายถงหนาเครอง (Console) ของทานเอง (ม 6 จอสาหรบมาตรฐานทวๆ ไป ทานสามารถใชจอทง 6 ไดโดยกดปม ATL-F1 – ALT-F6) เทานน ไมควรม ttyp0,1, … เปนอนขาด (ttyp จะเปน Terminal ทใชเวลาผใช Telnet จากเครองอน) สวน ttys หมายถง Serial Terminal สาหรบกรณทเราตอโมเดมเขากบ Serial Port ของเครอง Linux เพอใชหมนโทรศพทเขา

Service Security • ระบบควรใหบรการงานเทาทจาเปนเทานน ตรวจสอบไฟล /etc/inetd.conf และใส

คอมเมนต (#) หนาบรรทดของบรการทเราไมตองการบรการ เชน ตระกล r (rsh, rlogin, rexec) และ finger, netstat, sysstat ควรปด ทานสามารถใช Secure Shell (SSH) เพอแทนบรการ r ตางๆ น โปรดดรายละเอยดในบทตอไป

• คาสง ps ax หรอ ps –ef จะแสดงชอ งาน (Process) ทระบบทาอยขณะนน ซงไมควรมบรการทไมจาเปน เชน ถาเครองของทานไมไดใชพมพงานไมไดตอเครองพมพ กไมควรมชอ Process lpd (ใชในการพมพงาน) อย ใช linuxconf สาหรบ RedHat หรอ

Page 307: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 36 ความปลอดภยของระบบเบองตน 317

แกไขไฟล /etc/rc.M, /etc/rc.inet2, /etc/rc.local สาหรบ Slackware และ Linux-SIS เพอไมใหมงานทไมจาเปนเหลานน ในการบตเครองครงตอไป

File ·≈– File System Security • ทาความเขาใจกบเรอง File, Directory Permission อยางละเอยด เพราะเปนพนฐาน

ทสาคญ ทานควรอธบายไดวา เมอใชคาสง ls –la แลว ผลทได เชน –rwxr-S—x หมายความวาอยางไร สามารถหาอานไดจากหนงสอพนฐาน Unix ทวไป หรอแหลง ขอมลเพมเตมทายบทน

• ระวงไฟลทมการใช SUID/SGID อยางมาก ไฟลทม SUID/SGID เปนตนเหตสาคญสาหรบปญหาดานความปลอดภย โดยมากผบกรกมกสรางไฟล SUID ทมเจาของเปน Root เพอใชเปน “ประตหลง” (Back Door) ในการเขาระบบครงตอไป ถงแมทานจะปดประตทเขาใชในการบกรกมาครงแรกไดแลว ทานสามารถคนหาไฟลทม SUID และมเจาของเปน Root ไดโดยใชคาสง

find / -user root –perm –4000 –print

โดยควรใชคาสงนเปนประจา และเปรยบเทยบกนวามไฟลเพมขนมาใหมแตกตางไปจากคราวกอนหรอไม

• ทาการสารองขอมลระบบ (Backup) อยางสมาเสมอ ทงขอมลของผใช และไฟลของระบบ ไฟลทสาคญ เชน /bin/login, /bin/su, /usr/bin/passwd ผบกรกสวนมากเมอเขามาไดแลวกจะเปลยนแปลงไฟลเหลานใหเปนตวใหม ซงมชองโหวอยใหผบกรกเขามาไดในครงตอไป

• ใชซอฟตแวร เชน MD5, Tripwire ในการตรวจสอบวาไฟลในระบบของเรามการเปลยนแปลงหรอไม ในแตละวน หรอแตละสปดาห

Password ·≈– Encryption Security • ใชระบบ One-Time-Password เพอปองกนการสงรหสผานขามเครอขายทไมปลอดภย

โปรดอานบทท 41 เรอง One-Time-Password

Page 308: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

318 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ลองนาโปรแกรมทใชแกะรหสผาน เชน Crack, John the Ripper มาลองกบระบบของทานเอง เพอดวาผใชในระบบของทานมการตงรหสทงายไปหรอเปลา

• ศกษา Public Key Cryptography ซงเปนวธการในการเขารหสทใช Key ในการเขารหสและถอดรหสคนละอน ซงมแนวโนมวาจะแพรหลายในอนาคต ทานอาจเรมศกษาโดยการอาน RSA Cryptography FAQ, http://www.rsa.com

• ใช PGP ในสงขอมลผานเครอขาย เชน ไฟล หรอจดหมายอเลกทรอนกส PGP ใช Public Key Cryptography

• กรณททานใชใหบรการ Web Server ทมขอมลทตองการความปลอดภยสง ควรใช SSL ซงจะมการเขารหสขอมลระหวาง Server และ Client (โปรดอานในบทท 21 เรอง Web Server)

• ใช Shadow Password ในปจจบนระบบ Unix สวนมากจะใช Shadow Password กนหมดแลว วธตรวจสอบงายกคอ ดในไฟล /etc/passwd แตละบรรทดวามฟลดท 2 ทเปนรหสผาน (จะถกเขารหสไว) อยหรอไม ถาไมม แปลวาทา Shadow Password เรยบรอยแลว

(Without Shadow Password)

ott:jsvnQSEV7Mql.:126:10:Pattara Kiatisevi,,,,960418:/usr1/home/ott:/usr/local/bin/tcsh

(With Shadow Password)

ott:x:126:15:Pattara Kiatisevi:/usr2/home/ott:/usr/local/bin/tcsh

Kernel Security ในขณะททาการ Build kernel จะมหวขอตางๆ ทควรพจารณา ดงน

Page 309: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 36 ความปลอดภยของระบบเบองตน 319

• IP: Drop source routed frames (CONFIG_IP_NOSR) หวขอนควรจะตอบ Yes เนองจาก source routed frames จะใชคณสมบตของ TCP/IP กาหนดเสนทางท Packet จะวงจากตนทางถงปลายทางดวยตนเอง ไมสนใจเงอนไขการเลอกเสนทางของ Router ซงอาจแสดงถงความพยายามทจะบกรก เครองของเราจากผไมหวงด

• IP: syn cookies (CONFIG_SYN_COOKIES) ควรตอบ Yes เพราะจะชวยเวลาทถกบกรกทา SYN Attack ซงเปน Denial of Service (DoS) Attack แบบหนง

Network Security

Packet Sniffer • เปนตวอยางทดทแสดงใหเหนวา ความปลอดภยของทงเครอขายจะเสยไป หากเครอง

ใดเครองหนงถกบกรก และถกตดตงซอฟตแวร Packet Sniffer, Packet Sniffer จะ Scan ขอมลในเครอขายทงหมด การ telnet ขามไปมาระหวางเครองทอยในเครอขายนน และไดรหสผานของเครองอนๆ ไดอยางงายดาย โดยไมตองลงทนลงแรงอะไรเพมเตม

• วธตรวจสอบตามปกต เมอมการทางานของโปรแกรมจาพวก Packet Sniffer, Network Interface (เชน eth0 สาหรบ Ethernet) จะทางานในโหมด Promiscous ซงสามารถดไดจากคาสง ifconfig eth0 เปนตน หากทานพบวา Interface ของทานทางานในโหมดน กใหสงสยวามผใชโปรแกรมจาพวก Sniffer อยแนนอน

• การใชอปกรณเครอขายประเภท Switch แทน Hub ธรรมดา จะทาใหโปรแกรมจาพวก Sniffer จะไมสามารถดกจบขอมลของเครองอนๆ ทตออยคนละพอรตของ Switch ได

• ใช One-Time-Password และ SSH (ดในบทท 41) เพอใหขอมลทดกจบไปไดกไมมประโยชน เนองจากเปนขอมลทเขารหสแลว

Network Security Õ◊ËπÊ • ใช TCP Wrapper ชวยในการจากดขอบเขตการใหบรการของเครองของเรา และลด

โอกาสการเขาถงเครองของเราจากผบกรก โปรดดรายละเอยดเพมเตมบทท 37 เรอง TCP-Wrapper

Page 310: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

320 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ใชโปรแกรมทดสอบจดบกพรองดานความปลอดภยของเครอขาย เชน SATAN (http: //www.trouble.org/~zen/satan/satan.html)

• หากเครอขายเรมใหญ ซบซอน และมขอมลทสาคญ อาจพจารณาถงการใช Firewall โปรดดรายละเอยดเพมเตมในบทท 38 เรอง Firewall

นอกจากน ผบรหารระบบ ควรทจะตดตามขาวสาร เกยวกบ Security วาม Bug หรอจดโหวตรงไหนบาง และอปเกรด (Upgrade) ซอฟตแวรใหทนสมย เปนระยะๆ ทานอาจสมครเปนสมาชกของ Mailing List เกยวกบ Security ทมอยมากมาย เพอใหทราบขาวใหมๆ ตลอดเวลา โปรดดในแหลงขอมลเพมเตม

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Security-HOWTO (ม

ประโยชนมาก)

• Computer Emergency Response Team (CERT), http://www.cert.org

• http://www.trouble.org/

• http://www.rootshell.com/

• http://www.siamrelay.co.th/

• http://www.phrack.com/

• RFC 1296, Site Security Handbook, ftp://ftp.nectec.or.th/pub/mirrors/rfc/rfc2196.txt

Page 311: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 37 TCP Wrapper 321

TCP Wrapper จดวาเปนโปรแกรมทชวยในดานความปลอดภยทมประโยชนมาก สามารถลดความเสยงในการทเครองของทานจะถกบกรกไดอยางมประสทธภาพ TCP-Wrapper มหนาทตรวจสอบคาขอใชบรการงานตางๆ ทเขามาในเครองของเรา และพจารณาวาจะใหบรการหรอไม ตามคาสงทเราระบไว

TCP Wrapper §◊ÕÕ–‰√? TCP Wrapper จะทาการตรวจสอบวาผใชจากเครองอนๆ สามารถมาใชบรการตางๆ ของ

เครองเราหรอไม โดยจะทางานภายใต Inetd (Internet Daemon)

การทเครองเราใหบรการงานตางๆ เราจะเรยกวาเปน Server ของบรการนนๆ เชน FTP Server การทจะเปน Server เครองของเราจะตองมโปรแกรม ซงทาหนาทคอยฟง (listen) คาขอใชบรการจากเครองลกขาย (Client) เมอมคาขอมาแลว กจะเรมใหบรการจนสนสด จากนนกจะวนกลบไปอยในโหมด listen ตอไป

โปรแกรมททาหนาทเปน Server (บางทเรยกวา daemon) ลกษณะการเขยนสวนมากจะเขยนเปนชอโปรโตคอลทใหบรการ แลวตามดวยตว “d” (ยอมาจาก daemon) เชน โปรแกรมททาหนาท HTTP Server เรากจะเรยกวา httpd และโปรแกรมททาหนาท FTP Server เรากจะเรยกวา ftpd เปนตน

Server จะทางานได 2 โหมด คอโหมด Stand-alone และแบบผาน Inetd ในแบบ Stand-alone โปรแกรมททาหนาทเปน Server นน จะถกเรยกใหทางานทนทและจะคางอยตลอด (อยใน listen mode ซงสามารถดไดโดยการใชคาสง ps ax หรอ ps –ef) ถงยงไมมคาขอใชบรการเขามา สวนแบบ Inetd นน ตว Inetd เองจะถกเรยกใหทางานทนท และคางอยตลอด แต Daemon ท

Page 312: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

322 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ทางานใต Inetd จะไมถกเรยกใหทางาน จนกวาจะมคาขอใชบรการ Inetd จะรบคาขอใชบรการ และดวาเปนคาขอสาหรบ Server ตวใด หลงจากนนกจะทาการเรยกโปรแกรม Server นนใหทางาน เมอทางานเสรจสนแลวกจะปดการทางานไป เหลอแต Inetd โปรแกรมเดยว ทยงคงรบคาขอตอไป (ในแบบ listen mode)

จะเหนวาในแบบ Stand-alone นน แตละ Server จะถกเรยกใหทางานและคางไว ซงเปนการสนเปลองทรพยากรของเครอง แตหากมคาขอใชบรการกสามารถทางานไดทนท แบบ Inetd จะมเพยง Inetd อนเดยวเทานน ทถกเรยกใหทางานคางไว เปนการประหยดทรพยากรของระบบ แตหากมคาขอใชบรการกตองเสยเวลาในการเรยกใช Server แตละตว แลวกปดไป และเปดใหมเมอมคาขอมาอก

แบบ Stand-alone จะเหมาะกบ Server ทใหบรการงานทมคาขอใชบรการมาก สวน Inetd กจะเหมาะกบบรการทมผขอใชไมมากนก ตวอยางเชน หากเครองของเราทาหนาทหลกเปน Web Server เรากควรให httpd ทางานในแบบ Stand-alone สวน telnetd, ftpd มผใชไมบอยนก กใหอยใต Inetd

การทเราจะให Server ใดทางานภายใต Inetd เราจะตองใสไวในไฟล /etc/inetd.conf ตวอยางบรรทดในไฟล /etc/inetd.conf สาหรบ FTP, TELNET, POP3 Server มดงน

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

pop3 stream tcp nowait root /usr/sbin/in.pop3d in.pop3d

ในบรรทดท 3 (pop3) นน จะเหนวาใน Field ท 6 และ 7 ตางชไปท /usr/sbin/in.pop3d กรณนถามคาขอใชบรการ pop3 inetd กจะทาการเรยกโปรแกรม /usr/sbin/in.pop3d นนเอง สวนในบรรทดของ ftp และ telnet ใน Field ท 6 จะเปน /usr/sbin/tcpd ซงคอตวโปรแกรม TCP-Wrapper นนเอง กรณนเวลามผขอใชบรการ ftp หรอ telnet มายงเครองของเรา Inetd จะเรยกโปรแกรม tcpd (TCP Wrapper) กอน ซงจะทาการตรวจสอบวาผใชมสทธทจะใชบรการของเราหรอไม ถามกจะทาการเรยก /usr/sbin/wu.ftpd หรอ /usr/sbin/in.telnetd ตอไป

Page 313: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 37 TCP Wrapper 323

ไฟลท TCP-Wrapper ใชสาหรบเกบเงอนไขสทธในการใชบรการ มอย 2 ไฟล คอ /etc/ hosts.allow และ /etc/hosts.deny

• hosts.allow เปนไฟลทใชสาหรบแสดงรายละเอยดเงอนไขตางๆ ทตงไววา อนญาตใหใคร (จาก IP หรอ host) เขามาทางานกบเครองของเราไดบาง

• hosts.deny เปนไฟลทใชสาหรบแสดงรายละเอยดเงอนไขตางๆ ทตงไววา ไมอนญาตใหใคร (จาก IP หรอ host) เขามาทางานกบเครองของเราไดบาง

โดยมรปแบบการตงคาดงน

<รายชอบรการ>: <เงอนไขในการใหบรการ>

รายชอบรการ คอชอของ application หรอ service ตางๆ ของ Server นนๆ ทเรากาหนดใหมนทางานภายใต Inetd เชน ftpd, fingerd เปนตน (ตรงกบใน Field แรก ของ /etc/inetd.conf ) ถาเปนคาวา ALL หมายความวา ทกบรการทมปรากฏใน Inetd

เงอนไขในการใหบรการ อาจเปนรายชอของโดเมนเนม เชน utcc.ac.th, loxinfo.co.th, nectec.or.th

หรอ IP Address เชน 203.150.154.1, 164.115.115. เปนตน

ในการกาหนดคาตางๆ ในไฟล hosts.allow และ hosts.deny จะใชรปแบบขางตน ในไฟล hosts.allow จะหมายถงการอนญาต ในไฟล hosts.deny จะหมายถงการปฏเสธ เราสามารถสรางเงอนไขตางๆ ไดหลายเงอนไขภายในไฟลเดยวกน แตตองไมขดแยงกนทงในไฟลเดยวกน และระหวางไฟล hosts.allow กบ hosts.deny ดวย (ความจรง เราใชแคไฟลใดไฟลหนงกเพยงพอ ถาบรการของเรา สวนใหญปดเปดใหกบบางคนเทานน กควรใช hosts.deny แตถาบรการของเรา สวนใหญเปดปดสาหรบบางคนเทานน กควรใช hosts.allow) ตวอยางดงน

อนญาตใหใชงานไดทกอยางจากทกเครอง

ทไฟล hosts.allow ALL : ALL

อนญาตใหใชงานไดทกอยางจากทกเครอง ยกเวนจาก IP 202.28.8.5

Page 314: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

324 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ทไฟล hosts.allow ALL : ALL EXCEPT 202.28.8.5

อนญาตใหใชงานไดทกอยาง ยกเวน ftp จากทกเครอง ยกเวนจาก domain 202.28.8

ทไฟล hosts.allow ALL EXCEPT in.ftpd : ALL EXCEPT 202.28.8.

ไมอนญาตใหใชงานทกอยาง จากเฉพาะ IP 202.28.8.15 กบ 202.28.9.6

ทไฟล hosts.deny ALL : 202.28.8.15, 202.28.9.6

ไมอนญาต ใหใชงานทกอยาง ยกเวน finger จากทกเครองบน domain nectec.or.th

ทไฟล hosts.deny ALL EXCEPT in.fingerd : .nectec.or.th

(โปรดสงเกตเครองหมายจด หนา nectec.or.th)

ไมอนญาตใหใชงานทกอยาง ยกเวน ftp จากทกเครองบน domain nectec.or.th และไมอนญาตใหเครองทกเครองเขามาในเครอขาย ยกเวนเครองภายใน domain utcc.ac.th

ทไฟล hosts.deny ALL EXCEPT wu.ftpd : .nectec.or.th ALL : ALL EXCEPT .utcc.ac.th

โปรดสงเกตคาวา wu.ftpd นามาจาก Field ท 6 ของบรรทดของ ftpd ใน /etc/inetd.conf ในเครองของทานอาจแตกตางออกไป

สาหรบเครองทใชซอฟตแวร Linux-SIS เวอรชน 2.0 ขนไปจะมการตดตง TCP Wrapper มาใหเรยบรอยแลวโดยมขอความในไฟลทงสองดงน

/etc/hosts.allow -ไมมขอความ- /etc/hosts.deny in.telnetd: ALL EXCEPT 192.168.1.

in.ftpd: ALL EXCEPT 192.168.1.

หมายความวา ไมอนญาตใหทาการ telnet หรอจากเครองใดๆ ยกเวนเครองทม IP Address ขนตนดวย 192.168.1 (เชน 192.168.1.1, 192.168.1.2, ...)

ทานสามารถเพมเตมแกไขไฟลเหลานไดตามความตองการของทาน (โปรดระวง ไมควรอนญาตใหผใชใดๆ สามารถทาการ telnet/ftp มายงเครองเราไดโดยไมจาเปนเปนอนขาด)

Page 315: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 37 TCP Wrapper 325

ระบบ Unix สมยใหมสวนใหญ จะมการตดตง TCP-Wrapper มาใหเรยบรอยแลว ทานสามารถตรวจสอบโดยการคนหาวามไฟลชอ tcpd (ตามปกตจะอยใน /usr/sbin) หรอไม ถามอยแลว ทานกเพยงแกไขไฟล /etc/inetd.conf, /etc/hosts.allow, /etc/hosts.deny ใหเปนตามตองการ หากพบวายงไมม ทานสามารถดาวนโหลดตนฉบบของซอฟตแวร TCP-Wrapper ไดท ftp://ftp .win.tue.nl/pub/security/

แหลงขอมลเพมเตม • ftp://ftp.win.tue.nl/pub/security

Page 316: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

326 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑§—¥¬ËÕ วธการหนงทสามารถเพมความปลอดภยใหกบเครอขายไดอยางมประสทธภาพ กคอการ

ใช Firewall การใช Firewall ทาไดหลายรปแบบ มทงแบบเปนฮารดแวร และซอฟตแวร บทนจะกลาวถงการสราง Firewall อยางงายดวยซอฟตแวร ipfwadm บน Linux รวมถง IP Masquerade และ การทา Transparent Proxy

Firewall คาวา Firewall มาจากชออปกรณอนหนงในรถยนต ทใชกนระหวางสวนเครองยนต กบ

สวนทนงของผโดยสาร เพอปองกนผโดยสารใหปลอดภย ถาเครองยนตทางานผดพลาดเกดไฟไหมขน ในความหมายทางดานเครอขายคอมพวเตอรกคอ เครองคอมพวเตอรหรออปกรณททาหนาทปองกนเครอขายภายใน (เปรยบกบสวนทนงของผโดยสาร) จากเครอขายสาธารณะทอาจมอนตรายแอบแฝงอย (เชน เครอขายอนเทอรเนต เปรยบไดกบสวนเครองยนต)

Page 317: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 38 Firewall: Ipfwadm 327

Firewall

Internet

Router

PC PC

PC PC

เครอขายภายในเครอขายภายนอก

รปท 38.1 แสดงตวอยางเครอขายทมการตดตง Firewall

Firewall จะเชอมตอกบทงสอง (หรอมากกวา) เครอขาย จากรปท 38.1 จะเหนวา เครอง Firewall จะอยตรงกลาง เชอมตอกบทงเครอขายภายใน (ทเราตองการรกษาความปลอดภย) และเครอขายภายนอก (เครอขายอนเทอรเนต ซงอาจมอนตรายจากผไมประสงคดอย) ขอสาคญคอ ทงสองเครอขายนจะตองไมมการเชอมตอกนโดยตรงทางอน การตดตอระหวางเครอขายทงสองจะตองผาน Firewall เทานน มฉะนน Firewall กจะไมมความหมาย

Firewall จะปองกนเครอขายภายในใหปลอดภยจากโลกภายนอก โดยขอมลทวงผาน Firewall จะถกควบคม จะปลอยใหผานเฉพาะบรการทอนญาตเทานน เราสามารถแบง Firewall ตามลกษณะการทางานไดเปน 2 ประเภทดงน

• Filtering Firewall ทางานในลกษณะเหมอนเครองกรอง จะปลอยให connection ผาน Firewall ไดเฉพาะทเราอนญาต เปรยบเสมอนดานตรวจรถยนต ซงเมอตรวจผานแลวกปลอยใหวงผานไปได Filtering Firewall จะทางานในระดบ IP Layer และการทางานของ Firewall กจะขนกบ Filter Policy ทเรากาหนดไว

• Proxy Server จะไมปลอยให connection ผาน แตจะไปเอาขอมลมาให Client เอง เปรยบเสมอนดานทกกรถไวเลย และผคมดานเอารถของตวเองออกไปคนหาสงทตองการมาใหแทน ตวอยางของ Proxy Server กเชน WWW Proxy Server นนเอง Firewall แบบ Proxy Server นจะมความปลอดภยสงมาก ถาออกแบบอยางเหมาะสม

Page 318: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

328 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เนองจากคอมพวเตอรในเครอขายภายใน จะไมสามารถสราง/รบ connection กบภายนอกไดเลย แตเราอาจตองม Proxy Server แตละโปรแกรม สาหรบแตละ Application เชนถาผใชจะใช telnet กตองม telnet proxy server ถาผใชจะใช Real Video กตองม Real Video proxy server ตางๆ แบบ Proxy Server นจะทางานในระดบ Application ซงตางกบแบบ Filtering และใชวธอนญาต/ไมอนญาตใหขอมลผานในระดบ IP

Firewall ในปจจบนมหลายชนด ทงทเปนฮารดแวร ซอฟตแวร การทางานกมหลายแบบ อาจเปนทงแบบ Filtering และ Proxy ในตวเดยวกนกเปนได

กอนททานจะทาการจดหา/จดทาระบบ Firewall มาใชในเครอขายของทาน สงทสาคญทสด และควรทากอนกคอ การเขยน Security Policy (โปรดอานบทกอนหนาน สาหรบการเขยน Security Policy) วาจรงๆ แลวสงทเราตองการจะปองกนคออะไร การใชอปกรณ Firewall ทม คณสมบตซบซอน ราคาแพง จะไมมประโยชนใดๆ เลย หากทานและผใชในเครอขายของทานยงไมเขาใจในความมสทธและขอบเขตของแตละฝายในการใชงานและบรหารเครอขาย การเลอกใช Firewall ไมไดอยทความสามารถทซบซอน และคณสมบตพเศษทางการคาทงหลาย หากแตอยทวามนสามารถปองกนเครอขายภายในของเราตาม Security Policy ได หรอไม และคมคาแคไหน หลายหนวยงานพบวาไดสนเปลองเงนทองไปมากมาย ในการจดตง Firewall แตแลวเครอขายกยงมปญหาในดานความปลอดภย มความไมเขาใจกนระหวางผใช และผบรหารเครอขาย กสบเนองมาจากการไมม Security Policy ทชดเจนนนเอง

°“√ √È“ß Firewall ‚¥¬„™È Linux เราสามารถสราง Firewall อยางงาย ดวย Linux โดยใชซอฟตแวร เชน TIS Firewall,

http://www.tis.com (Proxy Server Firewall) และ IPFWADM, http://www.xos.nl/linux/ipfwadm/ (Filtering Firewall) รวมถงโปรแกรม HTTP/FTP Proxy Server ทวไป เชน Squid

ในสวนนจะกลาวถงการเตรยมเครองเพอใชเปน Firewall การเตรยมเครองมขนตอนคราวๆ ดงน

Page 319: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 38 Firewall: Ipfwadm 329

• เรมจากเครองทเพงตดตงโปรแกรม Linux ใหมและสะอาด ใหมโปรแกรมทไมจาเปนนอยทสด (X Windows, Compiler, Document Processing ทงหลาย ถาไมจาเปนจรงๆ กไมควรลง)

• มนใจวาไมมบญชผใชทไมจาเปนในเครองน

• ตดตง Ethernet Card 2 ใบ ใบหนงเชอมตอกบเครอขายภายนอก (อนเทอรเนต) อกใบหนงเชอมตอกบเครอขายภายใน อาจตง IP ใหอยในวง 192.168.1.0/24

• ใช Kernel เวอรชนท Stable (เชน เวอรชนทขนตนดวย 2.0) ทใหมทสด

• Rebuild Kernel ใหมใหมออปชนดงน

1. ในหวขอ General setup a. Networking Support ON

2. ในหวขอ Networking Options a. Network firewalls ON b. TCP/IP Networking ON c. IP forwarding/gatewaying ON d. Firewalling ON e. Firewall packet logging ON (ไมจาเปนแตแนะนา) f. IP: masquerading OFF (หากตองการใช IP Masquerade ใหตอบวา ON

โปรดอานบทถดไป) g. IP: accounting ON h. IP: tunneling OFF i. IP: aliasing OFF j. IP: PC/TCP compatibility mode OFF k. IP: Reverse ARP OFF l. Drop source routed frames ON

3. ในหวขอ Network device support a. Network device support ON

Page 320: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

330 สรางอนเทอรเนตเซรฟเวอรดวย Linux

b. Dummy net driver support ON c. Ethernet (10 or 100Mbit) ON d. เลอก Ethernet Card ของทาน

เมอเครองทางานได และเหนเครอขายทงสองฝงเรยบรอยแลว ทานสามารถนาโปรแกรม TIS Firewall มาตดตง หรอใช IPFWADM ทจะกลาวในสวนถดไป

IPFWADM Ipfwadm เปนโปรแกรมทใชสรางและบรหารงาน Firewall แบบ filtering สาหรบ Linux

โดยจะเปนคาสงทมวธการใชงานดงน

ipfwadm -A command parameters [options] ipfwadm -I command parameters [options] ipfwadm -O command parameters [options] ipfwadm -F command parameters [options] ipfwadm -M [ -l | -s ] [options]

โดยจะมประเภทของกฎหลกๆ 5 อนดงน

• -A IP Accounting rules เกยวกบการทา Accounting

• -I IP input firewall rules ระบกฎเกณฑสาหรบ Packet ทวงเขามายงเครอง Firewall

• -O IP output firewall rules ระบกฎเกณฑสาหรบ Packet ทวงออกไปจากเครอง Firewall

• -F IP forwarding rules ระบกฎเกณฑ สาหรบ Packet ทเครองของเราจะทาการสงผานให คอขอมลทวงเขามา และมจดปลายทางเปนเครองอนทไมใชเครอง Firewall นนเอง

• -M IP Masquerading administration ใชในการบรหารงาน IP Masquerade ตองใชรวมกบคาสง –l หรอ –s เทานน ซงจะกลาวตอไป

Page 321: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 38 Firewall: Ipfwadm 331

ในสวน command (คาสง) จะระบสงทจะใหทาสาหรบแตละประเภทของกฎนนๆ มคาสงทสาคญ ดงน

• -a [policy] a ยอมาจาก append โดยจะเปนการเพม Rule ตอทายเขาไปในประเภทนนๆ (กฎจะเรยงลาดบกน ตางลาดบกนอาจมความหมายตางกน) policy จะเปนได 3 อยางคอ accept, deny หรอ reject

• -I [policy] i ยอมาจาก insert คาสงนเหมอนกบ a ทกประการยกเวนจะเปนการเพม Rule ไวอนแรกแทนทจะไปตอทาย

• -d [policy] d ยอมาจาก delete จะเปนการลบ Rule ทมอย โดยใน policy จะตองกาหนดใหตรงกบ Rule ทมอยแลว มฉะนน คาสงนจะไมมผลอะไร

• -l l ยอมาจาก list คาสงนจะเปนการแสดงรายชอของ Rule ทมอยตอนนสาหรบประเภทนนๆ คาสงนอาจใชรวมกบ –z ซงเปนการ Reset Counter ใหเปน 0

• -z ใชในการ Reset Counter ใหเปน 0 ใชรวมกบ –l

• -f f ยอมาจาก flush ใชลบ Rule ทมอยทงทงหมด (-d จะเปนลบทละอน)

• -p policy p ยอมาจาก policy คาสงนจะเปนการตงคา Default สาหรบประเภทของกฎนนๆ policy จะเปนได 3 อยางคอ accept, deny หรอ reject คาสงนจะใชไดกบประเภทของกฎ –I, -O หรอ –F เทานน

• -s tcp tcpfin udp ใชในการตงคา Timeout ทใชในการทา IP Masquerade โดยจะใชรวมกนประเภทของกฎ –M

• -c c ยอมาจาก check จะเปนการทดสอบวา ถาม packet มาอยางน แลว Firewall จะทางานอยางไร ใชกบประเภทของกฎ –I, -O, -F เทานน

• -h h ยอมาจาก help จะแสดงความชวยเหลอ

สาหรบในสวน Parameter ทจะใชกบคาสง append, insert, delete และ check ทกลาวมาแลวนน มดงน

• -P protocol กาหนดโปรโตคอลของ Packet ซงเปนไปไดคอ tcp, udp, icmp หรอ all all หมายถงทกๆ โปรโตคอล และเปนคา default กรณทไมไดระบโปรโตคอล

Page 322: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

332 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• -S address[/mask] [port] ระบ Address ตนทางของผสง Packet, Netmask และ port

• -D address[/mask] [port] ระบ Address ปลายทางผรบ Packet, Netmask และ port

• -V address ระบ Address ของ Interface ของ Firewall เองท Packet นนวงเขามาหรอสงออกไป

• -W name ระบชอของ Interface ของ Firewall เองท Packet นนวงเขามาหรอสงออกไป

นอกจากนยงมออปชนเพมเตมดงน

• -m m ยอมาจาก Masquerade ใชในการทา IP Masquerade ทจะกลาวในบทถดไป

• -r [port] ยอมาจาก redirect ใชในการเปลยนปลายทางของ Packet ทวงเขามาใหวงไปยงเครอง Firewall เองตาม port ทกาหนด แทนทจะวงไปปลายทาง ใชในการทา Transparent Proxy ซงจะกลาวในบทถดไป

• -o ใชเพอใหมการเกบ Log ของ Packet ทตรงกบ Rule น โดยจะตอง Build Kernel ใหม Option CONFIG_IP_FIREWALL_VERBOSE เปน YES ดวย

• -v v ยอมาจาก verbose ใชเมอตองการใหแสดงรายละเอยดการทางานใหมากกวาปกต

ตวอยางการใชงาน ipfwadm

ipfwadm -I -p deny

กาหนดให Default Policy ของ Input firewall rule เปน deny (ไมมการรบ Packet จากภายนอก)

ipfwadm -F -p deny

กาหนดให Default Policy ของ Forward Rule เปน deny (ไมมการ Forwad Packet ให)

Page 323: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 38 Firewall: Ipfwadm 333

ipfwadm -I -a accept -V 192.168.1.1 -S 192.168.1.0/24 -D 0.0.0.0/0

กาหนดใหรบ Packet ทมตนทางจาก 192.168.1.0/24 ปลายทางไปยงทไหนไมสนใจ และเขามายงเครอง Firewall ทาง Interface ทม IP Address 192.168.1.1

ipfwadm -I -a accept –W eth0 192.168.1.1 -S 192.168.1.0/24 -D 0.0.0.0/0

กาหนดใหรบ Packet ทมตนทางจาก 192.168.1.0/24 ปลายทางไปยงทไหนไมสนใจ และเขามายงเครอง Firewall ทาง Interface eth0

ipfwadm -O -a accept -V 192.168.1.1 -S 0.0.0.0/0 -D 192.168.1.0/24

กาหนดใหสามารถสง Packet ออกได ถามตนทางจากทไหนไมสนใจ ปลายทางไปยง 192.168.1.0/24 และออกทาง Interface ทม IP Address เปน 192.168.1.1

ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 –o

กาหนดใหปฏเสธการสงออก Packet จากเครอง Firewall ไมวาจะมาจากทใด และมงไปยงปลายทางใด และใหทาการเกบสถตดวย

ipfwadm –F –l

แสดงคาของ Forward Rule ทมอยออกมา

ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0

ใหทาการ Masquerade Packet ทมตนทางมาจาก 192.168.1.0/24 ไมวาจะมจดหมายปลายทางไปยงทใด โปรดอานรายละเอยดในสวน IP Masquerade เพมเตม

Page 324: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

334 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ทานสามารถดตวอยางการใชงาน ipfwadm ไดเพมเตมในสวนถดไป

แหลงขอมลเพมเตม • ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Firewall-HOWTO

• man page ของ ip fwadm

Page 325: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

334 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในบททผานมา ไดมการกลาวถง Firewall ไว 2 รปแบบ คอแบบ Packet Filter และ แบบ Proxy Server ซงถาคดถงในทางปฏบตจรงๆ แลว จะมปญหาเกดขนในแตละแบบดงน

• แบบ Packet Filter แบบนแทจรงแลว Firewall เปรยบเสมอนคนทอยตรงกลาง มหนาทกรองวา Packet อนไหนบางทผานขามไปได ถาพจารณาอนญาตแลว Con–nection ทเกดขนจะเกดระหวาง Host ทอยนอก Firewall (ในเครอขายอนเทอรเนต) และ Host ทอยหลง Firewall โดยตรงเลย ซงในบางครงแบบนอาจมปญหาในดานความปลอดภย ถา Host ทอยหลง Firewall อนนนมความปลอดภยไมเพยงพอ อาจถกบกรกโดยตรงจาก Host ภายนอก และอาจสรางปญหาใหกบ Host อนๆ ในเครอขายได

• แบบ Proxy Server จงอาจดเหมอนวาปลอดภยกวา เรานยมทจะใช Private IP (IP ทไมมใชจรงในเครอขาย สงวนไวใหใชสาหรบเครอขายภายในเทานน) ตาม RFC 1597 ซงมดงน • 10.0.0.0 - 10.255.255.255 • 172.16.0.0 - 172.31.255.255 • 192.168.0.0 - 192.168.255.255

ซงถาเครอขายภายในใช Private IP ดงกลาวน กเปนทแนใจไดวา Host ทอยหลง Firewall ไมมทางสราง Connection ตรงกบภายนอกไดแน ทกอยางจะตองผาน Firewall (Proxy Server) หมด ซงกเปนวธทใหความปลอดภยด แตกหมายความบรการใดๆ ทผใชตองการ ทเครอง Firewall จะตองม Proxy Server สาหรบบรการนนๆ แยกกนชดเจน ถาผใชตองการใชแค WWW มนกไม

Page 326: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 39 IP Masquerade 335

ยาก เพราะ HTTP Proxy Server กมอยมากมายใหเลอกใช แตถาผใชตองการบรการ FTP, Real Audio, IRC, VDO Live, CU-SeeMe เปนตน ผดแล Firewall กอาจจะเกดความลาบากได

IP Masquerade เปนวธการทสามารถทาให Host ทอยในเครอขายภายใน (อาจใช Private IP) สามารถใชงาน Application ตางๆ เสมอน Host นนอยบนเครอขายอนเทอรเนตจรงๆ Host ภายนอกจะมองไมเหนเครอขายภายใน จะเหนเสมอนมเครอง Firewall (ทใช IP Masquerade) เพยงเครองเดยว Host ภายนอกจะไมสามารถสราง Connection ตรงผานเขาไปยงเครองทอยหลง Firewall ได

IP Masquerade ทางานในระดบ Kernel โดยในการใชงานจะตอง Rebuild Kernel ใหม ออปชนดงกลาว เพมจากทไดระบในบทท 38 ดงน

• Prompt for development and/or incomplete code/drivers (CONFIG_EXPERI–MENTAL): YES

• IP: masquerading (CONFIG_IP_MASQUERADE): YES

• IP: ipautofw masquerade support (CONFIG_IP_MASQUERADE_IPAUTOFW): YES

• IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP): YES

และหลงจาก Rebuild Kernel (make dep; make clean; make zlilo) แลว ตองทาการ Compile module ดวย โดยใชคาสง

cd /usr/src/linux ; make modules ; make modules_install

• หลงจากนนตองสงใหเครองทาการโหลด module เหลานทกครงทเครองบต โดยอาจใสใน /etc/rc.d/rc.firewall หรอ /etc/rc.d/rc.modules ตวใดตวหนงกไดตามสะดวก

/sbin/depmod -a

/sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio

/sbin/modprobe ip_masq_irc

/sbin/modprobe ip_masq_cuseeme

/sbin/modprobe ip_masq_vdolive

Page 327: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

336 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• สราง Script ซงเรยกใชโปรแกรม ipfwadm สาหรบ Rule ตางๆ ตามทเรากาหนด และใหเครองเรยกใช Script นทกครง ทเครองบต ตวอยาง ไฟล /etc/rc.d/rc.firewall.easy ซงเปน Script เพอสราง Firewall อยางงายสาหรบ Linux-SIS เวอรชน 3.0 เปนดงน

# Sample Firewall Script for NECTEC Linux-SIS Version 3.0 # Easy Version

# [email protected], Dec 7, 1998

#

# Flush all rules

/sbin/ipfwadm -I -f /sbin/ipfwadm -O -f

/sbin/ipfwadm -F -f

# Set the default Input and Output policy to "accept"

/sbin/ipfwadm -I -p accept

/sbin/ipfwadm -O -p accept

# Set the default Forward policy to "deny" /sbin/ipfwadm -F -p deny

# Accept traffic to our own web server

/sbin/ipfwadm -I -a accept -P tcp -S192.168.1.0/24 -D192.168.1.1/32 80

# Redirect Web Traffic to proxy (Transparent proxy)

/sbin/ipfwadm -I -a accept -P tcp -r 8080 -S192.168.1.0/24 -D/0.0.0.0/0 80 # IP Masquerade for 192.168.1.0/24 (Internal Network)

/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0

• ตวอยางทแสดงเปนแบบงาย สาหรบเครองทม 2 Interface โดยอนทตอกบเครอขายภายใน ตวเครอง Firewall ใช IP 192.168.1.1 และ IP Address ของเครอขายภายในคอ 192.168.1.0/24

• ทานสามารถดตวอยางเพมเตมไดจาก IP-Masquerade HOWTO จากแหลงขอมล เพมเตมดานลาง หรอ ไฟล /etc/rc.d/rc.firewall ใน Linux-SIS เวอรชน 3.0

Page 328: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 39 IP Masquerade 337

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/Firewall-HOWTO

• ftp://ftp.nectec.or.th/pub/mirrors/linux/docs/HOWTO/mini/IP-Masquerade

• http://www.tis.com/

• http://www.xos.nl/linux/ipfwadm/

• IPFWADM man page (ใชคาสง man ipfwadm)

Page 329: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

338 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑§—¥¬ËÕ ในการเชอมตออนเทอรเนตในปจจบน เรามกจะตดตง Proxy Cache Server และใหผใช

ตงคาท Web Browser (Netscape, Internet Explorer) ชมายง Proxy Cache Server ของเรา อยางไรกด หากผใชมจานวนมาก และยากทจะควบคมใหทกคนปฏบตตาม เราสามารถใชวธทา Transparent Proxy ใหดกขอมลการใชงาน WWW และ Redirect ใหไปยง Proxy Cache Server ของเราได ในบทนจะกลาวถงการใช Linux มาทาหนาท Transparent Proxy น โดยใชซอฟตแวร Squid Proxy/Cache Server และ Transproxy

Transparent Proxy วธการทจะทา Transparent Proxy นนมหลายวธ มทงแบบใชฮารดแวร เชน Cisco Cache

Engine, NetCache และแบบใชซอฟตแวร แมกระทง Linux เองกมหลายวธทจะทา Transparent Proxy ในทนจะแนะนาวธทาโดยใชโปรแกรม ipfwadm รวมกบ Squid Proxy/Cache Server หากทานสนใจวธอน สามารถหาอานวธทาไดจากแหลงขอมลเพมเตม

กอนจะทา Transparent Proxy ทานควรตดตงเครอง Proxy Cache Server เรยบรอยแลว กรณนเราจะใชโปรแกรม Squid ซงดาวนโหลดไดจาก http://squid.nlanr.net หรอ http://ftp. nectec.or.th/pub/mirrors/squid.nlanr.net

หลกการในการทา Transparent Proxy โดยใช Linux จะเปนดงน

• เครอง Linux (ทตดตงโปรแกรม ipfwadm และ Squid) จะตองวางขวางในลกษณะทวา ขอมลจากผใช WWW จะตองผานเครอง Linux น ตวอยางเชน วางในลกษณะ Firewall ดงภาพทแสดงในบทท 38 เรอง Firewall

Page 330: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 40 Transparent Proxy 339

• ใน /etc/rc.d/rc.firewall หรอ Start Up Script ของระบบ Firewall ของทาน จะตองมบรรทดทกาหนดวา ถา Packet ทวงเขามาม Destination Port เปน 80 (แสดงวากาลงใชงาน WWW เนองจาก Web Server ปลายทางจะทางานท Port 80) ใหทาการ Redirect Packet นนไปยงโปรแกรม Squid ตวอยางเชน ถาโปรแกรม Squid ทางานอยท Port 8080 จะตองเขยนคาสง ipfwadm ดงน (ถาดตวอยางในบทท 39 จะเหนวามบรรทดนอยแลว)

/sbin/ipfwadm -I -a accept -P tcp -r 8080 -S192.168.1.0/24 -D/0.0.0.0/0 80

• ตงคาใหโปรแกรม Squid Proxy/Cache Server รบ Packet ท Redirect มา โดยเพมคาลงในไฟล /usr/local/etc/squid/etc/squid.conf ดงน

httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on

• Restart เครอง กเปนอนเสรจ เครอง PC ทอยหลงเครอง Linux-SIS (ดรปท 16.1 บทท 16 ประกอบ) กจะสามารถใชงาน www ผานระบบ Proxy ทเครอง Linux โดยอตโนมต ไมจาเปนตองตงคาอะไรท Browser ลองดใน access.log ของ Squid เพอความแนใจวาระบบ Transparent Proxy ทางานถกตอง

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://squid.nlanr.net/Squid/FAQ/FAQ-17.html หรอ http://ftp.nectec.or.th/pub

/mirrors/squid.nlanr.net/Squid/FAQ/FAQ-17.html

• โปรแกรม Transproxy, ftp://ftp.nlc.net.au/pub/linux/www/, (อกวธหนงในการทา Transparent Proxy)

Page 331: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

340 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ในการเขาใชเครอง Linux หรอระบบ Unix โดยการใช telnet หรอ ftp จะตองมการใส ขอมล login และรหสผาน ซงโดยมากรหสผานของผใชจะถกสงผานไปในเครอขายอนเทอรเนตเลยโดยไมไดมการเขารหส ผไมประสงคดทอยระหวางทางผานของขอมลนน สามารถดกจบดได เราสามารถแกปญหานไดโดยใชวธ One Time Password ซงตวขอมลทสงออกไปในเครอขายจะเปลยนแปลงทกครง ถงแมจะดกขอมลไปไดกไมมประโยชนนนเอง

One Time Password ∑”ß“πլ˓߉√

Internet

Server Client

Login:Password:

(login)(password)

Hacker/Cracker

รปท 41.1 รปแสดงการสงขอมลผานเครอขายสาหรบวธ TELNET แบบปกต

Page 332: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 41 One Time Password (OPIE) 341

จากรปท 41.1 นน จะเหนวา การท Client ทาการ telnet ไปยงเครอง Server ขอมล login และรหสผานจะถกสงผานไปในเครอขาย และหากมผไมประสงคด (Hacker/Cracker) อยระหวางทางผาน เชน อยใน Ethernet Segment เดยวกบ Client, Server กสามารถดกจบขอมลไดทนท

วธการทางานของระบบ One Time Password คอ เมอ Client ทาการ telnet (หรอบรการอนๆ) ไปยงเครอง Server หลงจากทปอน login แลว แทนทเครอง Server จะรอรบ password ตามปกต เครอง Server จะสงคา Challenge ตอบกลบมา ซงคานจะเปลยนแปลงทกครง Client กจะนาตว Challenge ทไดมาทาการคานวณกบตวรหสผานจรงๆ เรยกวา ทา Hashing ซงจะมหลายวธ เชน MD4, MD5 ผลทไดกจะเปน One Time Password ซง Client กจะสงกลบไปให Server (ลกษณะของ prompt ท Server จะเปน Response แทนคาวา Password)

วธการนจะทาให Client ไมตองสงรหสลบของตวเองผานเครอขาย แตจะสง One Time Password ออกไปแทน และเนองจากคา Challenge ท Server สงให Client จะเปลยนทกครง ดงนน One Time Password กจะเปลยนไปทกครง ถงผไมประสงคดจะดกจบไปไดกไมมประโยชน เพราะในครงตอไป มนกจะตองเปลยนไปอยด

การทางานของ One Time Password สามารถแสดงไดดงรปท 41.2

Internet

Server Clientlogin:<Challenge>Response:

Hacker/Cracker

One Time Password

? MD4/MD5

Challenge (login)(password)+

รปท 41.2 แสดงการสงขอมลผานเครอขายของวธ TELNET แบบใช One Time Password

Page 333: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

342 สรางอนเทอรเนตเซรฟเวอรดวย Linux

การทเราจะใช One Time Password นน จะตองมซอฟตแวรชวยทงในสวน Server และ Client ตวอยางเชน การ telnet ในสวน Client เราจะตองมซอฟตแวรทใชคานวณ One Time Password จากคา Challenge และรหสลบของเราเอง (ตามวธ MD4, MD5) เชน

• Winkey (ftp://ftp.nrl.navy.mil/pub/security/nrl-opie, ftp://ftp.nectec.or.th/pub/software /systools)

• Java-based S/Key calculator (http://www.cs.umd.edu/~harry/jotp/)

• Opiekey ทางานบน Unix มากบ OPIE (ftp://ftp.nrl.navy.mil/pub/security/nrl-opie)

ในสวน Server เราจะตองมซอฟตแวรทสนบสนน One Time Password เชน

• S/Key (ftp://ftp.bellcore.com/pub/nmh/)

• Logdeamon (ftp://ftp.win.tue.nl/pub/security/, ftp://ftp.nectec.or.th/pub/software /systools/)

• OPIE (ftp://ftp.nrl.navy.mil/pub/security/nrl-opie, ftp://ftp.nectec.or.th/pub/software /systools/)

ระบบ One Time Password จะมฐานขอมลรหสผานผใชแยกตางหากไมปะปนกนฐานขอมลรหสผานของระบบ Unix (/etc/passwd หรอ /etc/shadow) ดงนนผใชจะม 2 รหสผาน อนหนงใชสาหรบบรการทสนบสนน One Time Password เชน telnet และอกอนหนงใชสาหรบบรการอนๆ เชน POP, IMAP

”À√—∫ºŸÈ„™È Linux-SIS 3.0 Linux-SIS เวอรชน 3.0 จะมการตดตงซอฟตแวร OPIE มาใหแลว โดยตว Source code

อยท /usr/local/src/opie-2.32 รายละเอยดการ Build จะอยในไฟล sissetup.txt หากทานตองการใชงาน One Time Password สามารถทาได โดย login เปน root และทาตามขนตอนดงน

#cd /usr/local/src/opie-2.32 #make install

Page 334: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 41 One Time Password (OPIE) 343

หลงจากนไดทาการ make install ไปแลว ระบบของทานจะสามารถใช One Time Password ไดสาหรบบรการ telnet และ su กอนจะใชงาน ทานจะตองตงคารหสเพอใชกบระบบ One Time Password โดยใชคาสง opiepasswd แลวใช One Time Password Calculator เชน Winkey สาหรบ Microsoft Windows (ถาทานใช Linux-SIS จะอยท /usr/local/share/winkey11.zip) ในการคานวณ One Time Password (ใชการ Copy/Paste ได) ตามตวอยางดงน

สาหรบผใชปกต (ทไมใช root) กตองตงคาเรมตนของระบบ One Time Password เชนกน โดยให login เปนผใชคนนน แลวเรยกใชคาสง opiepasswd หรอ root สามารถทาใหได โดยใช คาสง opiepasswd ตามดวยชอ login นนๆ

หลงจากททานตดตง OPIE เรยบรอยแลว การ telnet เขามายงเครองของเราจะตองใช One Time Password ทงหมด รวมถงการใชคาสง su ดวย หากตองการยกเลกการตดตง OPIE สามารถทาไดโดยใชคาสง make uninstall ท /usr/local/src/opie-2.32/

โปรดอานไฟล sissetup.txt ภายใต /usr/local/src/opie-2.32/ เพมเตม เพอทราบถงการ Build OPIE ททาไวสาหรบ Linux-SIS

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • RFC 1760 (One Time Password)

Page 335: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

344 สรางอนเทอรเนตเซรฟเวอรดวย Linux

∫∑§—¥¬ËÕ การทางานของ rsh, rlogin และ rcp อาจทาใหระบบไมมความปลอดภยเพยงพอ จงมการ

คดคน SSH (Secure Shell) ขนมา โดยจะมหนาทในการทางานคลายกบ rsh, rlogin และ rcp แต SSH จะมความปลอดภยมากกวาตรงทมการเขารหสทกครงทมการตดตอกนระหวางเครอง Server และ Client ดงนนถามใครมาดกเอาขอมลไประหวางทางกจะไดขอมลทถกเขารหสแลว ไมมประโยชน

Secure Shell จะใช Public Key Cryptography ในการทางาน ผสนใจในรายละเอยดควรศกษาทฤษฎในดานนดวย เพอทจะเขาใจมากขน

ในบทนจะกลาวถง วธการตดตง และใชงาน SSH Version 2 ซงนอกจากจะม ssh, scp แลว ยงม sftp ซงเปน Secure FTP Server ทาใหการถายโอนขอมลมความปลอดภยมากขน

«‘∏’°“√µ‘¥µ—Èß สามารถดาวนโหลดไดจาก http://www.ssh.fi/sshprotocols2/download.html จะไดไฟล

ssh-VERSION.tar.gz เวอรชนลาสดเปนเวอรชน 2 ตดตงโดยใชคาสงดงน

#gzip -cd ssh-VERSION.tar.gz | tar xvf - #./configure #make #make install

Page 336: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 42 Secure Shell (SSH) 345

ถาตองการทางานรวมกบ TCP Wrapper ใหตดตง TCP-Wrapper ใหเรยบรอย แลวใช Option –with-libwrap ขณะทรนโปรแกรม configure และระบทอยของไฟล libwrap.a ใหถกตองดงน

#./configure --with-libwrap=/usr/lib/libwrap.a

หลงจากตดตงแลวจะไดไฟลตางๆ อยในไดเรกทอร /usr/local/bin และไฟล sshd อยในไดเรกทอร /usr/local/sbin ซงสามารถด วธการใชโดยละเอยดไดโดยใชคาสง man แลวตามดวยชอไฟลเหลาน

ssh2 - Secure Shell client สาหรบ login เขาไปยงเครอง Server sshd2 - Secure Shell daemon เปน process daemon เพอรบการตดตอจาก client sftp2 - Secure FTP client สาหรบตดตอกบเครองทม sftp-server ทางานอย sftp-server2 - Secure FTP server เปรยบเหมอนกบ ftp daemon scp2 - Secure Copy client ใชในการ copy ไฟลขามเครอง ssh-keygen2 - สาหรบการสราง public/private keys

สวนไฟล Configuration จะอยทไดเรกทอร /etc/ssh2 มไฟล sshd2_config ไวควบคมการทางานของ Secure Shell Daemon (sshd) และ ssh2_config ควบคมการทางานของ Secure Shell Client (ssh)

«‘∏’°“√„™Èß“π การทางานของ SSH จะเปนการตดตอกนระหวางเครอง Server และ Client เครอง

Server ซงคอยรบการตดตอจะตองม Daemon ทชอวา sshd ทางานอย สวนเครองทเปน Client จะใชคาสง ssh, scp และ sftp เพอตดตอกบเครอง Server ขอมลทตดตอกนระหวางเครองทงสองจะถกเขารหสไวทงหมด

การเขารหสและถอดรหสจะใช public key เปนตวเขารหสขอมล และใช private key เปนตวถอดรหสขอมล public key จะเปน key ทสามารถใหผอนดได สวน private key เราจะเกบไวคนเดยว มขนตอนการใชงานดงน

Page 337: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

346 สรางอนเทอรเนตเซรฟเวอรดวย Linux

1. สรางค private/public keys บนเครอง Client โดยใชคาสง ssh-keygen

Client> /usr/local/bin/ssh-keygen Generating 1024-bit dsa key pair 2 Oo.oOo.oOOo. Key generated. 1024-bit dsa, created by abc@Client Wed Oct 28 16:29:46 1998 Passphrase : Again : Private key saved to /home/abc/.ssh2/id_dsa_1024_a Public key saved to /home/abc/.ssh2/id_dsa_1024_a.pub

ssh-keygen จะถามเพอใหใส passphrase ซงจะเปน Key ทใชเขารหส Private Key ของเรา (เพอปองกนไมใหใครมาเอา Private Key ของเราไปงายๆ) เมอคาสงนทางานเสรจจะไดไฟล 2 ไฟล คอ id_dsa_1024_a เปน private key ซงไมควรใหใครอานได และไฟล id_–dsa_1024_a.pub เปน public key สามารถใหคนอนอานไดและเปนไฟลทตองกอบปไปยง Server ทตองการจะตดตอ

2. สรางไฟล identification ในไดเรกทอร .ssh2 โดยชอไฟล id_dsa_1024_a คอชอของไฟล Private Key ซงอาจเปนชออะไรกได

Client>cd ~/.ssh2 Client>echo "IdKey id_dsa_1024_a" > identification

ในเครอง Client จะมไฟล id_dsa_1024_a, id_dsa_1024_a.pub และ identification

3. ทาตามขนตอนท 1 และ 2 บนเครอง Server

4. copy public key ของเครอง Client (id_dsa_1024_a.pub) ไปยงเครอง Server แลวเปลยนเปนชอ client.pub (ชอไฟลจะเปนชออะไรกได)

5. สรางไฟล authorization ในไดเรกทอร .ssh2 ของเครอง Server

Server>cd ~/.ssh2 Server>echo "Key client.pub" > authorization

Page 338: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 42 Secure Shell (SSH) 347

ถามเครอง Client หลายตวกสามารถอางองเพมเตมในไฟล authorization ได

6. การตดตงคาใหโปรแกรม sshd ทางานบนเครอง Server ใหใสในไฟล /etc/inetd.conf

ssh stream tcp nowait root /usr/local/sbin/sshd sshd -i #ในกรณทใชงานรวมกบ tcpwrapper ใหใสในไฟล /etc/inetd.conf ดงน ssh stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/sshd -i

7. การ login เขาสเครอง Server โดยใชคาสง ssh แลวจะตองใส passphrase ใหตรงกบตอนทสราง keys ในขอ 1

Client>ssh Server Passphrase for key "/usr1/home/abc/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa, created by abc@Client Wed Dec 2 11:48:33 1998":

°“√ทาสาเนา‰ø≈Ï√–À«Ë“߇§√◊ËÕß‚¥¬„™È§” —Ëß scp กอบปไฟลของเครอง Client ไปยง Server

Client>scp -p filename Server:.

กอบปไฟลของเครอง Server ไปยง Client

Client>scp -p Server:filename .

°“√„™Èß“π Secure FTP ใชคาสง sftp ในการตดตอกบเครอง Server ซงมการใชงานคลายกบ ftp แตมความ

ปลอดภยกวาตรงททกครงทมการตดตอระหวางกนจะมการเขารหสขอมลทกครง โดยในไฟล /etc /ssh2/sshd2_config จะตองเปดให sftp-server ทางานดงน

Page 339: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

348 สรางอนเทอรเนตเซรฟเวอรดวย Linux

subsystem-sftp sftp-server

ในสวนของ Client ทจะตดตอ ใหใชคาสง sftp แลวตองใส passphrase เปนรหสผาน

Client$ sftp Sever local path : /usr1/home/abc Passphrase for key "/usr1/home/abc/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa, created by abc@Client Wed Dec 2 11:48:33 1998": remote path : /data/home/abc sftp>

”À√—∫ºŸÈ„™È Linux-SIS 3.0 ระบบ Secure Shell จะถกตดตงไวแลว โดย Source จะอยท /usr/local/src ถาตองการใช

งาน ใหใชคาสง "make install" เพอตดตงโปรแกรม และตงคาใหโปรแกรมทางานได ตามวธการใชงานในบทน

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • Ssh (Secure Shell) FAQ - Frequently asked questions, http://www.uni-karlsruhe.

de/~ig25/ssh-faq/ssh-faq.html

• SSH Network Protocol Development, http://www.ssh.net/

• http://www.ssh.fi/sshprotocols2/index.html

Page 340: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

350 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ปจจบนระบบเครอขายอนเทอรเนตไดเขาไปมบทบาทมากขนกบชวตประจาวนของหลายๆ คน ดงจะเหนไดจากการทมบรการท อานวยความสะดวกเกดขนบนอนเทอรเนตมากมาย นอกจากนนบนระบบเครอขายอนเทอรเนตยงเปนแหลงความรและแหลงการศกษาทสาคญอกแหลงหนง ซงผทสนใจสามารถทจะเขาไปศกษาหาความรไดจากหลายๆ เวบไซต (อาจเรยกวา Web Site, Web Page หรอ Home Page) ทอยบนระบบเครอขายอนเทอรเนต ซงจากความสะดวกสบายและประโยชนอนมหาศาลทเราไดรบจากโฮมเพจตางๆ บนระบบเครอขายอนเทอรเนตนเอง ทาใหหลายๆ คนเกดคาถามขนมาวา โฮมเพจเหลานถกสรางขนมาไดอยางไร ซงเนอหาของบทนจะแนะนาถงสวนประกอบพนฐาน และขนตอนตางๆ ในการพฒนาโฮมเพจบนระบบเครอขายอนเทอรเนต

®– √È“ß‚Œ¡‡æ®®”‡ªÁπµÈÕß√ŸÈÕ–‰√∫È“ß? โฮมเพจแตละโฮมเพจทอยบนอนเทอรเนตนนจรงๆ แลวกคอ แฟมขอมลคอมพวเตอรทเรา

นาเขาไปไวในเครองคอมพวเตอรทใหบรการเปน WWW Server หรอเรยกสนๆ วา Web Server ซงแฟมขอมลทวานกเปนแฟมทบรรจขอมลตวอกษร (Text File) ทถกสรางจากโปรแกรมแกไขขอความ (เชน โปรแกรม Notepad บน Microsoft Windows) โดยตวอกษรทอยในแฟมขอมลนอาจจะเปนตวอกษรหรอขอความปกต หรออาจจะเปนตวอกษรรวมกบชดคาสงทโปรแกรมเวบ–เบราเซอร สามารถเขาใจและแปลความหมายของคาสงนนๆ ได ซงคาสงทวาน กจะชวยใหรปรางหนาตาของโฮมเพจมสสนมากขนกวาการใชไฟลขอความธรรมดา สวนรปแบบของคาสงกจะมลกษณะทแตกตางกนไปตามชนดของภาษาทใชในการเขยนโฮมเพจ โดยภาษาแรกทผพฒนาโฮมเพจควรจะรจกกคอภาษา HTML

Page 341: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 351

HTML §◊ÕÕ–‰√? HTML ยอมาจากคาวา Hypertext Markup Language ซงถกพฒนามาจากภาษา SGML

(Standard Generalized Markup Language) ทเปนภาษามาตรฐานทเปนแนวทางในพฒนาโฮมเพจในยคแรกๆ ทเรมมการคดคนการสรางโฮมเพจ และภาษา HTML เปนภาษาทอางองขอกาหนดตางๆ ของภาษา SGML และดวยภาษา HTML นเองจะทาใหเราสามารถพฒนาเอกสารบนระบบเครอขายอนเทอรเนต ซงจะไมขนกบชนดของเครองคอมพวเตอรทใช ซงบคคลแรกทคดคนภาษานคอนาย Tim Berners-Lee และในปจจบนนโปรแกรม Web Browser หลายๆ ชนดทมอยกสามารถเขาใจและแปลความหมายของภาษา HTML ได

°“√‡¢’¬π HTML µÈÕß¡’Õ–‰√∫È“ß? ในการพฒนาโฮมเพจดวยภาษา HTML นนเราจะตองมสงตางๆ ตอไปน

1. โปรแกรมแกไขขอความ (Text Editor) เชน โปรแกรม Emacs, PICO หรอ vi บนระบบปฏบตการ UNIX, โปรแกรม SimpleText บนระบบปฏบตการ Macintosh หรอโปรแกรม Notepad บนระบบปฏบตการ Windows

2. โปรแกรมเวบเบราเซอร เชน โปรแกรม Netscape Navigator หรอโปรแกรม Internet Explorer เพอใชในการตรวจสอบผลลพธของการเขยน HTML

Ë«πª√–°Õ∫æ◊Èπ∞“π¢Õß HTML ในแฟมขอมลทถกเขยนขนมาดวยภาษา HTML นนจะประกอบไปดวยขอความและคาสง

ของ HTML ทจะกาหนดรปรางหนาตาของเอกสาร ซงคาสง HTML ทกลาวมานเราเรยกวา แทก (Tag) โดยรปรางของแทกนจะประกอบไปดวย เครองหมายนอยกวา (<) ตามดวยชอแทก แลวตามดวยเครองหมายมากกวา (>) เชน <HTML>, <HEAD>, <BODY> ซงชอแทกนนอาจจะเปนตวเลกหรอตวใหญกได เชน <HTML> และ <html> เปนแทกเดยวกน นอกจากนนแทกในภาษา HTML ยงสามารถแบงออกไดเปนสองชนดคอ

1. แทกทประกอบดวยแทกเปดและแทกปด โดยแทกเปดจะเปนแทกธรรมดา แตแทกปดจะเปนแทกทมเครองหมาย slash (/) นาหนาชอแทกนน เชน <HTML> ... </HTML>

2. แทกทไมมแทกปด เชน แทก <br> ไมตองมแทก </br>

Page 342: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

352 สรางอนเทอรเนตเซรฟเวอรดวย Linux

√Ÿª·∫∫¢Õß°“√‡¢’¬π HTML ในการเขยน HTML นนเราจะตองจดวางรปแบบของแทกตางๆ ใหถกตองโดยแทกพนฐาน

ทตองมในการเขยน HTML ไดแก

• แทก <HTML> ... </HTML> เปนแทกทกาหนดถงจดเรมตนและจดสนสดของเอกสาร HTML

• แทก <HEAD> ... </HEAD> เปนแทกทกาหนดจดเรมตนและจดสนสดของสวนทกาหนดคาเรมตนของเอกสาร HTML เชน ชอของเอกสาร

• แทก <TITLE> ... </TITLE> เปนแทกทกาหนดชอของเอกสาร

• แทก <BODY> ... </BODY> เปนแทกทกาหนดจดเรมตนและจดสนสดของสวนแสดงขอมลของเอกสาร

ซงเราจะตองจดวางตาแหนงของแทกตางๆ ดงตอไปน

<HTML>

<HEAD>

<TITLE>Document's Title</TITLE>

</HEAD> <BODY>

Content

</BODY>

</HTML>

¢—ÈπµÕπ„π°“√‡¢’¬π HTML ·≈–°“√∑¥ Õ∫ 1. เปดโปรแกรม Text Editor

2. พมพคาสง HTML

3. บนทกขอมลโดยใหมนามสกลของแฟมขอมลเปน .html

Page 343: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 353

4. เปดโปรแกรมเวบเบราเซอร (Internet Explorer หรอ Netscape Navigator) แลวทาการเปดไฟลทบนทกไวจากขอ 3.

°“√°”Àπ¥™◊ËÕ¢Õ߇հ “√ ในการเขยน HTML นนเราควรจะกาหนดชอของเอกสารนนดวยเสมอ เพราะการกาหนด

ชอของเอกสารจะทาใหผเขาชมสามารถรถงหวเรองของเอกสารชดนนไดทนท ซงทาไดโดยการพมพชอของเอกสารทตองการไวระหวางแทก <TITLE> กบแทก </TITLE>

ตวอยาง

<HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD> <BODY> </BODY> </HTML>

เมอเราเปดไฟล HTML นดวยโปรแกรมเวบเบราเซอร จะเหนขอความวา My First Page ปรากฏทสวนของ Title Bar ของโปรแกรมเวบเบราเซอร

°“√„ Ë¢ÈÕ¡Ÿ≈„π‡Õ° “√ ขอมลทวานกคอขอความทเปนตวอกษร หรอรปภาพทเราตองการจะแสดงในโฮมเพจ ซง

การใสขอมลเขาไปในเอกสารนน ทาไดโดยการพมพขอมลทตองการไวระหวางแทก <BODY> กบแทก </BODY>

ตวอยาง

<HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD>

Page 344: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

354 สรางอนเทอรเนตเซรฟเวอรดวย Linux

<BODY> Welcome to my first home page. </BODY> </HTML>

เมอเราเปดไฟล HTML นดวยโปรแกรมเวบเบราเซอร จะเหนขอความวา My First Page ปรากฏทสวนของ Title Bar ของโปรแกรมเวบเบราเซอรและปรากฏขอความวา Welcome to my first home page. ทพนทแสดงขอมลของโปรแกรมเวบเบราเซอร

°“√°”Àπ¥ ’æ◊Èπ·≈– ’¢Õßµ—«Õ—°…√ จากตวอยางทผานมาจะเหนวาเราสามารถแสดงขอความในโฮมเพจได แตขอความนนจะ

เปนตวอกษรธรรมดาทมรปราง สตวอกษรและสพนตามทกาหนดไวในโปรแกรมเวบเบราเซอร ซงถาเราตองการกาหนดสของตวอกษรและสพนเรากสามารถทาได โดยการพมพขอความทกาหนดรายละเอยดเพมหรอทเราเรยกวาแอตทรบวตสาหรบแทก <BODY> โดยแอตทรบวตทเพมเขาไปนจะตองเขยนไวภายในแทกเปดของ <BODY> ซงแอตทรบวตทเกยวของกบการกาหนดสพนของเอกสาร และสของตวอกษรนนเราจะใชแอตทรบวตทชอวา bgcolor สาหรบการกาหนดสพนของเอกสาร และแอตทรบวต text สาหรบการกาหนดสของตวอกษรทงหมดในเอกสาร โดยเราตองพมพ bgcolor=ชอส หรอ text=ชอส ในแทก <BODY> ชอสนนอาจจะเปนชอสภาษาองกฤษทเวบเบราเซอรเขาใจ เชน red, green, blue, black หรออาจจะแทนชอสดวยตวเลขฐานสบหก เชน แทนทจะเขยน bgcolor=black อาจจะเขยนเปน bgcolor="#000000" ซงขอดของการกาหนดชอสเปนตวเลขกคอเราสามารถกาหนดสไดละเอยดกวาการใชชอของส แตจะตองไมลมวาในการใชตวเลขแทนชอสนน ตวเลขจะตองอยภายในเครองหมายคาพดและมเครองหมาย # นาหนา

ตวอยาง

<HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD> <BODY bgcolor=black text="#FFFFFF"> Welcome to my first home page.

Page 345: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 355

</BODY> </HTML>

เมอเราใชโปรแกรมเวบเบราเซอรเปดดไฟลนจะเหนวาโฮมเพจทเราสรางขนจะมพนสดา และตวอกษรสขาว

°“√„ Ë¢ÈÕ§«“¡∑’ˉ¡ËµÈÕß°“√„Àȇ«Á∫‡∫√“‡´Õ√Ï·ª≈§«“¡À¡“¬ ขอความทไมตองการใหเวบเบราเซอรแปลความหมาย หรอทเราเรยกกนวา Comment นน

กคอขอความทผเขยน เขยนขนเพอใชประกอบหรออธบายสงทเขยนขน โดยขอความทเปน comment นเปนขอความทผเขยนไมตองการใหโปรแกรมเวบเบราเซอรแสดงผลออกมาทหนาจอ ซงการกาหนด comment นนเราสามารถทาไดโดยการพมพขอความทเปน comment ไวระหวางแทก <!-- กบ -->

ตวอยาง

<HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD> <BODY bgcolor=black text="#FFFFFF"> <!--ทดสอบการใชงาน comment--> Welcome to my first home page. </BODY> </HTML>

เมอเราใชโปรแกรมเวบเบราเซอรเปดดไฟลน จะพบวาขอความทอยภายใน comment จะไมแสดงออกมาทหนาจอ

°“√¢÷Èπ∫√√∑—¥„À¡Ë·≈–°“√¢÷Èπ¬ËÕÀπÈ“„À¡Ë ในสวนของขอความทแสดงในโฮมเพจนนเราจะพบวาประโยค

Page 346: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

356 สรางอนเทอรเนตเซรฟเวอรดวย Linux

This is a first sentence. This is a second sentence. This is a third sentence.

และประโยค

This is a first sentence. This is a second sentence. This is a third sentence.

จะมการแสดงผลเหมอนกนคอแสดงเปนบรรทดเดยวตอกนไป ไมมการขนบรรทดใหมจนกวาจะเตมความกวางของหนาตางโปรแกรมเวบเบราเซอร ซงถาเราตองการใหมการขนบรรทดใหม เราสามารถทาไดโดยการใสแทก <br> ไวหนาประโยคทตองการใหขนบรรทดใหม หรอไวทายประโยคทอยกอนหนา

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

This is a first sentence.<br>

This is a second sentence.<br>

This is a third sentence.

</BODY>

</HTML>

แตถาตองการใหเปนการขนยอหนาใหมใหใสแทก <P>... </P> แทน

ตวอยาง

<HTML>

<HEAD> <TITLE>My First Page</TITLE>

</HEAD>

Page 347: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 357

<BODY bgcolor=black text="#FFFFFF"> This is a first sentence.

<P>This is a second sentence.</P>

<P>This is a third sentence.</P>

</BODY>

</HTML>

ปกตแลวการขนยอหนาใหมนนตวอกษรจะเรยงชดขอบซายของจอภาพ แตถาเราตองการใหขอความมาเรยงกนตรงกลางหรอชดขอบขวา เราสามารถทาไดโดยการเพมแอตทรบวต align=ชนดของการจดเรยงขอความ ไวในแทก <P> ซงชนดของการจดเรยงขอความนนมสามชนดคอ left, center และ right คอเรยงชดขอบซาย, กลางหนาจอ และขวาตามลาดบ

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<P align=left>This is a left sentence.</P> <P align=center>This is a center sentence.</P>

<P align=right>This is a right sentence.</P>

</BODY>

</HTML>

°“√ √ȓ߇ Èπ§—ËπÀπÈ“°√–¥“… ในการแบงสวนตางๆ ของขอความนนนอกจากจะใชการขนยอหนาใหมแลว เรายงสามารถ

ใชเสนคนหนาเปนตวแบงไดดวย ซงเสนคนหนาทวานเปนเสนพาดขวางเอกสาร ซงเราสามารถกาหนดเสนคนหนาไดโดยการใชแทก <hr>

ตวอยาง

Page 348: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

358 สรางอนเทอรเนตเซรฟเวอรดวย Linux

<HTML> <HEAD>

<TITLE>My First Page</TITLE>

</HEAD>

<BODY bgcolor=black text="#FFFFFF">

This is a first sentence. <hr>

This is a second sentence.

<hr>

This is a third sentence.

</BODY>

</HTML>

นอกจากนนเรายงสามารถกาหนดความหนาของเสนไดโดยการใชแอตทรบวต size=ตวเลขความหนา และกาหนดความกวางของเสนไดโดยใชแอตทรบวต width="ตวเลขความกวาง" โดยตวเลขความกวางนนเราสามารถกาหนดเปนตวเลขธรรมดา (มหนวยเปนพกเซล) หรอเปนเปอรเซนตของหนาจอกได

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

This is a first sentence. <hr size=2 width="700">

This is a second sentence.

<hr size=3 width="50%"> This is a third sentence.

</BODY>

</HTML>

เชนเดยวกนกบแทก <P> ทสามารถเปลยนแปลงการจดเรยงขอความโดยใชแอตทรบวต align=ชนดของการจดเรยง เราสามารถใชแอตทรบวต align เพอกาหนดรปแบบของการจดเรยงของเสนคนได

Page 349: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 359

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

This is a first sentence.

<hr size=2 width="700" align=left>

This is a second sentence.

<hr size=3 width="50%" align=center> This is a third sentence.

<hr size=3 width="700" align=right>

</BODY>

</HTML>

°“√°”Àπ¥µ—«Õ—°…√∑’ˇªÁπÀ—«‡√◊ËÕß ในการแสดงขอความนนบางครงเราอาจจะตองแบงออกเปนหวขอยอยๆ ซงตวอกษรทเปน

ชอของหวขอนนอาจจะมขนาดทแตกตางไปจากตวอกษรปกต เราสามารถกาหนดขนาดของตวอกษรทมขนาดแตกตางกนได 7 ขนาด โดยแตละขนาดแทนดวยตวเลข 1-7 และสามารถกาหนดตวอกษรทเปนหวเรองไดโดยการใชแทก <Hn>... </Hn> โดย n เปนตวเลขตงแต 1-7

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<H1>This is text size=1.</H1><br> <H2>This is text size=2.</H2><br>

<H3>This is text size=3.</H3><br>

<H4>This is text size=4.</H4><br>

<H5>This is text size=5.</H5><br>

Page 350: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

360 สรางอนเทอรเนตเซรฟเวอรดวย Linux

<H6>This is text size=6.</H6><br> <H7>This is text size=7.</H7>

</BODY>

</HTML>

แทก <Hn> กเปนอกแทกหนงทเราสามารถกาหนดรปแบบของการจดเรยงขอความทอยภายในแทกนได โดยการใชแอตทรบวต align="left, center, right" ประกอบกบแทกเปด Hn ได

<HTML>

<HEAD> <TITLE>My First Page</TITLE>

</HEAD>

<BODY bgcolor=black text="#FFFFFF"> <H3 align=left>This is text align=left.</H3><br>

<H3 align=center>This is text align=center.</H3><br>

<H3 align=right>This is text align=right.</H3> </BODY>

</HTML>

°“√°”Àπ¥™π‘¥¢ÕßøÕπµÏ ¢π“¥ ·≈– ’¢Õßµ—«Õ—°…√‡©æ“–∑’Ë จากตวอยางในตอนตน เราจะเหนวาเราสามารถกาหนดสพน และสของตวอกษรทงหมดใน

เอกสารได แตถาเราอยากจะกาหนดสเฉพาะบางทหรอเปลยนแปลงชนด และขนาดของตวอกษรในคาใดคาหนง หรอประโยคใดประโยคหนงเราสามารถทาไดโดยการใชแทก <font>... </font> โดย

• <font face="ชอฟอนต">...</font>เปนการกาหนดชนดของตวอกษรทจะแสดงผล

• <font size=ขนาดของตวอกษร>...</font> เปนการกาหนดขนาดของตวอกษรซงจะสามารถ กาหนดเปนตวเลขไดตงแต 1 ถง 7

หรออาจจะใชตวเลขทเปนการอางองจากขนาดของตวอกษรปจจบน เชน <font size=+1> คอการกาหนดขนาดของตวอกษรใหมขนาดใหญกวาขนาดปจจบนหนงระดบ แตไมเกน 7 หรอ

Page 351: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 361

<font size=-2> เปนการกาหนดขนาดของตวอกษรใหมขนาดเลกกวาขนาดปจจบน 2 ระดบแตไมตากวาขนาด 1

• <font color=ชอส>...</font>เปนการกาหนดสของตวอกษร โดยเราสามารถใชชอสทโปรแกรมเวบเบราเซอรรจก หรอใชเลขฐานสบหกกได

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<font face="AngsanaUPC">This is text font="AngsanaUPC" size=default color=white.</font><br>

<font face="AngsanaUPC" size=2>This is text font="AngsanaUPC" size=2

color=white.</font><br> <font face="AngsanaUPC" size=2 color=green>This is text font="AngsanaUPC"

size=2 color=green.</font><br>

</BODY>

</HTML>

°“√®—¥°÷Ëß°≈“ßÀπÈ“°√–¥“… โดยปกตแลวขอความทแสดงอยในเอกสาร HTML จะถกจดเรยงชดขอบดานซายของ

จอภาพ ซงถาเราตองการใหตวอกษรนนเรยงอยตรงกลางจอภาพ

เราสามารถทาไดโดยการใชแทก <center>...</center>

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE>

</HEAD>

Page 352: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

362 สรางอนเทอรเนตเซรฟเวอรดวย Linux

<BODY bgcolor=black text="#FFFFFF"> <center>This is a center text.</center>

</BODY>

</HTML>

°“√· ¥ßº≈·∫∫√“¬°“√ (Lists) ในการแสดงขอความนนบางครงเราอาจจะตองเจอขอความทมลกษณะเปนรายการ คอม

หวขอหลกแลวตามดวยหวขอยอยๆ ทเปนสวนประกอบของหวขอหลกนนๆ ซงชนดของขอมลประเภทรายการทเราสามารถใชภาษา HTML มาเขยนได มอยดวยกนสามชนดคอ

1. รายการทมลาดบ (Ordered Lists) คอรายการทรายการยอยมการเรยงตามลาดบของตวเลข หรอตวอกษรในภาษาองกฤษ ซงในแตละรายการยอยจะมลาดบของรายการอยหนารายการนนๆ ว ธการกาหนดรายการแบบมลาดบนทาไดโดยการใชแทก <OL>...</OL> สาหรบการกาหนดจดเรมตนและจดสนสดของรายการแบบมลาดบ และใชแทก <li> สาหรบการกาหนดรายการยอย

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<OL>

<li>Red

<li>Green

<li>Blue </OL>

</BODY>

</HTML>

Page 353: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 363

เมอใชโปรแกรมเวบเบราเซอรเปดไฟลนด จะเหนวาจะมลาดบของตวเลขอยหนารายการยอย Red, Green, Blue นอกจากนน เราสามารถเปลยนจากลาดบของตวเลขเปนลาดบของตวอกษรหรอเลขโรมนไดโดยการเพมแอตทรบวต type="ชนดของลาดบ" เขาไปในแทกเปด <OL> โดยชนดของลาดบนนอาจจะเปนตวเลข <OL type="1"> ตวอกษร <OL type="A"> หรอ <OL type="a"> หรอเปนเลขโรมน <OL type="I"> หรอ <OL type="i"> กได นอกจากนนเรายงสามารถกาหนดจดเรมตนของลาดบทเปนตวเลขได โดยการใชแอตทรบวต <start="จดเรมตน"> เชน <OL type="1" start="5"> เปนการกาหนดใหรายการเปนแบบเรยงลาดบตามตวเลข โดยเรมใชเลข 5 เปนรายการแรก

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<OL type="1" start="5">

<li>Red

<li>Green

<li>Blue </OL>

</BODY>

</HTML>

เมอใชโปรแกรมเวบเบราเซอรเปดดไฟลน จะเหนวารายการของสจะเรยงลาดบตามตวเลข โดยเรมจาก 5. เปนรายการแรก

2. รายการทไมมลาดบ (Unordered Lists) คอรายการทรายการยอยไมมการเรยงลาดบ โดยในแตละรายการยอยจะมสญลกษณพเศษ แสดงอยหนารายการนนๆ วธการกาหนดรายการแบบไมมลาดบนทาไดโดยการใชแทก <UL>...</UL> สาหรบการกาหนดจดเรมตนและจดสนสดของรายการแบบไมมลาดบ และใชแทก <li> สาหรบการกาหนดรายการยอย

Page 354: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

364 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<UL>

<li>Red

<li>Green

<li>Blue </UL>

</BODY>

</HTML>

เมอใชโปรแกรมเวบเบราเซอรเปดไฟลนด จะเหนวาจะมสญลกษณเปนวงกลมทบอยหนารายการยอย Red, Green, Blue และเชนเดยวกนในรายการแบบไมมดบนเราสามารถเปลยนสญลกษณทอยหนารายการยอยๆ ได โดยการเพมแอตทรบวต type="ชนดของสญลกษณ" เขาไปในแทกเปด <UL> โดยชนดของสญลกษณนนอาจจะเปนวงกลมทบ <UL type="disc"> วงกลมใส <UL type="circle"> หรอรปสเหลยม <UL type="square">

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<UL type="square"> <li>Red

<li>Green

<li>Blue </OL>

</BODY>

</HTML>

Page 355: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 365

เมอใชโปรแกรมเวบเบราเซอรเปดดไฟลน จะเหนวารายการของสจะมสญลกษณรปสเหลยมอยหนารายการ

3. รายการหลายระดบ (Definition Lists) คอรายการทมรายการยอยไดมากกวาหนงระดบ วธการกาหนดรายการแบบหลายระดบน ทาไดโดยการใชแทก <DL>...</DL> สาหรบการกาหนดจดเรมตนและจดสนสดของรายการแบบหลายระดบ และใชแทก <DT> สาหรบการกาหนดรายการยอย และใชแทก <DD> สาหรบรายการยอยของรายการยอยนนๆ

<HTML> <HEAD>

<TITLE>My First Page</TITLE>

</HEAD>

<BODY bgcolor=black text="#FFFFFF">

<DL> <DT>Hardware

<DD>Monitor

<DD>CPU box

<DD>Keyboard

<DT>Software <DD>Microsoft Windows

<DD>Netscape Navigator

<DD>Internet Explorer

<DT>People Ware

</DL> </BODY>

</HTML>

จากตวอยางจะเหนวามรายการยอยอยสามรายการคอ Hardware, Software และ Peopleware โดยรายการยอย Hardware และ Software จะประกอบดวยรายการยอยๆ ตอไปอก

Page 356: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

366 สรางอนเทอรเนตเซรฟเวอรดวย Linux

‰ø≈Ï√Ÿª¿“æ ในการสรางโฮมเพจนนสงทจะชวยดงดดผชม หรอสรางความประทบใจใหกบผชมกคอ

รปลกษณของโฮมเพจ จะเหนไดจากในหลายๆ โฮมเพจไดมการนาเอารปภาพเขามาประกอบกบเนอหา ทาใหโฮมเพจนนมสสน ดเดนและนาตดตามมากยงขน ซงทมาของรปภาพเหลานกอาจจะมาจากการ scan หรอการออกแบบดวยโปรแกรม graphic ตางๆ เชน Photoshop , CorelDraw หรอ Paint shop pro ซงรปภาพทเรานยมใชกนทวไปในการแสดงใน โฮมเพจ มอย 2 ชนดคอ

1. ไฟล GIF (Compuserve Graphic Interchange Format) มนามสกล .gif สามารถเกบความละเอยดไดไมเกน 8 bit มการบบยอขอมลมาก ทาใหไฟลมขนาดเลก สามารถแสดงสไดสงสด 256 ส สวนใหญเราจะใชกบภาพทไมตองการความละเอยดมาก มสนอยๆ เชน ภาพโลโก นอกจากนนไฟลภาพชนดนยงสามารถถกนามาใชทาเปนภาพเคลอนไหวทเรยกวา gif animation ได หรออาจจะนามาใชสาหรบภาพทเราตองการใหมแบกกราวดโปรงใส (Transparent Background)

2. ไฟล JPEG (Joint Photographic Experts Group) มนามสกลเปน .jpg เหมาะสาหรบใชงานสาหรบภาพทตองการความละเอยดสง สามารถเกบรายละเอยดไดถง 24 บต สามารถแสดงสไดเปนลานๆ ส ซงไฟลชนดนเราสามารถกาหนดระดบในการบบอดขอมลไดอกดวย

°“√· ¥ß√Ÿª¿“æ„π‚Œ¡‡æ® หลงจากทเราไดรปภาพทตองการมาแลว เราสามารถนารปภาพนนไปแสดงในโฮมเพจได

โดยการใชแทก <img> ซงแทกนมแอตทรบวตใหเราไดเลอกใชดงตอไปน

• src="แหลงทเกบไฟลและชอไฟล" ใชในการระบตาแหนงทอยของไฟลรปภาพทเราใชในการแสดงผล

• width="ความกวางของรป" ใชในการระบความกวางของรป โดยความกวางนนมหนวยเปนพกเซล

• height="ความสงของรป" ใชในการระบความสงของรป โดยความสงนนมหนวยเปนพกเซล

Page 357: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 367

• alt="ขอความอธบายรป" สาหรบโปรแกรมเวบเบราเซอรบางชนดทไมสามารถแสดงรปภาพได กจะแสดงขอความทระบไวในแอตทรบวตนแทน

• border="ตวเลขความกวางของกรอบ" เปนการกาหนดใหรปภาพมกรอบเกดขน

ตวอยาง

<HTML>

<HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<img src="pic.gif" width=500 height=300 alt="My Picture" border=0> </BODY>

</HTML>

จากตวอยางจะเปนการแสดงภาพจากไฟลชอ pic.gif ทมขนาดกวาง 500 พกเซล และสง 300 พกเซล โดยภาพทแสดงนจะไมมกรอบ (border=0) และสาหรบโปรแกรมเวบเบราเซอรทไมเหนรปจะเหนตวอกษรวา My Picture แทน ในกรณทเรากาหนดใหคาของกรอบเปน 0 จะพบวาขอความอนๆ ทอยรอบๆ ภาพจะมาอยชดกบภาพ ทาใหไมนาด ดงนนเราควรกาหนดระยะหางระหวางภาพกบขอความแวดลอมโดยอาจจะใชการกาหนดใหมกรอบเกดขน หรอไมกกาหนดระยะหางจากขอบซายและขวาโดยใชแอตทรบวต vspace="ระยะหางมหนวยเปนพกเซล" หรอระยะหางจากขอบบนและลางโดยใชแอตทรบวต hspace="ระยะหางมหนวยเปนพกเซล"

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE>

</HEAD> <BODY bgcolor=black text="#FFFFFF">

<img src="pic.gif" width=500 height=300 alt="My Picture" border=0

vspace=10 hspace=10> </BODY>

</HTML>

Page 358: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

368 สรางอนเทอรเนตเซรฟเวอรดวย Linux

จากภาพในตวอยางทผานมา เปนการกาหนดใหรปไมมกรอบ แตใหเกดระยะหางจากขอบทงสดานเปนระยะ 10 พกเซล โดยปกตแลวเมอเราใสภาพเขาไปในโฮมเพจ ภาพจะวางในตาแหนงชดขอบดานซายเสมอ แตถาเราตองการใหภาพเปลยนมาวางในตาแหนงชดขอบขวา เราสามารถทาไดโดยการใชแอตทรบวต align="right" เพมเขาไปในแทก <img>

°“√ √ȓ߉Œ‡ªÕ√Ï≈‘ß°Ï คณสมบตเดนอกประการหนงของเอกสาร HTML นอกจากการทสามารถแสดงผลไดไม

จากดชนดของคอมพวเตอรแลว กคอการทเราสามารถเชอมโยงจากเอกสาร HTML หนาหนงไปยงเอกสาร HTML อกหนาหนงหรอหลายๆ หนาได ซงคณสมบตนเราเรยกวา ไฮเปอรลงก เราสามารถสรางไฮเปอรลงกไดโดยใชแทก <A>...</A> ซงมแอตทรบวตทนาสนใจดงตอไปน

• href="ชอไฟลหรอ URL" เปนการกาหนดวาจะเชอมโยงไปทเอกสารชออะไร อยทไหน โดยอาจจะเปนการเชอมโยงไปทไฟลเอกสารทอยบนเครองใหบรการเดยวกน หรออยบนเครองใหบรการทอนกได เชน

<A href="test.html">Go to test</A> เปนการกาหนดใหขอความ Go to test เปนการเชอมโยงไปทไฟลชอ test.html ทอยในไดเรกทอรเดยวกน

<A href="http://www.school.net.th/">SchoolNet</A> เปนการกาหนดใหขอความ SchoolNet เปนการเชอมโยงไปทเครองทใหบรการ

WWW Server ทชอวา www.school.net.th

<A href="ftp://ftp.nectec.or.th/">FTP</A> เปนการกาหนดใหขอความ FTP เปนการเชอมโยงไปทเครองทใหบรการ FTP Server ทชอวา ftp.nectec.or.th

<A href="http://www.nectec.or.th/"><img src=logo.gif width=300 height=100 border=0></A> เปนการกาหนดใหรปภาพทชอ

logo.gif เปนการเชอมโยงไปทเครองทใหบรการ WWW Server ทชอวา www.nectec .or.th

Page 359: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 369

<A href="mailto:[email protected]">Mail to Webmaster</A> เปนการกาหนดใหขอความ Mail to Webmaster เปนการเชอมโยงเพอสงจดหมายอเลกทรอนกส (Electronics Mail) ไปท E-mail Address [email protected]

นอกจากการเชอมโยงไปยงเอกสารหนาอนๆ แลวเรายงสามารถสรางการเชอมโยงภายในเอกสารหนาเดยวกนได ในกรณทเอกสารหนานนๆ มปรมาณของขอความมาก ทาใหเกดความลาบากในการหาตาแหนงในเอกสารทตองการอาน ซงในการเชอมโยงภายในเอกสารเดยวกนนน เราจะตองเรมจากการสรางสวนทเรยกวา Bookmark หรอสวนทเปนเปาหมายของการเชอมโยงในเอกสารหนาเดยวกนโดยใชคาสง

<A name="ชอเปาหมาย">ขอความทตองการใหเปน Bookmark</A>

และสวนทเปนตวเชอมโยงสามารถกาหนดไดโดยการใชคาสง

<A href="#ชอเปาหมาย">ขอความทตองการใหเปนตวเชอมโยง</A>

ตวอยาง

<HTML> <HEAD>

<TITLE>My First Page</TITLE> </HEAD>

<BODY bgcolor=black text="#FFFFFF">

<A name="top">The top of this page</A> <P><A href="test.html">Go to test</A></P>

<P><A href="http://www.school.net.th/">SchoolNet</A></P>

<P><A href="ftp://ftp.nectec.or.th/">FTP</A></P> <P><A href="http://www.nectec.or.th/"><img src=logo.gif width=300

height=100 border=0></A></P>

<P><A href="mailto:[email protected]">Mail to Webmaster</A></P> <P><A href="#top">Go to top</A></P>

</BODY>

</HTML>

จากตวอยางจะเปนการเชอมโยงแบบตางๆ ทงการเชอมโยงภายในเอกสารหนาเดยวกน และเอกสารหนาอนๆ ทอยทงบนเครองใหบรการเดยวกน และทอยบนเครองใหบรการตางทกน หรอเปนการเชอมโยงเพอสงจดหมายอเลกทรอนกสกสามารถทาได

Page 360: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

370 สรางอนเทอรเนตเซรฟเวอรดวย Linux

°“√ √È“ßµ“√“ß„π‚Œ¡‡æ® ในบางครงการสรางตารางนนจะชวยใหการนาเสนอขอมลในโฮมเพจนนงายตอการดมาก

ยงขน โดยเฉพาะกบขอมลทมการนาเสนอในเชงเปรยบเทยบทาใหผเขาชมสามารถเปรยบเทยบขอมลไดสะดวก หรอสามารถหาความสมพนธของขอมลเพอการตดสนใจไดงายขน ซงปจจบนจะเหนไดวา การนาเสนอขอมลในรปของตารางมบทบาทสาคญในหลายๆ โฮมเพจทมชอเสยง ซงการสรางตารางในโฮมเพจนนมแทกทเกยวของดงน

• แทก <table>...</table> ใชในการกาหนดจดเรมตนและจดสนสดของการสรางตาราง

• แทก <th>...</th> ใชในการกาหนดการสรางชองของทเปนหวขอ ซงตวอกษรทอยในชองนจะเปนตวหนาและอยกงกลางของชอง

• แทก <tr> ... </tr> ใชในการกาหนดการสรางแถวใหม

• แทก <td>... </td> ใชในการกาหนดการสรางชองในแถว

ตวอยาง

<table> <tr><th> หวขอท 1</th><th> หวขอท 2</th><th> หวขอท 3</th></tr> <tr><td> ขอมลท 1 แถว 1</td><td> ขอมลท 2 แถว 1</td><td> ขอมลท 3 แถว 1</td></tr> <tr><td> ขอมลท 1 แถว 2</td><td> ขอมลท 2 แถว 2</td><td> ขอมลท 3 แถว 2</td></tr> <tr><td> ขอมลท 1 แถว 3</td><td> ขอมลท 2 แถว 3</td><td> ขอมลท 3 แถว 3</td></tr> </table>

จากตวอยางจะพบวาเกดการสรางตารางขนาด 4 แถว 3 คอลมนขนมา โดยแถวแรกสดจะเปนหวขอของตาราง สวนแถวอนๆ จะเปนขอมลปกตแตจะไมมเสนกรอบของตาราง ถาเราตองการใหปรากฏเสนกรอบจะตองกาหนดแอตทรบวต border="ขนาดของกรอบ"

ตวอยาง

<table border=1>

<tr><th> หวขอท 1</th><th> หวขอท 2</th><th> หวขอท 3</th></tr> <tr><td> ขอมลท 1 แถว 1</td><td> ขอมลท 2 แถว 1</td><td> ขอมลท 3 แถว 1</td></tr> <tr><td> ขอมลท 1 แถว 2</td><td> ขอมลท 2 แถว 2</td><td> ขอมลท 3 แถว 2</td></tr> <tr><td> ขอมลท 1 แถว 3</td><td> ขอมลท 2 แถว 3</td><td> ขอมลท 3 แถว 3</td></tr> </table>

Page 361: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 43 การสราง Web Page อยางงาย 371

จากตวอยางจะพบวาเกดการสรางตารางขนาด 4 แถว 3 คอลมนขนมา โดยแถวแรกสดจะเปนหวขอของตาราง สวนแถวอนๆ จะเปนขอมลปกตและมเสนกรอบของตารางขนาดกวาง 1 พกเซลเกดขน ซงจะพบวาขอมลปกตเหลานจะมการเรยงชดขอบซายของตาราง ซงถาเราตองการใหขอมลในชองของตารางมการจดการเรยงตวใหม เราสามารถใสแอตทรบวต align="left หรอ center หรอ right" เขาไปในแทกเปดของ <tr> เพอกาหนดการเรยงตวของทงแถว หรอใสเขาไปในแทกเปดของ <td> เพอกาหนดการเรยงตวของเฉพาะชองใดชองหนงของตาราง

ตวอยาง

<table border=1> <tr><th> หวขอท 1</th><th> หวขอท 2</th><th> หวขอท 3</th></tr> <tr align=left><td> ขอมลท 1 แถว 1</td><td> ขอมลท 2 แถว 1</td><td> ขอมลท 3 แถว 1</td></tr> <tr align=center><td> ขอมลท 1 แถว 2</td><td> ขอมลท 2 แถว 2</td><td> ขอมลท 3 แถว 2</td></tr> <tr align=right><td> ขอมลท 1 แถว 3</td><td> ขอมลท 2 แถว 3</td><td> ขอมลท 3 แถว 3</td></tr> </table>

จากตวอยางจะพบวาเกดการสรางตารางขนาด 4 แถว 3 คอลมนขนมา โดยแถวแรกสดจะเปนหวขอของตาราง แถวทสอง สามและส จะเปนแถวของขอมลปกต โดยแถวทสองมการเรยงตวอกษรของทงแถวชดขอบซายของกรอบตาราง แถวทสามมการเรยงตวอกษรของทงแถวตรงกงกลางของชอง และแถวทสามมการเรยงตวอกษรของทงแถวชดขอบขวาของกรอบตาราง นอกจากนนถาเราตองการกาหนดความกวางของทงตารางเราสามารถกาหนดไดโดยการเพมแอตทรบวต width="ความกวางเปนพกเซลหรอเปอรเซนต" เขาไปในแทกเปด <table>

ตวอยาง

<table border=1 width=80%> <tr><th> หวขอท 1</th><th> หวขอท 2</th><th> หวขอท 3</th></tr> <tr align=left><td> ขอมลท 1 แถว 1</td><td> ขอมลท 2 แถว 1</td><td> ขอมลท 3 แถว 1</td></tr> <tr align=center><td> ขอมลท 1 แถว 2</td><td> ขอมลท 2 แถว 2</td><td> ขอมลท 3 แถว 2</td></tr>

Page 362: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

372 สรางอนเทอรเนตเซรฟเวอรดวย Linux

<tr align=right><td> ขอมลท 1 แถว 3</td><td> ขอมลท 2 แถว 3</td><td> ขอมลท 3 แถว 3</td></tr> </table>

จากตวอยางจะเกดการสรางตารางทมความกวาง 80 เปอรเซนตของหนาจอ

·π«‚πÈ¡„π°“√æ—≤π“‚Œ¡‡æ®„πª—®®ÿ∫—π จากบทเรยนทผานมาจะพบวาเราสามารถทาการพฒนาโฮมเพจไดโดยการใชโปรแกรม

Text Editor ทมอยในเครองคอมพวเตอร โดยการเขยนภาษา HTML ดวยตวเอง ซงผพฒนาโฮมเพจหลายๆ ทานอาจจะไมสะดวกทจะตองจดจาคาสงในภาษา HTML ดงนนในปจจบนจงไดมการพฒนาเครองมอทชวยใหการพฒนาโฮมเพจงายและสะดวกขน เหมอนกบการใชงานโปรแกรมเวรดโปรเซสซง คอผพฒนาเพยงแตกาหนดวาจะใหหนาตาของโฮมเพจออกมาอยางไร ซอฟตแวรทวานจะทาการเขยนโคด HTML ใหเราโดยอตโนมต ซอฟตแวรทกลาวมานมหลายชนด เชน Microsoft Frontpage, Microsoft Office97, Adobe PageMill, Macromedia Dreamweaver และอกมากมาย

Page 363: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 44 ขอแนะนาในการเขยนภาษา HTML 373

โดยสวนใหญแลวเปาหมายของการพฒนาโฮมเพจกเพอทจะใหมผสนใจเขาชมโฮมเพจทเราสรางขนเยอะๆ และอยกบโฮมเพจของเราเปนเวลานานๆ ปจจยสาคญของการพฒนาโฮมเพจ กคอ เนอหาทนาเสนอ ความสวยงามและความเรวในการแสดงผลหรอเขาถงสวนตางๆ ของขอมล ในสวนของเนอหานนผพฒนาควรจะเลอกเนอหาทมประโยชนและคดวาเปนทสนใจของผเขาชมในขณะนน ยงถาสามารถหาสงทคดวา มผตดตามไดทกวนยงเปนการด สวนความสวยงามและความเรวนนดจะเปนเรองทขดแยงกนอยพอสมควร เนองจากหลายๆ ทานคดวา โฮมเพจทสวยงามคอโฮมเพจทมภาพอยเยอะๆ หรอมอยนอย แตขนาดของแตละภาพใหญมหาศาล นนเปนผลใหเกดความชาในการเขาสโฮมเพจขนมาทนท ในเวลาตอมาเรากจะพบวาโฮมเพจทมกราฟกเลศหรอาจจะถกทอดทง เนองจากใชเวลาในการเขาไปดนานมากซงจรงๆ แลวโฮมเพจทมเสนหกคอโฮมเพจทมความถกตองในการแสดงผล มกราฟกพอสมควร มระบบการเชอมโยงไปยงเอกสารทตองการอยางรวดเรว สามารถหาขอมลทตองการไดในระยะเวลาอนสน และทสาคญโฮมเพจนนจะตองสามารถถกตรวจพบไดโดยโปรแกรมคนหาขอมล (Search Engine) ซงจะเปนการโปรโมทโฮมเพจของเราไปโดยปรยาย สาหรบเนอหาในสวนนจะแนะนาถงขอควรปฏบตในการพฒนาโฮมเพจทจะทาใหโฮมเพจของเรามคณสมบตดงทกลาวมาน

1. ในการสรางโฮมเพจทกครงควรจะตองมการกาหนดชอของเอกสารในสวนของ <TITLE>...</TITLE> เพราะชอของเอกสารนนจะทาใหเวบไซตทเปนเวบไซตสาหรบการคนหาขอมล (Search Engine) สามารถตรวจพบและเกบสวนของชอเอกสารนเปนคยเวรดสาหรบการคนหาดงนนการตงชอของเอกสารควรจะใชคาทกระชบและบงบอกถงลกษณะของโฮมเพจเราใหไดมากทสด

2. การกาหนดคยเวรดโดยการใชแทก <META name="keywords" content="คยเวรดสาหรบโฮมเพจ"> จะเปนอกสวนหนงทสาคญททาใหโปรแกรมคนหาขอมลในระบบเครอขาย

Page 364: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

374 สรางอนเทอรเนตเซรฟเวอรดวย Linux

อนเทอรเนตสามารถตรวจพบไดงาย เพราะบางเวบไซตทเปน Search Engine ไมไดหาคยเวรดโดยการใชชอของเอกสาร แตจะมการตรวจสอบคยเวรดจากแทก <META name="keywords"> ดวย ดงนนถาเราตองการใหโฮมเพจของเราถกตรวจพบโดย Search Engine หลายๆ ชนดควรจะใสทงชอของเอกสาร และแทก <META>

3. ในการสรางโฮมเพจทมเนอหาเปนภาษาไทย Browser ททางานบนบางระบบปฏบตการไมสามารถตดคาไทยไดถกตอง เวลาขนบรรทดใหม มนอาจตดตรงระหวางคา ไมถกตองตามหลกภาษาไทย เชน คาวา ไทย เปนคาเดยวกน ไมควรแยกเปน ไ และ ทย หรอ ไท และ ย เปนตน เราจงควรใชแทก <WBR> คนระหวางคา เพอชวยในการตดคา เชน ผม<WBR>เปน<WBR>คน<WBR>ไทย วธการคอ ทานสรางโฮมเพจ ดวยวธธรรมดากอน เสรจแลวจงนา ไปผ านโปรแกรมอตโนม ตท ช วยในการสร างแทก <WBR> ซ งมอ ย ท http://ntl.nectec.or.th/services /wordbreak และ http://www.links.nectec.or.th/Wsegol/

4. นอกจากการกาหนดชดของตวอกษรทใชแลว เราจะตองกาหนดชนดของฟอนตทใชโดยการใชแทก <font face="ชอของฟอนต"> โดยชอของฟอนตทระบนนจะตองครอบคลมทงบนแมคอนทอช และพซ พรอมทงระบขนาดทเหมาะสมดวย เชน <font face="MS Sans Serif, Thonburi" size=3> ซงในการใชแทก <font face="..."> นนใหเราระบไวทตอนตนของเอกสารครงเดยว ไมตองเขยนหลายรอบเพราะจะเปนการเพมขนาดของไฟลเอกสาร HTML โดยไมรตว ยกเวนเมอมการใชแทก <TABLE> จะตองมการระบ <font face="..."> ไวในทกๆ หลงแทก <TD> และในกรณทมการเปลยนขนาดของฟอนตไมตองกาหนด <font face="..."> ใหใชแทก <font size="..."> ไดเลย

5. การใชงานขอมลประเภทรายการ (<OL>, <UL>, <DL>)และ <TABLE> ไมควรจะสรางใหมการซอนกนหลายชนเกนไป เพราะอาจจะเปนผลทาใหโฮมเพจนนกวางเกนหนาจอ ทาใหเกดสกรอลลบารทางดานลางของโปรแกรมเวบเบราเซอร อกทงทาใหการพมพขอมลออกมาทางเครองพมพมบางสวนขาดหายไป (สวนทเกนหนาจอ)

6. ในการเขยน HTML นนควรจะเขยนโคดใหเปนระเบยบ และมคอมเมนตอธบายไวเปนระยะ โดยความยาวของ HTML ในแตละบรรทดไมควรเกน 80-90 ตวอกษร เพอใหสามารถอานขอมลไดงาย และการตดคาภาษาไทยสามารถทาไดถกตอง

Page 365: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 44 ขอแนะนาในการเขยนภาษา HTML 375

7. ในแตละเอกสารควรจะมขนาดทเหมาะสม โดยควรจะควบคมใหมขนาดไมเกน 150 กโลไบต (จะใชเวลาประมาณ 60 วนาท) เพราะหากเอกสารหนาใดมขนาดขอมลรวมทมากกวา 150 กโลไบต จะเสยเวลาในการเคลอนยายขอมลมาก อาจทาใหผเขาชมเกดความเบอได กรณทเปนเอกสารหรอบทความทยาวและมภาพประกอบ ควรใชภาพประกอบขนาดเลก (thumbnail) และสามารถคลกทภาพเลก เพอแสดงภาพทใหญขนได หากเอกสารหนาใดทจาเปนตองมขนาดรวมทกไฟลเกน 150 กโลไบต ตองแนใจวาเอกสารทสรางขนนน จะสามารถดงความสนใจของผเขาชมได ในระหวางทมการเคลอนยายขอมลและขอมลยงปรากฏบนหนาจอไมครบถวน

8. ในการนาภาพเขาไปไวในโฮมเพจโดยการใชแทก <img ...> นนจะตองกาหนดความกวางและความสงทถกตองของภาพนนไวดวยเสมอ เพราะจะทาใหการจดเลยเอาตของโฮมเพจทาไดอยางรวดเรว และทสาคญควรจะกาหนดแอตทรบวต ALT ไวสาหรบเวบเบราเซอรบางชนดทไมสามารถแสดงขอมลทเปนรปภาพได ถารอบๆ ตาแหนงทวางรปภาพมตวอกษรเราควรจะกาหนดระยะหางจากขอบของรปทกดาน โดยการใชแอตทรบวต VSPACE="ระยะหางเปนพกเซล" HSPACE="ระยะหางเปนพกเซล" และถารปนนเปนตวเชอมโยงไปยงเอกสารอน เราควรกาหนดความกวางของกรอบโดยใช แอตทรบวต border="ความกวางเปนพกเซล" เชน

<img alt="VIDEO" src="http://www.nectec.or.th/graphics/video-56.gif" width=56 height=20 border=0 hspace=3 vspace=3>

9. การใชเครองหมายนขลขตหรอวงเลบ (), อญประกาศ (""), ไมยมก (ๆ), ไปยาลนอย (ฯ), จลภาคหรอจดลกนา (,), จดค (:), อฒภาคหรอจดครง (;), และมหพภาคหรอจด (.)

• นขลขตหรอวงเลบ (เครองหมาย ())

ควรเวนวรรค 1 ครงกอนเปดวงเลบ และเวนวรรค 1 ครงหลงปดวงเลบ ขอความภายในวงเลบควรตดกบเครองหมายวงเลบเปดและเครองหมายวงเลบปด ตวอยางเชน xxx (yyy) xxx

• อญประกาศหรอเครองหมายคาพด (เครองหมาย " ")

ควรเวนวรรค 1 ครงกอนเปดเครองหมายคาพด และเวนวรรค 1 ครงหลงปดเครองหมายคาพด ขอความภายในเครองหมายคาพดควรตดกบเครองหมายคาพดเปดและเครองหมายคาพดปด ตวอยางเชน xxx "yyy" xxx

Page 366: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

376 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ไมยมก (เครองหมาย ๆ) ควรอยตดกบขอความ หลงเครองหมายไมยมก อาจเวนวรรค 1 ครง หรอไมเวนวรรคเลยแลวแตกรณ ตวอยางเชน xxxๆ yyy หรอ xxxๆyyy

• ไปยาลนอย (เครองหมาย ฯ), จดลกนา (เครองหมาย ,) จดค (เครองหมาย :) และจดครง (เครองหมาย ;) ควรอยตดกบขอความ หลงเครองหมายควรเวนวรรค 1 ครง

ตวอยางเชน

xxxฯ yyy xx, yyy xxx: yyy xxx; yyy

• มหพภาคหรอจด (เครองหมาย .) ควรอยตดกบขอความ หลงเครองหมายจดควรเวนวรรค 1 ครง ตวอยางเชน xxx. Yyy

• ทททหมายเหต xxx และ yyy แทนขอความใดๆ ททท

10. ในการตงชอไฟลและชอไดเรกทอรทใชในการเกบขอมล จะตองใชชอภาษาองกฤษทไมยาวเกนไป และสอความหมาย โดยนามสกลของไฟลเอกสาร HTML ควรจะเปน .html และไฟลแรกทตองการใหผเขาชมเหนควรจะตงชอเปน index.html และทกๆ ไดเรก–ทอรจะตองมไฟลชอนอยดวย เพอไมใหผใชเหนแฟมขอมลทงหมดทอยในไดเรกทอรนน เชน ในไดเรกทอรทเกบภาพ ควรจะสรางไฟลเปลาๆ แลวบนทกไวในชอ index.html เพอไมใหผเขาชมมองเหนรายชอของไฟลทงหมดทอยในไดเรกทอรน

11. ในระหวางการพฒนาโฮมเพจควรจะมการทดสอบการแสดงผลโดยการใชโปรแกรมเวบเบราเซอรหลายๆ ชนด เชน

• โปรแกรม Netscape Navigator เวอรชน 3.x และ 4.x บน PC

• โปรแกรม Internet Explorer เวอรชน 3.x และ 4.x บน PC

• โปรแกรม Netscape Navigator เวอรชน 3.x และ 4.x บน Macintosh

• โปรแกรม Internet Explorer เวอรชน 3.x และ 4.x บน Macintosh

และทกๆ browser ใหมๆ ทสามารถทดสอบได

Page 367: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 44 ขอแนะนาในการเขยนภาษา HTML 377

12. ควรทดสอบการเขาสโฮมเพจจากทางไกล โดยใชโมเดมความเรว 14.4 kbps เนองจากผเขาชมโฮมเพจจากตางสถานทกน อาจใชโมเดมความเรวตางกน ผพฒนาโฮมเพจจงควรทดสอบการเขาชมโฮมเพจจากโมเดมทมความเรวทครอบคลมถงผใชสวนใหญ

13. ในการทดสอบการแสดงผลควรทดสอบทความละเอยดของหนาจออยางตา 640 × 480 จด

Page 368: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

380 สรางอนเทอรเนตเซรฟเวอรดวย Linux

X Window System Concepts X Window ถกพฒนาขนท Massachusetts Institute of Technology (MIT) และออกเปน

X version 11 หรอทเรยกกนสนๆ วา X11 ในป 1987 ซงเปน version ของ X ทใชกนจนถงปจจบน โดยในปจจบนเปน X11 release 6

ระบบ X Window นนหลายทานอาจจะคดวาเปนระบบทซบซอนและเขาใจยาก แตทจรงแลวระบบ X Window นนเปนระบบทสามารถทจะทาความเขาใจไดงายถาเราเขาใจสงตางๆ ตอไปน

อนดบแรกกคอ X Window เปนระบบททาหนาทในการแสดงผล (displays) แบบกราฟก ซงการแสดงผลนนจะสามารถแสดงไดทงแบบส, สเดยว (monochrome) หรอเปนแบบ gray-scale คาวา display ในระบบ X Window นนไมไดหมายถงเฉพาะจอภาพ (monitor) เพยงอยางเดยวเทานน แตหมายความถงเครอง workstation ทประกอบไปดวยคยบอรด (keyboard), เมาส(mouse) และจอภาพ โดยทจอภาพนนอาจมมากกวาหนงจอภาพกได จอภาพหลายๆ จอภาพนนสามารถทจะทางานรวมกนไดโดยการควบคมจากคยบอรด (keyboard) และเมาสเพยงชดเดยว เราสามารถเลอนเมาสพอยนเตอรไปมาระหวางจอภาพได

สงทสองทเราตองเขาใจกคอ X Window เปนระบบทมพนฐานอยบนระบบเครอขาย (network-oriented) และทางานในลกษณะของ client-server ซงหมายความวา แอปพลเคชน (application) หรอโปรแกรม ไมจาเปนตองทางาน (run) อยบนเครองเดยวกบเครองททาหนาทในการแสดงผล ดงนนเราจงสามารถทางานโปรแกรมบนเครองอน แลวสงการแสดงผล รวมถงการรบ keyboard และ mouse input ไปยงเครองททาหนาทในการแสดงผลผานทางเครอขายคอมพวเตอรได

Page 369: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 45 ระบบ X Window 381

เครองททาหนาทในการแสดงผลในระบบ X Window จะเปนเครองททาหนาทเปน server โดยปกตเราจะเรยกวา X server (ซงในสวนของ server นอาจจะฟงดขดๆ กบทบางทานไดรจกระบบ client-server มา โดยปกตของระบบ client-server นน เครองทเราใชงานจะถกมองวาเปน client และเครองทเปน server จะเปนเครองอนในเครอขายทเครองเราไปขอใชบรการ เชน file server หรอ print server) สวนโปรแกรมททางานอยบนเครองอนทสงการแสดงผลไปยง (หรอรบ input จากเครอง) X Server นนจะเรยกวา X client

เนองจากระบบ X Window ออกแบบมาให client ตดตอกบ server ผานทางเครอขายคอมพวเตอรไดโดยท client ไมตองรหรอจดการอะไรเกยวกบเครอขายเลย ทาให client สามารถสงการแสดงผลหรอรบ input จากเครองใดๆ กไดในเครอขายทไดรบอนญาตจาก X server

สวนทสามทควรจะเขาใจกคอ การจดการกบ window (window management) หลกการของการเขยนโปรแกรมของ X Window กคอ โปรแกรม (applications) ไมตองทาการควบคมตาแหนงของ window ในจอภาพ หรอการกาหนดขนาดของ window เอง หนาทในการจดการเกยวกบ window เหลานจะเปนหนาทของโปรแกรมพเศษทเรยกวา Window Manager ในปจจบนม Window Manager มากมายใหเลอกใชตามความชอบ ยกตวอยางเชน motif Window Manager (mwm), KDE, FVWM, WindowMaker, Enlightenment และอนๆ อกมาก

สวนสดทายทตองรจกคอ Events เพราะในการรบ input จากเมาสหรอคยบอรดนน สวน X server จะรบจากผใชโดยตรงและจะสรางเปน event ขนเพอสงตอใหกบโปรแกรมทเปน X client เชน เมอมการกดปมซาย-ขวาของเมาส การเลอนเมาสพอยนเตอรไปมา หรอการกดคยบอรด รวมไปถงการทางานรวมกบโปรแกรมอนดวย เชน การเลอนหรอยายท window ททบกนอย หรอการเปลยนขนาดของ window เปนตน โดยโปรแกรมทเปน X client นนตองเตรยมพรอมในการรบ events เหลานและทางานตามทกาหนดไว

X Window System Software Architecture สวนประกอบตางๆ ในระบบ X Window สามารถแสดงไดดงรปท 45.1

Page 370: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

382 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ClientApplication

Xlib

Client(Window Manager)

Xlib

ClientApplication

Xlib

Toolkit

Network

X Server

Xlib

รปท 45.1 X Windows System Software Architecture

โปรแกรม หรอแอปพลเคชนทจะสามารถตดตอสอสารกบ X server ไดนนจะตองเรยกใช library ของ X ซงรจกกนในชอ Xlib โดยท Xlib จะมฟงกชนสาหรบตดตอกบ X server, สราง window, วาดภาพกราฟก, การจดการกบ events และอนๆ โปรแกรมพเศษอยาง Window Manager กเปนโปรแกรมทเขยนโดยใช Xlib แตไดรบสทธพเศษสาหรบการจดการกบ window บนจอภาพ

เราสามารถเขยนโปรแกรม หรอ Window Managerโดยใช Xlib เพยงอยางเดยว หรออาจจะใช toolkits รวมดวย โดย toolkits จะมฟงกชนททาใหการสรางโปรแกรมสวน user interface นนงายขน ยกตวอยางเชน เมน (menus) หรอปมคาสง (command buttons) ตางๆ toolkits ทเปนทรจกไดแก Xt (ซงไดรวมเขาไปเปน standard ของ X แลว), OPEN LOOK ของ Sun หรอ Motif ของ OSF

°“√„™Èß“π X Window ∫π Linux ถาทานตดตง Linux สาเรจ ไมวายหอใดๆ สวนมากกจะม XFree86 ซงเปน X Server และ

Window Manager บางตว เชน FVWM มาใหอยแลว ถาตองการลองใช X Window กสามารถทาไดโดยจะตองทาการสราง Configuration File กอนดวยโปรแกรม เชน xf86config สามารถอานขนตอนไดจาก ftp://ftp.nectec.or.th/pub/thailinux/docs/howto/html/xf86config.html หลงจากนนกสามารถลองเรยกใชงาน X Window ดวยคาสง ”startx” สาหรบผใช Linux-SIS เวอรชน 3.0

Page 371: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 45 ระบบ X Window 383

หากตองการใชงาน X Window จะตองตดตงสวน Desktop และอาน README สาหรบวธการใชงาน

·À≈ËߢÈÕ¡Ÿ≈‡æ‘Ë¡‡µ‘¡ • http://www.x.org

• http://www.xfree86.org

• http://www.x11.org

• http://www.windowmaker.org

• http://www.enlightenment.org

• http://www.kde.org

Page 372: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

386 สรางอนเทอรเนตเซรฟเวอรดวย Linux

เทคโนโลยดานเครอขายคอมพวเตอร ยงอยในชวงทมการพฒนาคอนขางเรว อปกรณตางๆ มการปรบเปลยนรนคอนขางบอย และมใหเลอกในทองตลาดจานวนมาก จงจาเปนทผใชจะตองตดตามเทคโนโลย และเขยนขอกาหนดในการเลอกขออยางรดกม เพอใหไดสงทคมคาทสด ผเขยนจงขอนาเสนอตวอยางรางของขอกาหนดงานจดซออปกรณทางดานเครอขาย คอ ระบบเคเบล อปกรณกระจายสญญาณ และอปกรณ Internet Server เพอเปนตวอยาง ในการเขยนขอกาหนดสาหรบหนวยงานของทาน โดยในบทนจะกลาวถงระบบเคเบล และอปกรณกระจายสญญาณ สาหรบโรงเรยนขนาดใหญ เครอขายกระจายทว 10 อาคาร ใชสอเปนเสนใยแกวนาแสง /UTP และใชเทคโนโลย Fast Eternet และ Ethernet

ß“π®—¥®È“ß/´◊ÈÕ√–∫∫‡§‡∫‘≈·≈–Õÿª°√≥Ï°√–®“¬ —≠≠“≥‡§√◊բ˓¬ §Õ¡æ‘«‡µÕ√Ï ‚√߇√’¬π “¡‡ π«‘∑¬“≈—¬ °√¡ “¡—≠»÷°…“

ดวยโรงเรยนสามเสนวทยาลย จะดาเนนการพฒนาเครอขายอนเทอรเนตเพอใชในการบรการแกนกเรยน และคณาจารย โดยไดพฒนาสวนระบบเคเบลและอปกรณกระจายสญญาณเพอเชอมโยงจดใชงานทวโรงเรยน จดระบบหองเรยน/ปฏบตการคอมพวเตอรทมความสามารถเขาถงเครองบรการ (server) ทอยตางอาคารได พรอมกบดาเนนการในสวนระบบคอมพวเตอรแมขายอน–เทอรเนต เอกสารนเปนการบรรยายรปแบบรายการ และคณลกษณะจาเพาะของสวนระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมพวเตอร ซงเปนการจดซอ/จดจางในครงน

Page 373: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 387

§«“¡µÈÕß°“√ สวนระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมพวเตอรประกอบดวยองค–

ประกอบหลกตางๆ ซงผเสนอขายมหนาทออกแบบ สงมอบพรอมการตดตงทกองคประกอบจนใชงานไดตามวตถประสงค องคประกอบนไดแก

• สวนการเดนสายเคเบลใยแกวนาแสงทวโรงเรยน ดวยความเรวในสายสงไมตากวา 100 Mbps โดยใชเคเบลชนด multimode ขนาด 6-core (ตอไปนจะเรยกวา fiber backbone)

• สวนการเดนสายเคเบลทองแดงแยกจาก fiber backbone ไปยงหองตางๆ ทกาหนดให ดวยเคเบลแบบ UTP category-5 ซงรองรบการรบสงขอมลไดท 100 Mbps (ตอไปนจะเรยกวา building wiring)

• อปกรณเชอมตอระหวาง fiber backbone เขากบ building wiring (ตอไปนจะเรยกวา ระบบกระจายสญญาณ)

• ผเสนอราคามหนาทจดทาขอเสนอโครงการทมรายละเอยดสมบรณเพยงพอตอการเปรยบเทยบคณลกษณะทกรายการทเสนอ และงายตอการตดสนคดเลอกผเสนอขายระบบ คณลกษณะทกาหนดในเอกสารนใหถอวาเปนขอกาหนดขนตาสด ซงผเสนอขายมหนาทประเมนและคานวณกาหนดขดความสามารถจรง เพอใหระบบทางานไดตามวตถประสงค ในการตรวจรบงาน จะทาการทดสอบตามวตถประสงคเปนการเพมเตมจากการตรวจคณลกษณะตามขอกาหนดขนตา

• การจดทาเอกสารเสนอทางเทคนค ใหจดทาตนฉบบ 1 ชด ทมลายมอชอของผเสนอขาย (หรอผทไดรบมอบอานาจจากผเสนอขาย) กากบทกหนา รวมทงตนฉบบของ Specifications และ Catalog จากผผลต เอกสารทงชดใหลงเลขหนากากบเพยงสารบบเดยว โดยเรมจากหนาหนงเปนตนไป เยบเลมแบบถาวร (ไมเปนแฟมเจาะ) พรอมกบทาสาเนาอก 5 ฉบบเพอสงมอบใหทางโรงเรยนพจารณา ตามวนและเวลาทแจงในประกาศ

«—µ∂ÿª√– ß§Ï ระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมพวเตอรของโรงเรยนสามเสน

วทยาลย เมอตดตงเรยบรอยแลว จะตองทาใหทางโรงเรยนบรรลวตถประสงคตางๆ ดงตอไปน

Page 374: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

388 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ทาใหสงผานสญญาณคอมพวเตอรระหวางอาคารในโครงการทกหลงไดอยางมประสทธ–ภาพ กลาวคอ เปน logical topology แบบ star ทความเรว 100 Mbps อสระตอกนทกอาคาร และใชอปกรณ Fast Ethernet Hub ทศนยเครอขาย เพอกระจายสญญาณ โดยสามารถปรบปรงระบบในอนาคตเปน Fast Ethernet Switch หรอ ATM Switch ได ทงน ใหเสนอราคาทงแบบ Fast Ethernet Hub และแบบ Switch มาใหพจารณา

• ในแตละอาคาร ตดตงอปกรณ Fast-Ethernet bridge ทตอกบ fiber backbone ท 100 mbps และแปลงเปน Ethernet ทาใหสามารถตดตงเครองคอมพวเตอรในหองตางๆตามโครงการนโดยการเชอมเขาไปยงขวตอ Ethernet แบบ UTP ทตดตงตามโครงการน แลวสามารถใชงานตดตอกบเครองแมขายใดๆ ทเชอมตอกบเครอขายในโครงการนไดโดยไมตองเพมเตมอปกรณเครอขายใดๆ อก

• สามารถขยายความเรวของการรบสงขอมลใน fiber backbone ถง 155 Mbps หรอสงกวาไดโดยการเปลยนเพยงอปกรณรบสงสญญาณในอาคารตางๆ

• สามารถจดเครอขาย fiber backbone เปนแบบ dual- ring และแบบ star เพอใชงานกบ FDDI หรอ ATM Enterprise switch ไดโดยการยายการตอ fiber patch cord โดยไมตองซออปกรณเกยวกบเคเบลใดๆ เพมเตมอก ทงน ในระยะเบองตนใหจดสวน dual-ring topology สาหรบใชงานเปนระบบตรวจวดการทางานของเคเบลทกเสนไดดวย (ดผงในภาคผนวกท 5) โดยวงจรกระจายสญญาณไปตามตก จะเปนแบบ star โดยมอาคาร 4 เปนอาคารแมขาย

• สามารถเพมจานวนเครอง Workstation ทตองการตอกบเครอขายตามมาตรฐาน Ethernet UTP (10 Base-T) ไดโดยการเพมเฉพาะการเดนสายทองแดงมายงจดเชอมตอเขาส fiber backbone ในอาคารนน

• การเดนสายตางๆ ตองประณต เรยบรอย เปนไปตามหลกวชาชพไฟฟา/สอสาร และตรงตามขอกาหนดของผผลต ตองมความแขงแรงและปลอดภยตอบคคลและทรพยสนของโรงเรยน ไมขดตอทศนยภาพ และไมเสยงตอการชารดอนเนองมาจากฟารองฟาผา จากการเคลอนไหวตางๆ จากการจราจร แรงลม และการขยาย/หดตวของวสดอนเนองมาจากอณหภมทเปลยนแปลง กลาวคอ ระหวางอาคารตองเปนการสอสารผานใยแกวนาแสง อปกรณขยายสญญาณในอาคารตองเดนสายกราวนอยางถกตอง

Page 375: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 389

• มแบบของการตดตง การยด วสดทใชทางาน อยางครบถวนกอนดาเนนงาน และสงมอบแบบกอสรางใหแกทางโรงเรยนเพอประโยชนในการทานบารงระบบสายและการกระจายสญญาณตอไป

• มราคาโครงการทยอมเยา แตนาเชอถอ โดยการคดเลอกวสดอปกรณททนสมย ขนาดเลก แตมประสทธภาพสง และผเสนอใชวธการออกแบบทด สามารถใชอปกรณททาหนาททตองการไดเหมาะสม ไมมสวนสนเปลองโดยใชเหต

§ÿ≥ ¡∫—µ‘¢ÕߺŸÈ‡ πÕ√“§“ • ตองเปนน ต บคคลทประกอบธรกจการขายเคเบลสอสาร หรออปกรณสอสาร

โทรคมนาคมหรออปกรณระบบเครอขายคอมพวเตอร enterprise network (ทม interconnected networks) ในประเทศหรอตางประเทศมาแลวไมตากวา 3 ป ณ วนทเสนอราคา

• ตองมทนจดทะเบยนในประเทศไทยไมตากวา 5 ลานบาท

• ตองมประสบการณในการตดตงระบบสอสารโทรคมนาคมหรอระบบเครอขายคอมพว–เตอรในหนวยงานราชการหรอรฐวสาหกจประเทศไทยหรอหนวยงานเอกชนทโรงเรยนฯ เชอถอ มาแลวไมตากวา 5 แหง โดยผเขาเสนอราคาตองเสนอชอสถานทตดตง พรอมทงแนบสาเนาใบรบรองผลงานซงเจาของสถานทออกให โรงเรยนฯ สงวนสทธทจะตรวจสอบวนจฉยขอเทจจรงโดยตรงจากเจาของสถานทตามใบรบรองทเสนอนนดวย

¢ÈÕ°”Àπ¥∑—Ë«‰ª • อปกรณสอสารทงหมดทจดซอตองผลตขนมาตามมาตรฐาน ผลตภณฑอตสาหกรรม

ดานตางๆ รวมถงดานไฟฟา โทรคมนาคม ความปลอดภย และการกาจดคลนรบกวน (RFI) ทงของไทย ( มอก.) และของนานาชาต (เชน ISO IEC IEEE EIA TUV FCC ANSI ฯลฯ)

• อปกรณทงหมดใชงานกบไฟฟา 220 V AC 50 Hz 1 phase ตามมาตรฐานของไทยไดโดยไมตองใชอปกรณแปลงระบบไฟฟา พรอมระบหมายเลขรบรองการผานการตรวจสอบมาตรฐาน FCC, UL และ/หรอ มาตรฐานอนๆ ถาม

Page 376: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

390 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เปนอปกรณทมจาหนายอยแลวในประเทศไทยซงผเสนอขายสามารถจดเตรยมตวอยาง อยางละ 1 ชน (สวนสายเคเบลและทอ/รางสายไฟฟา ใหตดมาแสดงตวอยางรายการละ 400 มม.) โดยสงมอบในลกษณะของ “แผงแสดงตวอยางวสด” พรอมกบการเสนอราคา แผงตวอยางนจะคนใหแกผเสนอราคาเมอการจดซอเสรจสน เฉพาะผทไดรบการคดเลอก จะสงคนหลงจากพนระยะเวลาประกนคณภาพสนคา

• อปกรณและวสดทจะนามาใช ตองมคณสมบตไมดอยกวาขอกาหนดในเอกสารฉบบนทกรายการ โดยขอเสนอของผเสนอราคาตองแสดงเปรยบเทยบ “ลกษณะทตองการ” กบ “ลกษณะทเสนอ” โดยใชมาตราวดอนเดยวกนทกประการ

• สาหรบขนาดหนวยความจาประเภท RAM, ROM, BIOS, flash memory, firmware ใหคด 1 KB = 1,024 byte, 1 MB = 1,024 KB, 1 GB = 1,024 MB

• สาหรบความจของจานแมเหลก และเทปเกบขอมลแบบตางๆ นน ตองคดท formatted- capacity และ uncompressed-capacity เทานนโดยให 1 KB = 1,000 byte, 1 MB = 1,000 KB, 1 GB = 1,000 MB

• วสด และอปกรณทเสนอทกชนรวมการรบประกนซอมฟรแบบไมมเงอนไขเปนเวลาอยางนอย 2 ป

• ในเอกสารเสนอราคาตองบอกรายการอปกรณ ยหอ รนทเสนอ และ Part Number ของผผลต และแสดงราคาของอปกรณแตละรายการ และราคาคาบารงรกษาของอปกรณเปนรายเดอน (ถาม) มาใหพจารณาดวย โดยคาบารงรกษา ตองยนราคาไมนอยกวา 3 ป นบจากวนทสญญาซอขายมผลบงคบใช

• ผเสนอขายทไดรบเลอกทาสญญา (ผรบจาง) มหนาทตดตงอปกรณสอสารนทงหมด โดยจะตองทาการตดตงใหครบทกชนภายใน 45 วน นบจากวนทสญญาซอขายมผลบงคบใช โดยสญญาวาจางจะองระเบยบการจดซอ/จดจางของทางราชการ

• หลงการตกลงวาจาง ผรบจางจะตองทา แผนการตดตงระบบ (Shop Drawing) เสนอกรรมการกากบการจางกอนการตดตง จานวน 1 ชด พรอมสาเนา 4 ชด โดยแผนผงสามารถทจะขอแกไขเปลยนแปลงในระหวางการตดตง เพอใหระบบสามารถทางานไดอยางเหมาะสม โดยการแกไขเปลยนแปลงจะตองไดรบความเหนชอบจากคณะกรรมการ พจารณากอนเทานน

Page 377: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 391

• ในแบบรายการทเสนอ จะตองระบวธการตดตงสายเคเบลพรอมผงอธบาย ระบชนดของวสดและมาตรฐานงานตดตง (เชน บอกขนาดของทอ วสดทใชยด วธการยดสาย) พรอมอปกรณทชวยใหระบบมความปลอดภย (เชน arrester, สายดน, circuit breaker, ฯลฯ) กบอปกรณทชวยใหบารงรกษาโดยสะดวก (เชน ต rack, patch panel, patch cord, แผงจายไฟ) โดยทกรายการจะตองปรากฏใน Bills of material ทจะคดราคาได)

• ในการดาเนนการตดตงและเดนสายใดๆ ผรบจาตองจดทากาหนดการมาใหทางโรงเรยนพจารณาลวงหนากอนการเรมทางานไมนอยกวา 3 วน เพอประสานงานกบกจกรรมอนๆ ทจะเกดขนในโรงเรยน และปองกนความเสยงใดๆ ทอาจจะมตอบคคลและทรพยสน และในการดาเนนงาน หากมอบตเหตเกดความเสยหายตอชวตและทรพยสนใดๆ ผรบจางเปนผรบผดชอบ

• ใหผรบจางจะตองซอมแซมสวนทเสยหายเนองจากการตดตง ระบบครงน (ถาม) ใหอยในสภาพทเรยบรอย

• สถานทสงมอบและตดตงโรงเรยนสามเสนวทยาลย ถนนพระราม 5 กรงเทพฯ

• ผเสนอราคาจะตองจดสงเอกสารคมอการใชอปกรณจานวนเทากบอปกรณทตดตง

• หากมการเปลยนแปลงผงในระหวางการตดตง ผ รบจางจะตองทาผงใหม เสนอคณะกรรมการ หลงจากการตดตงจานวน 5 ชด

• คาใชจายในการจดทาแผนการตดตงตลอดจนอปกรณประกอบอนๆ ทจาเปนตองใชในการตดตงจะเปนของผรบจาง

§ÿ≥ ¡∫—µ‘®”‡æ“–¢Õß Ë«π fiber backbone • การเดนสาย fiber backbone จะเปนการเชอมโยงอาคารตางๆ จานวน 10 อาคารใน

โรงเรยนเขาดวยกนโดยใชเคเบลใยแกวนาแสงขนาด 6-core สาหรบใชตดตงนอกอาคาร (outdoor cable) การตดตงใหเปนไปตามมาตรฐานวชาชพการเดนสายไฟฟาสอสาร และตรงตามขอกาหนดของผผลต โดยเฉพาะอยางยงในเรองของการยด การแขวน และการโคงงอ สายเคเบลใยแกวนาแสงตองไดรบการเชอมตอ (fuse and splice) โดยใชเครองมอทแมนยา เพอผานสญญาณไปยงเคเบลสายออน และเขาหวเชอมตอตาม

Page 378: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

392 สรางอนเทอรเนตเซรฟเวอรดวย Linux

มาตรฐาน ST connector โดยยดตดกบแผงรบไฟเบอร (patch panel) ในตพกสายสญญาณ

• ในแตละอาคาร ใหจดหาและตดตงตพกสญญาณอาคารละ 1 ต เพอเขาหวสาย fiber และแยกสญญาณเขาสเครอขายในอาคารนนๆ

• เคเบลทกสาย ตองเรยกชอและตดปายชอประจาสายใหชดเจนตอการหาสาย แนวการเชอมโยงของ Backbone Cable เปนไปตามตารางท 1 ขางลางน (ดภาคผนวกท 4 ประกอบ)

• ลกษณะจาเพาะของ optical fiber ใหเปนไปตาม “ภาคผนวกท 7 คณลกษณะจาเพาะของ Optical fiber ทจะใชในโครงการ”

• การออกแบบและกาหนดชนดของวสดอปกรณทตองใชในตพกสายและกระจายสญญาณแตละต ใหเปนไปตามตารางท 2 ขางลางน ซงกาหนดปรมาณของอปกรณทตองตดตงเพอสวน backbone และสวนแยกสญญาณรวมกน

• เคเบลใยแกวนาแสงทงหมดใหเดนแบบหอยแขวนผานอากาศไดหากอยนอกอาคาร ทงนตองทาการยดสาย และใชลวดสลงรบนาหนกเปนตวยด เคเบลทอยนอกอาคารตองมคณสมบตเปน outdoor cable ตามขอกาหนดของผผลต สวนทอยในอาคารใหเดนในทอโลหะทแขงแรง ยดตดกบอาคารโดยใชพกโลหะโดยมตวยดไมหางเกน 2 เมตร และม pull-box ในระยะททางานไดด

• เคเบลใยแกวนาแสงทงหมดจะตองมการ splice เมอเดนมาถงตพก/แยกสญญาณ การตดตอทงหมดตองดาเนนงานจรงตามขอกาหนดของผผลต และใหใช patch panel เปนจด/แยกสญญาณตามรายละเอยดใน “ภาคผนวกท 4 ผงแนวการเดนสาย fiber backbone” ในการเชอมตอตองใชวสดอปกรณเพอตอ fiber ทเหมาะสมและตรงตามขอกาหนดของผผลต

• ใหผเสนอราคาบรรยาย เขยนแบบการเชอมตอ การยด ฯลฯ พรอมทงแนบเอกสารกาหนดวธการยดแขวนมาในเอกสารเสนอราคาเพอทางโรงเรยนจะใชพจารณา

• เมอเดนสาย fiber backbone แลวเสรจ ใหผรบจางใชอปกรณวดระยะทางจรงของสายไฟเบอรทกเสน และทารายงานผลการวด attenuation และระยะทางดวยอปกรณ OTDR ในสายแตละ core มอบใหทางโรงเรยนเปนลายลกษณอกษร

Page 379: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 393

ตารางท 1 แนวการเชอมโยงของ Backbone Cable

ชอสายเคเบล หองตนทาง ตพกสญญาณ ตนทาง

หองปลายทาง ตพกสญญาณปลายทาง

C4-10 4201 CAB-9 ศนยฝกอบรมครฯ CAB-10 C4-9 4201 CAB-4 9101 CAB-9 C4-6 4201 CAB-4 6101 CAB-6 C4-8 4201 CAB-4 8302 CAB-8 C4-3 4201 CAB-4 3304 CAB-3 C4-1 4201 CAB-4 1205 CAB-1 C1-2 1205 CAB-1 2204 CAB-2 C6-5 6101 CAB-6 5102 CAB-5 C5-8 5102 CAB-5 8302 CAB-8 C8-7 8302 CAB-8 720? CAB-7 C7-2 720? CAB-7 2204 CAB-2

§ÿ≥ ¡∫—µ‘®”‡æ“–¢Õß Building Wiring • จากจดพก/แยกสญญาณในแตละอาคาร ใหทาการตดตงเคเบลแบบ UTP (Category-

5) ไปยงทกๆ หองทระบไวใน “ภาคผนวกท 3 ตารางกาหนดจดเชอมตอและจานวนเครอง (เรมแรก)” และ“ภาคผนวกท 5 ผงการเดนสายรวมทงโครงการ” โดย

• ตดตงอปกรณแปลงสญญาณแสง 100 Mbps เปนสญญาณ Ethernet 10 Mbps (bridge 100/10) จานวนไมนอยกวา 8 port หรอเทากบจานวนจดทจะเชอมตอในอาคารนน บวก port สารอง 4 port (แลวแตจานวนใดจะมากกวากน) สวนของการกระจายสญญาณเปน 10-BASE-T ใหเสนอทงแบบ hub และแบบ Ethernet Switch มาใหพจารณาทงสองแบบ โดยทางโรงเรยนอาจจดซอ บางรายการ เปน Ethernet Switch

• เฉพาะในหองแมขาย ตองมอปกรณ Ethernet Switch ขนาดจานวน 10BASE-T switched port ไมนอยกวา 12 port และแบบ 100BASE-FX จานวน 1 port

Page 380: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

394 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เดนสาย UTP Category-5 กระจายไปยงจดหมายปลายทางในแตละหอง

• หองใดๆ ทมการกาหนดจานวนเครองเกน 4 เครอง ใหเดนสายไปยงหองนนเพยง 2 เสน และจดหาอปกรณ ethernet hub (repeater) ตดตงในหองนน แทนการเดนสาย UTP หลายเสน

• ตพกสญญาณและกระจายสญญาณ backbone เปนสญญาณสาหรบแตละหอง ใหเปนไปตามตารางท 2

• สาย UTP ทกเสนตองไดรบการปองกนจากหนหรอสตวอนใดกดแทะตลอดอายการใชงานและตลอดความยาวสายท อยางนอยใหเดนในทอโลหะทมความแขงแรง ยดทอตดกบอาคารอยางแนนหนา โดยเดนในฝาเพดานในทซงเปนฝาเพดาน เมอลงสในหองทางแนวดง ใหใชรางสายไฟแบบ PVC ชนดเปดดวยมอเปลาไดลงถงพนหอง และเผอความยาวของสายเคเบล UTP เปนระยะทาง 6 เมตร วดจากจดทถงพนหอง เฉพาะในหองตดตงอปกรณพกสายและกระจายสญญาณ ใหใช wireway โลหะขนาด 4×4 นวเดนขนฝาเพดาน

• รางครอบสาย PVC และ wireway ทงหมดตองทาสใหเหมอนสเดมของผนงอาคารเพอใหดเรยบรอย นอกจากบางแหงไมตองทาส ตามความตองการของโรงเรยน

• ตาแหนงของทอแนวดงในหองใดๆ ใหกาหนดรวมกบกรรมการของโรงเรยนฯ ทหนางาน โดยผรบจางจะทาเอกสารหรอผงสรปขอตกลงเปนลายลกษณอกษร สงใหโรงเรยนฯ กอนการลงมอทางาน

• ปลายสายเคเบล UTP ทกเสน ใหใส RJ-45 connector พรอมตอเขาเครอง Workstation ไดทนท หองใดทยงไมใชงาน ใหมวนสายเกบและใสถงพลาสตกกนฝนและความชนใหเรยบรอย

• หลงจากการตอครบวงจร จะตองทดสอบคณภาพของสาย UTP ทกเสน ผาน fiber backbone กอนสงมอบงาน เพอยนยนวาสายทกเสนทางานได ใหสงรายงานแสดงผล พรอมความยาวสาย UTP แตละเสน

Page 381: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 395

ตารางท 2 การกาหนดชนดของตพกสายสญญาณ และอปกรณกระจายสญญาณในแตละต

จานวน จานวนเคเบลและอปกรณทเกยวของ (ขนตา) ในอาคารแตละหลง อาคาร หอง ชอต ST connector

at patched panel

spliced cable(s)

through cables

fiber patch cords+spare

UTP-CAT5 destinations

no.of 10-Base-T ports

4 4201 CAB-4 42ST 6 0 34+6 90 94 9 9101 CAB-9 12ST 1 1 4 14 18 ศลป ข. ? CAB-

10 6ST 1 0 4 1 8

3 3304 CAB-3 6ST 1 1 4 8 12 1 1205 CAB-1 12ST 2 0 6 16 20 2 2204 CAB-2 12ST 2 0 6 6 10 6 6101 CAB-6 12ST 2 1 6 1 8 5 5102 CAB-5 12ST 2 1 6 1 8 8 8302 CAB-8 18ST 3 0 10 1 8 7 720? CAB-7 12ST 2 0 6 2 8 รวม 22 92 140

§ÿ≥ ¡∫—µ‘®”‡æ“–¢Õß√–∫∫°√–®“¬ —≠≠“≥ ในการออกแบบและตดตงระบบกระจายสญญาณทวโรงเรยน ใหผขายเสนอแบบทจะ

ตดตงโดยใหออกแบบตามกฎการออกแบบตอไปน (โปรดดรายละเอยดประกอบจาก ภาคผนวกท 6 ผงแสดงอปกรณทศนยเครอขาย และภาคผนวกท 7 ผงการจดอปกรณขยายสญญาณ)

°Æ‡°≥±Ï·ÀËß°“√ÕÕ°·∫∫ • ทกอาคารทเชอมตอ backbone ใหจดหาตาแหนงทตงของอปกรณพกสญญาณ และ

กระจายสญญาณใหด กลาวคอ อยในหองทสะอาด แหง มผอยอาศย อากาศถายเทสะดวก และปลอดภยจากบคคลภายนอก

Page 382: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

396 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• ตพกสญญาณ ในหอง 4102 ใหเปน equipment rack มาตรฐาน 19 นว สง 45U ลก 60 cm. ประตหนาเปนแบบกระจกใส ประตหลงเปนเหลก พรอมพดลมในตอยางนอย 6 ตว และแผงจายไฟแบบ 15A USA พรอมสายดน จานวนไมนอยกวา 16 ชอง ควบคมโดย main CB ขนาด 30A ตดตงเขากบระบบไฟของอาคาร ใหอปกรณสอสารในโครงการนทกรายการตดตงไวภายในโดยเดนสายอยางเปนระเบยบ สามารถปดฝาตทกดานไดโดยสนท ตองลอกกญแจได

• ตพกสญญาณ ในหองอนๆ ควรเปนตตดผนงทมขนาดไมหนานก แตสามารถตดตงอปกรณตางๆ ทจาเปน ไดแก การเขาสายและ fuse สายเคเบลใยแกวทงหมดได โดยมพนทสาหรบขดสายออนและเชอม fiber patch cord และสามารถตดตงสวน fiber patch panel แบบ ST-connector กบ UTP patch panel ไดตามความตองการทงหมดในโครงการนไดอยางปลอดภยและสะดวก ตองลอกกญแจได

• เฉพาะในหองเครอขาย (หอง 4202) ใหตดตงอปกรณรบสงสญญาณดงน

• Fast Ethernet hub หรอ Fast Ethernet switch (MAC address ไมนอยกวา 10,000 address) โดยมคณสมบตดงน เปนชนดซงใชขบคลนสญญาณแสงเขาสเคเบลใยแกวนาแสงทงโรงเรยนได โดยมขนาดจานวน 100 Base-FX ports ไมนอยกวา 12 port ทงน ตองมความสามารถในการขบสญญาณขอมลตามเคเบลทตดตงไดทความเรว 100 Mbps ไดโดยไมมความผดพลาด ในระยะทางไมตากวา 1 กโลเมตร การตดตงใหตดตงภายใน equipment rack ตามขอ 1 ขางบนน และมสาย fiber patch cord สาหรบเชอม optical port ทงหลายเขาดวยกน โดยปกตเปนการเชอมระหวาง Fast ethernet hub กบ patch panel ของเคเบลนาแสงขนาด 6-core ทเชอมโยงไปยงอาคารอนๆ ทกอาคาร ผเสนอราคาตองเสนอทางเลอกทงสองแบบมาใหพจารณา

• Ethernet Switch ขนาดม 10BASE-T 12 port และ ม 100BASE-FX 1 port MAC address ไมตากวา 1000 address

• Ethernet hub (10BASE-T) ตางๆ ตามจานวนทจาเปนตอการเชอมตอในอาคาร 4

• ทปลายสายเคเบลในอาคารทกหลง (ไมรวมอาคาร 4) ใหตดตงอปกรณรบสญญาณแสงตามมาตรฐานทสง (100 Mps Ethernet ผานเคเบลนาแสง) และแปลงออกมาเปน Ethernet ความเรว 10 Mbps เพอกระจายเขายงหองตางๆ ในอาคารนนๆ อยางพอเพยง อปกรณนทาหนาทเปน 100/10 Bridge บวกกบ 10-Base-T Hub โดยจะอย

Page 383: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 397

แยกกนหรอรวมในตเดยวกนกได แตทงนตองออกแบบและตดตงใหสอดคลองกบการทา building wiring ทกาหนด

• ในตพก/แยกสญญาณในแตละอาคาร ใหม fiber patch cord จานวนไมนอยกวาทระบในภาคผนวกท 5 และในตารางท 2 การเชอมตอ patch cord ตองสามารถทาใหมวงจรเคเบลนาแสงในรปแบบ dual-ring เกดขนพรอมใชงานคขนานกบระบบ star ไดอยางนอย 1 ระบบ โดยในขนตน ทางโรงเรยนจะนามาใชงานเปนวงจรทดสอบ “สขภาพ” ของระบบเคเบลนาแสงทกเสนตามทแสดงในภาคผนวกท 6

• ผเสนอราคา มหนาทออกแบบและเสนอการออกแบบตามกฎเกณฑตางๆ น โดยวาดผงของการจดอปกรณในแตละอาคาร แสดงขนาดของตพกสญญาณและวธตดตงอปกรณทงหมดมาในแบบในการเสนอราคาใหพจารณา

°“√Ω÷°Õ∫√¡ ผรบจางตองใหการฝกอบรมบคลากรของโรงเรยนอยางนอยสองทานในหวขอตอไปน เพอ

ชวยใหทางโรงเรยนสามารถใชประโยชนจากระบบเครอขายอยางเตมท และทาการบารงรกษาใหระบบทางานไดดตลอดเวลา

• เรองการดแลรกษาเครอขาย การเพมเคเบล

• เรองการใชอปกรณสอสารทตดตงในโครงการน

Page 384: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

398 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§ºπ«° 1 ·ºπº—ߢÕß‚√߇√’¬π

Page 385: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 399

¿“§ºπ«° 2 º—ß· ¥ß®”π«π‡§√◊ËÕß∑’Ë®–‡™◊ËÕ¡µËÕ„π·µË≈–ÀÈÕß (‡√‘Ë¡·√°)

Page 386: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

400 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§ºπ«°∑’Ë 3 µ“√“ß°”Àπ¥®ÿ¥‡™◊ËÕ¡µËÕ·≈–®”π«π‡§√◊ËÕß (‡√‘Ë¡·√°)

ท อาคาร ชน เลขทหอง และชอหอง จานวนจดทจะตอจอภาพ 1 1 1 1101, 1102, 1103, 1107, 1109,

1111,1113 7

2 1 2 1201, 1202, 1203, 1204, 1206, 1208, 1214

9

3 2 2 2202, 2205 2 4 2 3 2304, 2305 3 5 2 4 2404 1 6 3 2 3201, 3204 2 7 3 3 3301, 3304, 3305 3 8 3 4 3404, 3405 2 9 3 5 3505 1 10 4 1 หองสมด 10 11 4 2 4201, 4202 31 12 4 4 4401 1 13 5 1 5102 1 14 6 1 6101 1 15 7 1 7103 1 16 7 2 7206 1 17 8 2 8302 1 18 9 3 9303 1 19 9 4 9404 1 20 ศน 1 ศลป ก 1 21 22 23

Page 387: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 401

ท อาคาร ชน เลขทหอง และชอหอง จานวนจดทจะตอจอภาพ 24 25 26 27 28 29 30

Page 388: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

402 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§ºπ«° 4 º—ß·π«°“√‡¥‘𠓬 fiber backbone

Page 389: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 403

¿“§ºπ«°∑’Ë 5 º—ß°“√‡¥‘𠓬√«¡∑—Èß‚§√ß°“√

Page 390: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

404 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§ºπ«°∑’Ë 6 º—ß· ¥ßÕÿª°√≥Ï∑’Ë»Ÿπ¬Ï‡§√◊բ˓¬

Page 391: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 46 ตวอยางรางของขอกาหนดงานจดซอระบบเคเบลและอปกรณกระจายสญญาณเครอขายคอมฯ 405

¿“§ºπ«° 7 §ÿ≥≈—°…≥–®”‡æ“–¢Õß Optical fiber ∑’Ë®–„™È„π‚§√ß°“√

• เปน Fiber Optics แบบ Multimode Granded Index ขนาดไมตากวา 6 cores มาตรฐาน 62.5/125 micron รองรบความถไดถง 1 GHz.

• Attenuation ตองไมเกน 3.1 dB/Km ท 850 mm. และไมเกน 1.2 dB/Km ท 1300 nm.

• Bandwidth ตองไมตากวา 160 MHz.Km. ท 850 mm. และตองไมตากวา 500 MHz. Km. ท 1300 nm.

• ตองไดรบการรบรองวาสอดคลองกบ CCITT Recommendation G.652 และ FDDI specifications หรอ EIA/TIA 568

• ตองไมมการตดตอตลอดความยาวสาย รวมทงตองม Label กากบไวทปลายสายตามชอสายสญญาณ หรอใชรหสเพอใหสามารถระบตนทางและปลายทางของสายเสนนนได และเพอใชอางองในรายงานการทดสอบสาย

• Fiber Optics patch cord ST-PP/ST-PP และ ST-PP/SC

• กาหนดใหเปนสายทใชเชอมโยงระหวาง Patch Panel กบ Patch Panel, Hub กบ Patch Panel และอปกรณ 100/10 Bridge ในแตละอาคาร

• ตองมลกษณะสายเปนสาย Fiber Optics ขนาดไมตากวา 2 cores มาตรฐาน 62.5/125 micron ความยาวไมตากวา 1.50 เมตร

• มขวตอทงสองดานเปนแบบ ST โดยเปนขวตอทเขาสาเรจจากโรงงาน (automated polishing process)

• ตองเปนสายทผลตจากโรงงานผผลตโดยตรง มคณสมบตทใชเปนสาย Patch cord โดยเฉพาะตามทออกแบบมา ตองมความยดหยน โคงงอและคนตวไดด

• Patch Panel

• Patch Panel สาหรบ ST Connector ตดตงไดในตทออกแบบ สามารถเขาถง con–nector ไดสะดวก และมทตดปายชอสาหรบขวตอแตละขวชดเจน

Page 392: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

406 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¿“§ºπ«°∑’Ë 8 §ÿ≥≈—°…≥–®”‡æ“–¢Õß UTP cable ∑’Ë®–„™È„π‚§√ß°“√

• กาหนดใหเปนสายสญญาณแบบ UTP Category 5 รองรบความถ (Bandwidth) ไดถง 100 MHz จานวนไมตากวา 4 pairs ตอหนงสาย

• ตองไมมการตดตอตลอดความยาวสาย รวมทงตองม Label กากบไวทปลายสายตามชอสายสญญาณ หรอใชรหสเพอใหสามารถระบตนทางและปลายทางของสายเสนนนได และเพอใชอางองในรายงานการทดสอบสาย

• ตวเลขกาหนดคณลกษณะจาเพาะของสาย ตองไมดอยกวาทกาหนดน ภายใตเงอนไขการทดสอบโดยใชความยาวสาย 90 เมตร ขวตอ 2 ดาน และ patch cord ยาว 10 เมตร

• สายสญญาณตองมคา characteristic impedance อยในเขต 85 ถง 115 โอหม ตลอดยานความถทใชงาน (1-15 MHz)

• Attenuation ตองไมเกน 2.1 dB ท 1 MHz (100 เมตร) และตองไมเกน 24 dB ท 100 Mhz (100 เมตร)

• 4-Pair Pair-to-Pair Crosstalk ตองไมตากวา 30.5dB at 5 MHz, 26.0 dB at 10 MHz และ 23 dB at 15MHz

ออกแบบโดย หองปฏบตการเครอขายคอมพวเตอร ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต SPECIFICATIONS: NECTEC-K12-CABLE-04B/970318

Page 393: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server 407

บทนจะนาเสนอตวอยางรางขอกาหนด Internet Server สาหรบโรงเรยนเดยวกนกบในบทท 46 โดยจะม Unix Server ขนาดกลางทสามารถรองรบผใชไมตากวา 1,000 คน พรอมอปกรณสอสารทจะเชอมตอเขากบเครอขายอนเทอรเนตขนาด 64 Kbps.

§«“¡µÈÕß°“√ ดวยโรงเรยนสามเสนวทยาลย จะดาเนนการพฒนาเครอขายอนเทอรเนตเพอใชในการ

บรการแกนกเรยน และคณาจารย โดยไดพฒนาสวนระบบเคเบลและอปกรณกระจายสญญาณเพอเชอมโยงจดใชงานทวโรงเรยน จดระบบหองเรยน/ปฏบตการคอมพวเตอรทมความสามารถเขาถงเครองบรการ (server) ทอยตางอาคารได พรอมกบดาเนนการในสวนระบบคอมพวเตอรแมขายอนเทอรเนต เอกสารนเปนการบรรยายรปแบบรายการ และคณลกษณะจาเพาะของสวนระบบคอมพวเตอรแมขายอนเทอรเนต

ระบบคอมพวเตอรแมขายอนเทอรเนต ประกอบดวยองคประกอบหลกตางๆ ซงผเสนอขายมหนาทออกแบบ สงมอบพรอมการตดตงทกองคประกอบจนใชงานไดตามวตถประสงค องค–ประกอบนไดแก

• เครองคอมพวเตอรททาหนาทเปนเครองบรการ (ตอไปนจะเรยกวา Internet Server)

• ซอฟตแวรทจาเปนสาหรบเครองคอมพวเตอรตามขอ 1. (ตอไปนจะเรยกวา Software)

• อปกรณเชอมตอระหวางเครองคอมพวเตอรกบระบบเครอขายในโรงเรยน (ตอไปนจะเรยกวา LAN Interface)

• อปกรณเชอมตอระหวางเครองคอมพวเตอรกบเครอขาย SchoolNet Thailand ทดาเนนงานโดย NECTEC (ตอไปนจะเรยกวา WAN Interface)

Page 394: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

408 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• อปกรณเชอมตอกบสายโทรศพท เพอทาใหผใชระบบของโรงเรยนเขาถงระบบของโรงเรยนไดจากทหางไกล โดยผานระบบโทรศพท (ตอไปนจะเรยกวา Remote Access)

• อปกรณสารองไฟ (UPS)

• ผเสนอขายมหนาทจดทาขอเสนอโครงการทมรายละเอยดสมบรณเพยงพอตอการเปรยบเทยบคณลกษณะทกรายการทเสนอ และงายตอการตดสนคดเลอกผเสนอขายระบบ คณลกษณะทกาหนดในเอกสารนใหถอวาเปนขอกาหนดขนตาสด ซงผเสนอขายมหนาทประเมนและคานวณกาหนดขดความสามารถจรง เพอใหระบบทางานไดตามวตถประสงค ในการตรวจรบงาน จะทาการทดสอบตามวตถประสงคเปนการเพมเตมจากการตรวจคณลกษณะตามขอกาหนดขนตา

• การจดทาเอกสารเสนอทางเทคนค ใหจดทาตนฉบบ 1 ชด ทมลายมอชอของผเสนอขาย (หรอผทไดรบมอบอานาจจากผเสนอขาย) กากบทกหนา เอกสารทงชดใหลงเลขหนากากบเพยงสารบบเดยว โดยเรมจากหนาหนงเปนตนไป เยบเลมแบบถาวร (ไมเปนแฟมเจาะ) พรอมกบทาสาเนาอก 5 ฉบบเพอสงมอบใหทางโรงเรยนพจารณา ตามวนและเวลาทแจงในประกาศ

วตถประสงค • ระบบคอมพวเตอรแมขายอนเทอรเนตของโรงเรยนสามเสนวทยาลย เมอตดตงเรยบรอย

แลว จะตองทาใหทางโรงเรยนบรรลวตถประสงคตางๆ ดงตอไปน

• เปดบรการเปนเครองบรการผใชแบบ Shell account ไดไมตากวา 1,000 คน และเขาถงระบบผาน LAN (และ remote access รวมกน) ไดไมนอยกวาครงละ 60 คน และมความเรวในการตอบสนองทด เมอใชพรอมๆ กนไมนอยกวา 30 คน การตอบสนองทดหมายถงการใชโปรแกรม Pine พรอมกนทกคนผาน LAN และสามารถกดอานจดหมาย อเลกทรอนกส ไดพรอมกน โดยการกด Next Page หรอ Previous Page ทมการตอบสนองไดภายใน 1 วนาททกคน (ทดสอบโดยใชพรอมกน 30 จอ เปนเวลา 1 นาท)

Page 395: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server 409

• เปดบรการระบบ electronic mail ตามมาตรฐาน SMTP POP3 IMAP4 และ MIME ใหแกผใชทลงทะเบยนทกคน

• เปดบรการเปน WWW server โดยมบรการ CGI ทใชภาษา shell และ Perl ได

• เปดบรการเปน Domain Name Server ของโรงเรยน

• เปดบรการเปน News Server ของโรงเรยน โดยม local newsgroup ไมนอยกวา 30 group

• เปดบรการเปน Proxy-Cache เพอกรองขอมลอนเทอรเนต จากแหลงทขดตอระเบยบของโรงเรยน และชวยทาหนาทเปน “ถง” เกบขอมลทเพงมผเรยกเขามาอาน เพอชวยลดความแออดของขอมลในวงจรสอสารทางไกล ในกรณทมผใชอนเรยกขอมลเดมซา

• มซอฟตแวรใหแกโรงเรยน เพอใชบรหารทะเบยนผใช ดสถตการใชงาน และจดพนทขอมลในดสกได และมระบบบรการในการกาหนดแหลงขอมลทไมพงประสงคได

• สามารถเชอมตอกบเครอขาย SchoolNet Thailand ไดโดยเพยงการนาวงจรเชามาเชอมท serial port ของอปกรณสอสารในระบบน ซงตองมทงระบบ asynchronous (1200 ถง 57,600 bpsหรอเหนอกวา) ใชมาตรฐานขวตอแบบ RS232C/V.24 และ ระบบ synchronous (64k ถง 2M bps) ใชมาตรฐานขวตอแบบ V.35 โดยไมตองเพมเตมอะไรอก โดยจะทดสอบกบวงจร K12-dial-up หรอ 19.2k Datanet ทโรงเรยนจะจดหาตางหาก

• มการจดระบบ IP number ทสอดคลองกบมาตรฐานอนเทอรเนตของไทย และของสากล โดยผขายมหนาทประสานงานกบศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต

• เชอมตอกบเครองพซ และ Campus LAN ผานขวตอแบบ Ethernet โดยใชสาย UTP และม port วางใหตอตรงไดไมนอยกวา 20 port

• ตดตงและเดนสาย LAN พรอม Ethernet Hub ใหกบเครองพซ (Windows) ของโรงเรยน ในหองเรยนทกาหนดใหหองหนง ซงหางจากหองเครอขายไมเกน 10 เมตร จานวนไมเกน 30 เครองใหเปน TCP/IP client โดยมโปรแกรมใชงานเปน mail, news, web browser, telnet terminal, FTP clients ได

Page 396: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

410 สรางอนเทอรเนตเซรฟเวอรดวย Linux

¢ÈÕ°”Àπ¥∑—Ë«‰ª • อปกรณสอสารทงหมดทจดซอตองผลตขนมาตามมาตรฐาน ผลตภณฑอตสาหกรรม

ดานตางๆ รวมถงดานไฟฟา โทรคมนาคม ความปลอดภย และการกาจดคลนรบกวน (RFI) อปกรณทงหมดใชงานกบไฟฟา 220 V AC 50 Hz ตามมาตรฐานของไทยไดโดยไมตองใชอปกรณแปลงระบบไฟฟา พรอมระบหมายเลขรบรองการผานการตรวจสอบมาตรฐาน FCC, UL และ/หรอมาตรฐานอนๆ ถาม

• เปนอปกรณทมจาหนายอยแลวในประเทศไทย ซงผเสนอขายสามารถจดเตรยมตวอยาง จรงมาสาธตให โรงเรยนฯ ลองใชไดโดยการบอกลวงหนาไมตากวา 5 วนและชวงระยะทดสอบไมเกน 15 วน

• สามารถเชอมตอใชงานกบคอมพวเตอรเดมของโรงเรยนฯ และระบบสอสารขอมล ทมอยไดเปนอยางด และตรงตามมาตรฐานสากลของการรบสงขอมล

• อปกรณทเสนอขายตองมคณสมบตไมดอยกวาขอกาหนดในเอกสารฉบบนทกรายการ โดยขอเสนอของผขายตองแสดงเปรยบเทยบ “ลกษณะทตองการ” กบ “ลกษณะทเสนอ” โดยใชมาตราวดอนเดยวกนทกประการ

• สาหรบขนาดหนวยความจาประเภท RAM, ROM, BIOS, flash memory, firmware ใหคด 1 KB = 1,024 byte, 1 MB = 1,024 KB, 1 GB = 1,024 MB

• สาหรบความจของจานแมเหลก และเทปเกบขอมลแบบตางๆ นน ตองคดท formatted- capacity และ uncompressed-capacity เทานนโดยให 1 KB = 1,000 byte, 1 MB = 1,000 KB, 1 GB = 1,000 MB

• อปกรณทเสนอทกชนรวมการรบประกนซอมฟรแบบไมมเงอนไขเปนเวลาอยางนอย 1 ป ตลอดระยะเวลาการรบประกน

• ในเอกสารเสนอราคาตองบอกรายการอปกรณยหอรนทเสนอ และ Part Number ของผผลต และแสดงราคาของอปกรณแตละรายการ และราคาคาบารงรกษาของอปกรณเปนรายเดอนมาใหพจารณาดวย โดยคาบารงรกษา ตองยนราคาไมนอยกวา 3 ป นบจากวนทสญญาซอขายมผลบงคบใช

Page 397: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server 411

• ผเสนอขายทไดรบเลอกทาสญญา (ผขาย) มหนาทตดตงอปกรณสอสารนทงหมด โดยจะตองทาการตดตงใหครบทกชนภายใน 45 วน นบจากวนทสญญาซอขายมผลบงคบใช โดยสญญาซอขายจะใชตามระเบยบการจดซอ/จดจางของทางราชการ

§ÿ≥ ¡∫—µ‘®”‡æ“–¢Õ߇§√◊ËÕß Internet Server • เปนเครองคอมพวเตอร 1 ระบบ ซงมขนาดขอกาหนดขนตาดงน

• หนวยประมวลผลกลาง ขนาดไมนอยกวา 64 บต ทางานโดยมขนาดรวมของ L1 cache ไมนอยกวา 32 Kbyte และ L2 cache ไมนอยกวา 512 KByte

• ความเรวของนาฬกาไมตากวา 166 MHz (กรณของ UltraSPARC, PowerPC, PA-RISC หรอตระกล Pentium Pro) หรอไมตากวา 250 MHz (กรณของ Alpha chip)

• หนวยความจาหลกไมตากวา 128 Mbyte

• จานแมเหลกความเรวสง (โปรดระบ average access time) ตดตงภายใน ขนาดไมตากวา 4 Gbytes โดยจดแบงเปนพารทชนตางๆ ทมขนาดตาสดดงน ดงน (หรอตามทจะกาหนดใหใหมกอนการตรวจรบ):

root 128 MB

/usr 512 MB /var 1000 MB (inclding log, inboxes)

/tmp 300 MB

swap space 256 MB

Webcache 1000 MB

News 400 MB

FTP + Web space 1 GB user home remaining spaces.

• CD-ROM drive ความเรวไมดอยกวา 4X

• Floppy disk drive (1.44 MB 5.25 นว)

• แปนพมพ เมาส และแผนรองเมาส

Page 398: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

412 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เทปบนทก/สารองขอมลแบบ 4 mm. หรอ 8 mm. ความจไมตากวามวนละ 4 GB. สงมอบพรอมตลบเทปเปลาพรอมใชงาน จานวน 4 มวน

• Ethernet port จานวน 3 port ในจานวนน เปน10/100 จานวนอยางนอย 1 port

• serial port ไมนอยกวา 1 port

• จอภาพส ความละเอยดของจดตองไมเกน 0.28 mm dot pitch ขนาดของสวนแสดงผลทปรากฏ เมอใชไมบรรทดวดตามแนวทแยงมมตองไมนอยกวา 15 นว (โปรดระวงในการเสนอรายการนใหถกตอง)

• ระบบแสดงผลตองไมนอยกวา 1024 × 768 จด แตละจดตองลกไมนอยกวา 65,000 ส

• ตดตงพรอมซอฟตแวรและทดสอบการใชงานตามทระบในขออนๆ

• คณสมบตจาเพาะของซอฟตแวร (Software)

• ระบบปฏบตการแบบ multi-user, multi-tasking สาหรบผใชแตละคน โดยมใบอนญาตใชงานพรอมกนไดไมนอยกวาครงละ 64 user

• Webserver: Apache รนลาสด หรอ Netscape Enterprise Server และโปรแกรมชวยงานประเภทวเคราะหสถตการเรยกอานขอมล

• Email: SMTP sendmail V8, POP 2/3 server, IMAP4 server, MIME compliant

• DNS: Primary/secondary/caching name server

• FTP: บรการ FTP server แบบปกตและแบบใหบคคลนรนามโอนขอมลออกได พรอม usage log

• News server: INN รนลาสด หรอท NECTEC รบรอง

• Proxy-Cache:ใหสามารถทางานไดกบ Ethernet port ทง 3 port โดย port แรก (10 หรอ 10/100) ตอกบ WAN router และ port ทสอง (10 หรอ 10/100) และสาม (10/100) ตอกบ campus LAN หนาทของ proxy-cache ตองทางานรวมกบซอฟตแวรอนๆ ในเครองเดยวกนได

• ซอฟตแวรททาใหเครอง Internet Server ทาหนาทเปน firewall ปองกนผบกรกในรปแบบตางๆ

Page 399: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server 413

• Management Tools: ตองเปนแบบทสงงานผาน Web browser เพอใหผควบคมระบบสงการไดโดยงาย และใชเวลาในการฝกฝนทสน โดยระบบบรหารตองครอบคลมถง:

• การบรการเพมและยกเลกทะเบยนผใช (user management)

• การบรการกาหนดโควตาของทเกบขอมลของผใช

• การกาหนดดานความปลอดภยของระบบ (โปรดอธบายวาระบบมการรกษาความปลอดภยอะไรบาง)

• การเพมและยกเลกอปกรณทตอกบเครอขาย การเพม/ลดชอเครองในระบบ DNS

• การกาหนดคาตางๆ ทเกยวกบ email และ news เชน alias, mailing list

• การตรวจ security log และการลบแฟมขอมลทสมควรลบทงเพอใหมทวางในระบบ เชน mail log, wtmp log

• การทาสาเนาขอมลของผใช ของระบบ ของ WWW server และสวนอนใดของระบบ

• นอกจากน ผเสนอขายตองระบซอฟตแวรทจะใชทเครอง client ประเภทพซของโรงเรยนจานวน 30 เครอง ซงปจจบนใชระบบ Windows 3.11 (8 MB RAM) ดวย ใหอธบายทกรายการทจะตดตงและเปนประโยชนตอการใชงานของโรงเรยน ซอฟตแวรเหลานควรเปนซอฟตแวรทสามารถใชในโรงเรยนไดโดยถกตองแตประหยดทสด เชน เปน public domain หรอ freeware

• และควรซอฟตแวรททาใหระบบ remote access บรการผใชทจดทะเบยนอยางถกตอง เขาถงเครอขายแบบ ppp ได และชวยในการควบคม router

• คณสมบตจาเพาะของ LAN Interface

• สวนนประกอบดวยระบบการเชอมตอ Internet Server เขากบชด LAN Hub สองชด คอในบรเวณหองเครอง Internet server 20 port และเชอมโยงไปยงหองเรยน 30 port ผขายจดหาอปกรณและตดตงทงสวนเคเบลในหองเรยน และอปกรณทกรายการ ยกเวน เครองพซ 30 เครองซงม LAN card แบบ UTP พรอมแลว

• เครอง Internet Server ตองนา port 10/100 UTP ตอเขากบ UTP hub จานวน 1 เครองในหองทตดตงระบบ Internet server โดย UTP hub ม port วาง (10 Mbps) ใหตอ client และ Campus LAN ไดไมนอยกวา 20 port

Page 400: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

414 สรางอนเทอรเนตเซรฟเวอรดวย Linux

• เดนสาย UTP จานวน 1 ไปยงหองเรยนซงหางจากหองเครอขายไมเกน 10 เมตร เพอทาการตดตง Ethernet Hub และเดนสายในหองเรยน เพอตดตงซอฟตแวรชด Internet client จานวน 30 เครอง

• การแบง Ethernet segment ทแยกจาก Internet Server ใหแยกหองเรยนเปนหนง segment (ประมาณ 100 เครอง) และ Campus LAN (ประมาณ 100 เครอง)

§ÿ≥ ¡∫—µ‘®”‡æ“–¢Õß Remote Access ·≈– WAN Interface สวนนประกอบดวย WAN Router 1 เครอง และ Modem 8 เครอง

• WAN Router ตองม port สอสารตางๆ ดงน

• High-speed serial (64k-4Mbps synchronous, V.35) 2 ports • Console/Aux (asynchronous, V.24, 1200-38400 bps) 2 ports • Ethernet 10 Mbps (UTP) 1 port • Terminal (Asynchronous, V.24, 1200-117000 bps) 16 ports

• ใหนา Ethernet 10 Mbps port ของ Internet Server มาตอกบ WAN router เพอแปลงสญญาณเพอพรอมทจะตอกบโลกภายนอก ผานวงจรสอสารทางไกล (Wide-area Network) และ ใช router กรองขอมลภายในไมใหออกสภายนอก

• เชอมตอกบเครอขาย SchoolNet Thailand ไดโดยการนาวงจรเชามาเชอมท serial port ของอปกรณสอสารในระบบน ซงตองมทงระบบ asynchronous (1200 ถง 38,400 bps หรอเหนอกวา) ใชมาตรฐานขวตอแบบ RS232C/V.24 และระบบ synchronous (64k ถง 2M bps) ใชมาตรฐานขวตอแบบ V.35 โดยไมตองเพมเตมอะไรอก โดยจะทดสอบกบวงจร K12-dial-up หรอ 19.2k Datanet ทโรงเรยนจะจดหาตางหาก

• WAN router ตองมคณสมบตไมดอยกวา Cisco IOS รน 10 ขนไป สงมอบพรอมสายเคเบลสาหรบใชงานกบพอรตทกพอรตพรอมกน

• ตดตง modem 8 เครองเขากบ WAN router และกาหนดใหมระบบตรวจสอบการโทรเขา และใชงานแบบ PPP จากผใชโดยใช Radius Protocol

Page 401: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server 415

• modem ทกเครองตองมความสามารถไมตากวา V.34 และทางานท 33.6kbps ได ตามมาตรฐานทไมดอยกวาของ US Robotics

• ผขายตองออกแบบระบบอปกรณเครอขายใหมการเดนสายทเปนระเบยบ ปลอดภยโดยใชสายกราวด และใหตอปกรณ (Equipment rack) ทเหมาะสม พรอมปลกไฟมาตรฐาน USA 15Amp จานวนไมตากวา 16 ปลกในต มแผงพกสายโทรศพทแบบ Khrone จานวนไมนอยกวา 40 คสายตดไวภายในต และเชอมกบโมเดม (modem) โดยระบบ jump cable ระหวางขว Khrone สายองคการฯ และขวทตอกบโมเดม

• อปกรณสารองไฟ (UPS) จานวน 1 เครองเพอเลยงอปกรณตางๆ ดงน (เฉพาะรายการทระบวา yes)

• Internet Server System Unit yes • Internet Server CRT no • WAN-Router yes • Telco line interface (modem/NTU) yes • LAN interface units (hubs) yes • Classroom Hub no • Modem units no • เปน UPS แบบ Sine-wave, online ขนาดไมนอยกวา 1.5KVA หรอ 1200 W (ท

p.f.=1.0) และแบตเตอรสามารถสารองไฟไดท 1200 W ท 15 นาท โดยปลอดภย

°“√Ω÷°Õ∫√¡ หลกสตร System Administrator 2 คน ครอบคลมหวขอ Operating System ของระบบท

เสนอ, Management tools, Proxy, การดแล Web server, Mail server, DNS server, FTP server การรกษาและสารองขอมล

Page 402: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

416 สรางอนเทอรเนตเซรฟเวอรดวย Linux

แผนผง¢Õß√–∫∫

ออกแบบโดย หองปฏบตการเครอขายคอมพวเตอร ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต SPECIFICATIONS: NECTEC-K12-SIS-04/970313

Page 403: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 417

1. °“√„™È CD-ROM ในแผน CD-ROM ทแนบมากบหนงสอเลมน จะประกอบดวยซอฟตแวรแยกตามไดเรกทอรดงน • Linux-SIS เวอรชน 3.0 อยภายใตไดเรกทอร linux.sis • เอกสารภาษาไทยจาก http://linux.thai.net/ อยภายใตไดเรกทอร docs • ซอฟตแวรเกยวกบภาษาไทยของลนกซ อยภายใตไดเรกทอร software • Slackware Linux 3.6.0 (บางสวน)

• Image ไฟลสาหรบ Boot disk อยภายใตไดเรกทอร slack36\bootdsks.144 • เอกสารเกยวกบ Linux (รวม Howto) อยภายใตไดเรกทอร slack36\docs

ไฟล README.TXT จะแสดงรายละเอยดของขอมลทมในแผน CD-ROM และขอมลลขสทธตางๆ โปรดอานและทาความเขาใจกอนใชงาน

แผน CD-ROM แผนนสามารถบตดวยตวเองได ซงจะนาทานไปสการตดตง Linux-SIS เวอรชน 3.0 รวมทงมโปรแกรม setup.bat ทจะนาทานไปสการตดตงโดยอตโนมต จากเครองทมระบบปฏบตการ Microsoft Windows 95

ทานสามารถทาการตดตงไดตามวธตางๆ ทระบไวในบทท 13 การตดตง Linux-SIS เวอรชน 3.0 ขอมลในไดเรกทอร linux-sis นจะเทยบเทากบทอยบน ftp://ftp.nectec.or.th/pub/linux.sis/3.0-RELEASE

ในไดเรกทอร docs จะประกอบดวยเอกสารภาษาไทยเกยวกบลนกซตางๆ ทเขยนขนโดยคนไทย ตามทไดรวบรวมอยใน http://linux.thai.net และ ftp://ftp.nectec.or.th/pub/thailinux/docs

สวนไดเรกทอร software จะประกอบดวยซอฟตแวรเกยวกบลนกซภาษาไทย เชน Thai Extension (พฒนาโดย คณพลลาภ วระธนาบตร), nonlock (โปรแกรมแสดงคาสถานะคยบอรดภาษาไทย/องกฤษ พฒนาโดย คณบรรล เขมยาธร) เปนตน สาหรบตดตงลงบนระบบ Linux ของทาน (กรณทไมไดเปน Linux-SIS)

Page 404: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

418 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. ≈‘¢ ‘∑∏‘Ï¢Õß Linux-SIS ซอฟตแวร Linux-SIS สงวนลขสทธโดยมขอกาหนดดงดานลางน มทงภาษาไทยและภาษาองกฤษ (สาเนา

จาก http://ftp.nectec.or.th/pub/linux.sis/COPYRIGHT.TXT )

NECTEC-Linux-SIS (Linux-SchoolNet Internet Server) Copyright Notice ===============================================================

หากทานมปญหาหรอขอสงสยใดๆ เกยวกบเอกสารฉบบน โปรดตดตอ

[email protected]

Linux-SIS ประกอบดวยซอฟตแวรจาก Linux Slackware Distribution และซอฟตแวรเพมเตมทรวบรวมโดยทมพฒนาของหองปฏบตการเครอขายคอมพวเตอร ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต

ซอฟตแวรจาก Linux Slackware Distribution และซอฟตแวรเพมเตมเหลานนสงวนลขสทธตามทมนเปน (โปรดอานไฟล SLACKWARE-COPYRIGHT.TXT และไฟลภายใต /usr/local/src, /usr/local/desktop-src เมอตดตงเสรจแลว)

ซอฟตแวรเพมเตมทพฒนาโดยทมพฒนาของศนยเทคโนโลยอเลกทรอนกส และคอมพวเตอรแหงชาต สงวนลขสทธโดยผเขยนแตละทาน ภายใต GNU General Public License (โปรดอานไฟล COPYING)

การแกไข และ/หรอ เผยแพรซอฟตแวร Linux-SIS สามารถทาไดภายใตลขสทธตามเอกสารฉบบน และตองมเอกสารฉบบนรวมอยดวย

ในการทจะเผยแพรในชอ Linux-SIS ชดซอฟตแวรจะตองมรายละเอยดเหมอนกบทปรากฏอยบน FTP Server (ftp://ftp.nectec.or.th/pub/linux.sis) ทกประการ

หามมใหนาชอ Linux-SIS ไปเปนชอผลตภณฑ ชอเครองหมายการคา หรอโดเมนเนม นอกจากไดรบอนญาตเปนลายลกษณอกษรจาก ศนยเทคโนโลยอเลกทรอนกส และคอมพวเตอรแหงชาต

ซอฟตแวร Linux-SIS ไมมการรบประกนความเสยหายอนเกดขนจากการใชงานซอฟตแวรใดๆ ทงสน ผใชจะตองรบผดชอบเองโดยไมมเงอนไข

==========================================================

If you have any questions regarding this copyright notice, please feel free to contact sismaster–@nectec.or.th

Linux-SIS comprises of software from Linux Slackware Distribution and additional software integrated by developers at Network Technology Laboratory (NTL), National Electronics and Computer Technology Center (NECTEC), Thailand.

All software from Linux Slackware Distribution and other GNU software remain copyrighted as they are (see SLACKWARE-COPYRIGHT.TXT and copyright notice for each packages at /usr/local/src and /usr/local–/desktop-src after installation).

Parts of the software developed by NTL, NECTEC, are copyrighted by the authors under GNU Public License (see COPYING).

Page 405: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 419

Modification and/or redistribution of this Linux-SIS package must include this copyright notice and retain under it, in order to be called "Linux-SIS", the distribution may not be altered from the way it appears on the central ftp site (ftp.nectec.or.th/pub /linux.sis).

Except by the written permission from NECTEC, the Linux-SIS trademark may not be used as (or as part of) a product name, company or registered domain name.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

------------------------------------------------------------------------------------------------------

3. GPL (GNU Public License) Linux Kernel และซอฟตแวรเพมเตมสวนใหญของ Linux-SIS จะสงวนลขสทธภายใต GNU Public

License GPL สงเสรมใหมการพฒนาซอฟตแวรในแบบ Open Source และคมครองผลงานของนกพฒนาเหลาน ผใชซอฟตแวร GPL มสทธทจะใชงาน ทาสาเนา เผยแพร เขาถง Source Code แกไข รวมถงเผยแพรฉบบทแกไขดวยกได ผลงานฉบบแกไขนน จะมลกษณะเปน Copyleft คอ คงไวซงลขสทธ GPL ซอฟตแวรทดดแปลง หรอพฒนาโดยมพนฐานจากซอฟตแวร GPL จะตองคงไวซงความเปน GPL ตอไป

คณสมพนธ ระรนรมย ([email protected]) ไดทาการแปล GPL Version 2 เปนภาษาไทย (ฉบบราง) เพอใหเราไดอานกนเขาใจงายขน

GNU General Public License ¿“…“‰∑¬ (สาเนาจาก http://linux.thai.net/gpl-th.html )

This is an unofficial translation of the GNU General Public License into Thai. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Thai speakers understand the GNU GPL better.

เอกสารชนนเปนการแปลอยางไมเปนทางการของ GNU General Public License เปนภาษาไทย. โดยทไมไดเผยแพรออกมาจาก Free Software Foundation และไมไดเปนการกาหนดขอสญญาตามกฎหมายในการเผยแพรซอฟตแวรทใช GNU GPL ซงมเพยงตนฉบบภาษาองกฤษของ GNU GPL เทานนททาได. อยางไรกตาม เราหวงวางานแปลชนนจะชวยใหคนไทยเขาใจ GNU GPL ไดดยงขน.

Page 406: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

420 สรางอนเทอรเนตเซรฟเวอรดวย Linux

GNU GENERAL PUBLIC LICENSE http://www.gnu.org/copyleft/gpl.html

Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc.

59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

GNU GENERAL PUBLIC LICENSE ©∫—∫¿“…“‰∑¬ Version 1, January 1999

Copyright (C) 1999 Samphan Raruenrom - [email protected]

Õ“√—¡¿∫∑ สญญาอนญาตใหใชซอฟตแวรสวนใหญไดรบการออกแบบมาเพอรดรอนเสรภาพของคณในการแบงปน

และแกไขซอฟตแวร ในทางกลบกน GNU General Public License มจดมงหมายเพอประกนเสรภาพของคณในการแบงปนและแกไขซอฟตแวรเสร (free software) เพอทาใหแนใจวาซอฟตแวรจะเปนสงทเสรสาหรบผใชทกคน General Public License คอสญญาอนญาตใหสาธารณชนใชสทธตามลขสทธทไดรบการนามาใชกบซอฟตแวรสวนใหญของ Free Software Foundation และโปรแกรมใดกตามทผสรางสรรคยดมนตอการใชสญญาน. (มซอฟตแวรบางชนของ Free Software Foundation ทครอบคลมโดย GNU Library General Public License แทน.) คณเองกสามารถใชสญญานกบโปรแกรมของคณไดเชนเดยวกน.

เมอเรากลาวถง free software เราหมายถงเสรภาพ ไมใชราคา. General Public License ของเราไดรบการออกแบบมาเพอทาใหแนใจวา ๏ คณจะมเสรภาพทจะเผยแพรสาเนาของซอฟตแวรเสร (และคดราคาสาหรบการจดจาหนายในกรณทคณตองการ) ๏ คณจะไดรบ source code หรอสามารถทจะไดมาในกรณทคณตองการ ๏ คณจะสามารถแกไขหรอใชสวนประกอบของซอฟตแวรนนในซอฟตแวรเสรโปรแกรมใหม และ ๏ คณจะไดรบรวาคณมสทธทจะทาทงหมดนได

เพอปกปองสทธของคณ เราจาเปนตองวางขอจากดตางๆ เพอหามมใหใครปฏเสธสทธเหลานตอคณ หรอเรยกรองใหคณสละสทธดงกลาว. ขอจากดเหลานนาไปสภาระหนาทจานวนหนงของคณ ในกรณทคณเผยแพรสาเนาของซอฟตแวร หรอดดแปลงซอฟตแวรนน

ตวอยางเชน ในกรณทคณเผยแพรสาเนาของโปรแกรมลกษณะน ไมวาจะใหเปลาหรอคดราคา คณจะตองใหสทธทงหมดอยางทคณมแกผรบดวย คณจะตองจดการใหบคคลนนไดรบหรอสามารถทจะไดมาซง source code นนเชนเดยวกบคณ และคณจะตองแสดงขอสญญาเหลานแกบคคลนน เพอทบคคลนนจะไดรบรถงสทธของตน

เราใชวธปกปองสทธของคณดวยสองขนตอนคอ: (1) สงวนลขสทธของซอฟตแวรนน และ (2) เสนอสญญาอนญาตใหคณสามารถทจะทาซา เผยแพร และ/หรอดดแปลงซอฟตแวรนนไดอยางถกตองตามกฎหมาย

นอกจากนน เพอเปนการปกปองผสรางสรรคแตละรายและตวของเราเอง เราตองแนใจวาทกๆ คนจะไดรบการทาความเขาใจวาจะไมมการรบประกนใดๆ ในซอฟตแวรเสรชนน ในกรณทซอฟตแวรไดรบการดดแปลงโดยบคคลอนและแจกจายสงตอกนไป เราตองการใหผรบไดตระหนกวาสงทตนไดรบนนไมไดเปนของดงเดม เพอวาปญหาใดๆ อนเกดจากบคคลอนจะไดไมพาดพงไปถงชอเสยงของผสรางสรรคตนฉบบ

Page 407: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 421

ทายทสด ซอฟตแวรเสรมกจะถกคกคามโดยสทธบตรซอฟตแวรอยเปนนจ เราประสงคทจะหลกเลยงความเสยงทผจดจาหนายซอฟตแวรเสรโปรแกรมใดโปรแกรมหนงจะไปขอรบสญญาอนญาตใหใชสทธตามสทธบตรเอาไวเอง อนจะเปนผลทาใหไดโปรแกรมนนเปนเอกสทธเฉพาะ (proprietary) เพอปองกนเรองน เราไดกาหนดไวอยางชดเจนวาสทธบตรใดกตามจะตองอนญาตเพอใหทกคนใชไดอยางเสรหรอมฉะนนกจะอนญาตไมไดเลย

°“√∑”´È” ‡º¬·æ√Ë ·≈–¥—¥·ª≈ß¡’¢ÈÕ°”Àπ¥·≈–‡ß◊ËÕπ‰¢¥—ßµËÕ‰ªπ’È ขอกาหนดและเงอนไขในการทาซา เผยแพร และดดแปลง 0. สญญานใชกบโปรแกรมหรองานอนใดทมขอความบอกกลาวโดยเจาของลขสทธวาสามารถนาไป

เผยแพรโดยอาศยขอความตาม General Public License ถดจากนไปคาวา "โปรแกรม" หมายถงโปรแกรมหรองานในลกษณะดงกลาว และ "งานทมพนฐานจากโปรแกรม" หมายถงโปรแกรมนนหรองานดดแปลงจากโปรแกรมนนตามกฎหมายลขสทธ: กลาวคอ งานทประกอบดวยโปรแกรมนนไมวาทงหมดหรอบางสวน ไมวาจะคงเดมหรอมการดดแปลงและ/หรอไดรบการแปลเปนภาษาอน. (จากนเปนตนไป การแปลนบรวมอยในความหมายของคาวา "การดดแปลง" โดยไมมขอบเขต) คาวา "คณ" หมายถงแตละบคคลผไดรบอนญาตใหใชสทธตามสญญา

สญญานไมไดครอบคลมไปถงการกระทาอนใดนอกเหนอจากการทาซา เผยแพร และดดแปลง การกระทาอนใดนนอยนอกเหนอขอบเขตของสญญา สญญาไมไดควบคมการรนใชงานโปรแกรม และสญญาจะครอบคลมถงผลลพธจากโปรแกรมกตอเมอเนอหาของผลลพธเปนองคประกอบของงานทมพนฐานจากโปรแกรม (โดยไมขนอยกบการทผลลพทนนไดผานการทาขนมาจากการรนโปรแกรม) ผลลพธจากโปรแกรมจะถอเปนงานทมพนฐานจากโปรแกรมหรอไมขนอยกบวาโปรแกรมนนทาอะไร

1. คณสามารถทาซาหรอเผยแพรในสอบนทกใดๆ ซงสาเนาทปราศจากการแกไขของ source code ของโปรแกรมตามทคณไดรบมา โดยมขอแมวา ๏ คณจะตองแสดงคาบอกกลาวลขสทธและคาปฏเสธการรบประกนไวอยางเดนชดและเหมาะสมในแตละสาเนา ๏ รกษาคาบอกกลาวทงหมดทอางถงสญญานและความปราศจากการรบประกนใหคงอยดวยกนอยางสมบรณ และ ๏ มอบสาเนาของสญญานไปพรอมกบโปรแกรม

คณสามารถคดราคาสาหรบการกระทาในทางกายภาพเพอถายทอดสาเนาชนหนงๆ ได และคณสามารถทจะเสนอขายการรบประกนไดในกรณทคณตองการ

2. คณสามารถดดแปลงสาเนาของโปรแกรมไมวาทงหมดหรอบางสวน การกระทาเชนนนคอการสรางงานทมพนฐานจากโปรแกรม และคณสามารถทาซาและเผยแพรการดดแปลงหรองานในลกษณะดงกลาวโดยอาศยขอความตามขอ 1 ขางตน โดยมขอแมวาคณจะตองปฏบตตามเงอนไขเหลานทงหมด

a) ในไฟลทคณแกไข คณจะตองใสคาบอกกลาวทเดนชดวาคณไดแกไขไฟลนน รวมทงวนทในการแกไขแตละครง.

b) ในการเผยแพรหรอโฆษณา (นาเสนอตอสาธารณชน) งานใดกตามททงหมดหรอบางสวนของงานนน ประกอบดวย หรอดดแปลงมาจากโปรแกรม หรอบางสวนของโปรแกรม คณจะตองอนญาตตองานโดยรวมทงหมดแกบคคลทงหลายโดยไมคดมลคา โดยอาศยขอความตามสญญาน

Page 408: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

422 สรางอนเทอรเนตเซรฟเวอรดวย Linux

c) ในกรณทโปรแกรมทดดแปลงแลวมการทางานตามปรกตดวยการรบคาสงเชงโตตอบในขณะทรน คณตองทาใหโปรแกรมนน เมอนามาเรมตนรนใชงานในเชงโตตอบดงกลาวตามปกตแลว โปรแกรมนนจะพมพหรอแสดงใหเหนประกาศอนประกอบดวย ๏ คาบอกกลาวลขสทธอยางเหมาะสมและ ๏ คาบอกกลาววาไมมการรบประกน (หรอมฉะนนกบอกวาคณเองเปนผใหการรบประกน) และ ๏ บอกวาผใชสามารถเผยแพรโปรแกรมนนตอไปภายใตเงอนไขตามสญญาน และ ๏ บอกวธทผใชจะสามารถอานสาเนาของสญญาน (ขอยกเวน: ในกรณทแมตวโปรแกรมเองจะทางานในเชงโตตอบ แตตามปกตแลวจะไมมการแสดงประกาศในลกษณะดงกลาวอยกอนแลว เชนนนงานทมพนฐานจากโปรแกรมไมจาเปนตองแสดงประกาศใดๆ)

เกณฑเหลานใชบงคบตองานดดแปลงโดยรวมทงหมด ในกรณของสวนทจาแนกออกมาไดสวนใดอนมไดดดแปลงมาจากโปรแกรม และสามารถถอไดวาเปนงานอสระตางหากออกไปดวยเหตอนสมควร เชนนนสญญาและเงอนไขของสญญานจะไมมผลบงคบใชตอสวนดงกลาว เมอคณเผยแพรสวนนนเปนงานตางหากออกไป แตเมอคณเผยแพรสวนเดยวกนนนเปนสวนประกอบของงานรวมอนเปนงานทมพนฐานจากโปรแกรม การเผยแพรงานรวมดงกลาวจะตองกระทาโดยอาศยขอความตามสญญาน โดยทสทธสาหรบบคคลทงหลายจะขยายขอบเขตครอบคลมไปตลอดงานโดยรวมทงหมด ตลอดไปจนถงแตละสวนประกอบทก ๆ สวนไมวาใครจะเปนผเขยนสวนนน

ดวยเหตขางตน ขอนมไดประสงคจะเรยกรองหรอโตแยงสทธของคณในงานทคณสรางสรรคขนมาเองทงหมด หากแตประสงคทจะใชลขสทธเพอควบคมการเผยแพรงานดดแปลงหรองานรวบรวมอนเปนงานทมพนฐานจากโปรแกรม

นอกจากน การเพยงแตนางานอนทไมไดเปนงานทมพนฐานจากโปรแกรมมาอยรวมกบโปรแกรม (หรองานทมพนฐานจากโปรแกรม) ในหนวยความจาสารองหรอสอบนทกเพอการเผยแพรเดยวกนมไดเปนเหตใหงานดงกลาวตกอยภายใตขอบเขตของสญญาน

3. คณสามารถทาซาและเผยแพรโปรแกรม (หรองานทมพนฐานจากโปรแกรมตามขอ 2) ในรปแบบ object code หรอ executable โดยอาศยขอความตามขอ 1 และ 2 ขางตน โดยมขอแมวาคณจะตองดาเนนการอยางใดอยางหนงตอไปนอกดวย:

a) มอบ source code อยางครบถวนของโปรแกรมดงกลาวในรปแบบทคอมพวเตอรอานไดไปพรอมกบโปรแกรมนน โดยท source code ดงกลาวจะตองเผยแพรโดยอาศยขอความตามขอ 1 และ 2 ขางตน ดวยสอบนทกทใชกนเปนกจวตรในการแลกเปลยนซอฟตแวร หรอ

b) แนบขอเสนอเปนลายลกษณอกษรอนมผลอยางนอยสามปวาจะมอบสาเนาอยางครบถวนของ source code ของโปรแกรมดงกลาวในรปแบบทคอมพวเตอรอาน ไดแกบคคลทงหลาย โดยคดราคาไมมากไปกวาตนทนในทางกายภาพของคณในการดาเนนการเผยแพร source code โดยท source code ดงกลาวจะตองเผยแพรโดยอาศยขอความตามขอ 1 และ 2 ขางตน ดวยสอบนทกทใชกนเปนกจวตรในการแลกเปลยนซอฟตแวร หรอ

c) แนบขอมลทคณไดรบถงขอเสนอในการเผยแพร source code ของโปรแกรมดงกลาว. (ทางเลอกนใชไดเฉพาะกรณการเผยแพรทไมเปนการคา อกทงคณกไดรบโปรแกรมในรปแบบ object code หรอ executable ดวยขอเสนอเชนวาอยางถกตองตามขอยอย b ขางตน)

Page 409: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 423

คาวา source code ของงานหนงงานใดหมายถงงานนนในรปแบบทเหมาะสมทสดสาหรบการทาการดดแปลง สาหรบงานในรปแบบ executable คาวา source code อยางครบถวนหมายถง source code ทงหมดของทก module ในงานนน รวมถง interface definition file ใดๆ ทเกยวของ รวมถง script ทใชในการควบคมการคอมไพล และการตดตง executable นน. อยางไรกตาม ในฐานะขอยกเวนพเศษ source code ทเผยแพรไมจาเปนตองรวมไปถงสงใดกตาม (ไมวาจะอยในรปแบบ source code หรอ binary) ทปกตจะไดรบมาพรอมกบสวนประกอบหลก (compiler, kernel และอนๆ ในทานองเดยวกน) ของระบบปฏบตการทใชรน executable นน เวนแตวาสวนประกอบนนจะประกอบไปเปนสวนหนงใน executable ดงกลาวเอง

ในกรณทการเผยแพร executable หรอ object code กระทาโดยการเสนอใหสามารถเขาถงสาเนาของโปรแกรมจากตาแหนงทระบ การเสนอทเสมอภาคกนใหสามารถเขาถงสาเนาของ source code จากทเดยวกนถอไดวาเปนการเผยแพร source code แลว ถงแมวาบคคลอนจะไมมเหตจาเปนอนใดทจะตองรบ source code ไปดวยพรอมกบ object code

4. คณไมสามารถทาซา ดดแปลง ใหชวงสญญา หรอเผยแพรโปรแกรม เวนแตจะปฏบตตามทไดกาหนดไวโดยชดแจงในสญญาน. ความพยายามอนใดทจะทาซา ดดแปลง ใหชวงสญญา หรอเผยแพรโปรแกรมถอเปนโมฆะ และจะเปนการยตสทธของคณตามสญญานโดยอตโนมต อยางไรกตาม บคคลทไดรบสาเนาหรอสทธจากคณตามสญญาน จะไมถกยกเลกสญญาตราบใดทบคคลนนยงคงปฏบตตามสญญาอยางเครงครด

5. คณไมจาเปนตองยอมรบสญญาน เนองจากคณไมไดลงนาม แตอยางไรกตาม ไมมอะไรนอกจากนทอนญาตใหคณดดแปลงหรอเผยแพรโปรแกรมหรองานดดแปลงจากโปรแกรม การกระทาดงกลาวตองหามตามกฎหมายถาหากคณไมยอมรบสญญาน ดงนน โดยการดดแปลงหรอเผยแพรโปรแกรม (หรองานทมพนฐานจากโปรแกรม) คณไดแสดงใหเหนแลวถงการยอมรบสญญาน รวมทงขอกาหนดและเงอนไขทงหมดในการทาซา เผยแพร หรอดดแปลงโปรแกรม หรองานทมพนฐานจากโปรแกรม เพอทจะกระทาเชนนน

6. ในแตละครงทคณเผยแพรโปรแกรม (หรองานทมพนฐานจากโปรแกรม) ตอไป ผรบจะไดรบอนญาตโดยอตโนมตจากเจาของสทธใหสามารถทจะทาซา เผยแพร หรอดดแปลงโปรแกรม ภายใตขอกาหนดและเงอนไขของสญญาน คณไมสามารถวางขอจากดเพมเตมตอการใชสทธของผรบทไดมอบไปตามน คณไมตองรบผดชอบภาระในการบงคบการปฏบตตามสญญาของบคคลอน

7. ในกรณทมเงอนไขอนเนองมาจากการพพากษาของศาลหรอขอกลาวหาในการละเมดสทธบตรหรอจากเหตผลอนใด (โดยไมจากดเฉพาะประเดนเกยวกบสทธบตร) มาบงคบตอคณ (ไมวาจะโดยคาสงของศาล ขอตกลงหรอขอตกลงในทางตรงกนขาม) ในลกษณะทขดตอเงอนไขของสญญาน เงอนไขเชนนนไมสามารถยกเวนคณออกจากเงอนไขของสญญาน ถาหากคณไมสามารถดาเนนการเผยแพรเพอทจะปฏบตตามภาระของคณในสญญาน และภาระผกพนทเกยวของอนใดพรอมไปดวยกน ผลกคอคณจะเผยแพรโปรแกรมไมไดโดยเดดขาด ตวอยางเชน หากมสญญาอนญาตใหใชสทธตามสทธบตรฉบบใดฉบบหนงไมเปดโอกาสใหบคคลทงหมดทไดรบสาเนาของโปรแกรมจากคณ ไมวาจะโดยตรงหรอโดยออม แจกจายโปรแกรมตอไปไดโดยไมคดคาธรรมเนยม เชนนนแลวหนทางเดยวทคณจะปฏบตตามเงอนไขนนและสญญานไปไดพรอมกน คอคณจะตองงดเวนจากการเผยแพรโปรแกรมอยางสนเชง

หากมสวนใดของขอนกลายเปนโมฆะหรอไมมผลบงคบภายใตพฤตการณเฉพาะกรณใด สญญาประสงคใหใชสวนทเหลออยของขอนบงคบในกรณเชนนน และใหใชขอนโดยรวมทงหมดบงคบในพฤตการณอนๆ

Page 410: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

424 สรางอนเทอรเนตเซรฟเวอรดวย Linux

จดประสงคของขอนมไดเปนการชกชวนใหคณละเมดการอางสทธในสทธบตรหรอทรพยสทธใดๆ หรอโตแยงความถกตองตามกฎหมายในการอางสทธเชนนน จดประสงคเพยงประการเดยวของขอน คอการปกปองบรณภาพของระบบเผยแพรซอฟตแวรเสร ซงดาเนนโดยการปฏบตตาม public license ผคนมากมายไดเออเฟอผลงานสนบสนนเขาสสารพนของซอฟตแวรทเผยแพรผานระบบดงกลาว โดยอาศยความไววางใจวาระบบจะทางานอยางเปนธรรม ทงหมดนขนอยกบผเขยน/ผสนบสนนทจะตดสนใจวาเขาหรอเธอสมครใจจะเผยแพรซอฟตแวรผานระบบอนมากกวาหรอไม โดยททางฝายผรบไมวาจะเปนใครกไมสามารถจากดการตดสนใจนนไดเลย

ขอนมเจตนาทจะสรางความกระจางแกสงทเชอวาจะเปนผลจากสวนทเหลอของสญญา 8. ในกรณทมการควบคมการเผยแพรและ/หรอการใชโปรแกรมในประเทศใดประเทศหนง ไมวาจะโดย

สทธบตร หรอโดยลขสทธในการตอประสานกบผใช เจาของลขสทธตนฉบบซงเปนผออกโปรแกรมภายใตสญญานสามารถเพมขอจากดในการเผยแพรตามแตพนททางภมศาสตรอยางชดแจงใหขดวงประเทศเหลานนออกไป เพอทวาการเผยแพรจะอนญาตใหกระทาไดแตเฉพาะภายในหรอระหวางประเทศทไมไดตดออกดวยเหตดงกลาว ในกรณเชนน สญญานจะหมายรวมไปถงขอจากดดงกลาวเสมอนกบวาไดเขยนขอจากดนนไวในเนอหาของสญญา

9. Free Software Foundation สามารถออก General Public License เวอรชนปรบปรงและ/หรอเวอรชนใหมไดเปนครงคราว สญญาเวอรชนใหมเชนวาจะยงคงสาระสาคญในทานองเดยวกนกบเวอรชนปจจบน แตอาจจะแตกตางออกไปในรายละเอยดเพอจดการกบปญหาหรอภาระทเกดขนใหม

สญญาแตละเวอรชนจะมเลขเวอรชนทหมายใหแตกตางกนออกไป หากโปรแกรมระบหมายเลขเวอรชนของสญญาทใชกบโปรแกรมพรอมทง "เวอรชนตอๆ ไป" คณจะมทางเลอกทจะปฏบตตามขอกาหนดและเงอนไขของสญญาไมวาเวอรชนนนหรอเวอรชนตอๆ ไปทออกโดย Free Software Foundation หากโปรแกรมมไดระบหมายเลขเวอรชนของสญญา คณสามารถเลอกสญญาเวอรชนไหนกไดทออกโดย Free Software Foundation

10. หากคณประสงคจะนาสวนประกอบของโปรแกรมไปรวมอยในซอฟตแวรเสรโปรแกรมอนทมเงอนไขในการเผยแพรทแตกตางออกไป คณจะตองเขยนขออนญาตจากผสรางสรรคเปนลายลกษณอกษร ในกรณของซอฟตแวรทเปนลขสทธของ Free Software Foundation กใหคณเขยนไปถง Free Software Foundation เนองจากบางครงเรากมการผอนปรนบางสาหรบกรณเชนน ทศทางในการตดสนใจของเราจะขนอยกบเปาหมายสองประการ คอเพอดารงรกษาความเสรในงานทงหมดทดดแปลงจากซอฟตแวรเสรของเรา และในภาพกวาง คอเพอสงเสรมการแบงปนและการนากลบมาใชใหมของซอฟตแวร

ไมมการรบประกน 11. เนองจากโปรแกรมไดรบการอนญาตใหใชไดโดยไมคดมลคา เหตนจงไมมการรบประกนใดๆ ตอ

โปรแกรม ไปจนถงขอบเขตเทาทกฎหมายทเกยวของจะอานวย เจาของลขสทธและ/หรอบคคลอนสงมอบโปรแกรม "ตามลกษณะปจจบน" โดยปราศจากการรบประกนในลกษณะใดๆ ไมวาโดยแจงชดหรอโดยปรยาย รวมถงแตไมจากดเพยงการรบประกนโดยปรยายถงความเหมาะสมในการวางตลาด หรอความเหมาะสมในวตถประสงคโดยเฉพาะอยางใดอยางหนง ทงนเวนแตจะไดระบเอาไวเปนอยางอนเปนลายลกษณอกษร คณเปนผรบความเสยงทงหมดในเรองคณภาพหรอประสทธภาพของโปรแกรม หากปรากฏความจรงวาโปรแกรมชารดบกพรอง คณจะเปนผรบภาระตนทนในการบารงรกษา ซอมแซม หรอแกไขเทาทจาเปนทงหมด

Page 411: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 425

12. ไมมกรณใดๆ เวนแตทบงคบโดยกฎหมายทเกยวของหรอทตกลงกนไวเปนลายลกษณอกษร ทเจาของลขสทธหรอบคคลอนใดผซงดดแปลงและ/หรอเผยแพรโปรแกรมตอไปตามทไดอนญาตไวขางตน จะตองรบชดใชความเสยหายทงหลายตอคณ รวมถงความเสยหายโดยทวไป โดยเฉพาะ โดยบงเอญ หรอโดยเนองมาแตเหต อนเปนผลมาจากการใชหรอความไมสามารถในการใชโปรแกรม (รวมถงแตไมจากดเพยงการสญเสยของขอมล หรอการทขอมลถกทาใหผดพลาด หรอความเสยหายอนคณหรอบคคลอนไดรบ หรอความลมเหลวของโปรแกรมในการทางานรวมกบโปรแกรมอน) ถงแมวาเจาของลขสทธหรอบคคลอนดงกลาวขางตนจะไดรบการแจงเตอนถงความเปนไปไดของความเสยหายเชนวาแลวกตาม

จบขอกาหนดและเงอนไข

®–„™È¢ÈÕ —≠≠“π’È°—∫‚ª√·°√¡„À¡Ë¢Õߧÿ≥‰¥Èլ˓߉√ หากคณพฒนาโปรแกรมใหมขนมาโปรแกรมหนง และคณตองการใหโปรแกรมนนเปนประโยชนตอ

สาธารณชนมากทสดเทาทจะเปนไปได วธทดทสดทคณจะบรรลความตองการนได คอทาใหโปรแกรมนนเปนซอฟตแวรเสรซงทกๆ คนสามารถจาหนายจายแจกและดดแปลงแกไขไดตามขอกาหนดในสญญาน

วธการคอตดคาบอกกลาวขางลางนไปกบโปรแกรมนน ทางทปลอดภยทสด คอใสคาบอกกลาวนไวในตอนตนของแตละ source file เพอเปนการแสดงถงความปราศจากการรบประกนอยางไดผลทสด และแตละไฟลควรจะมขอความ "copyright" อยางนอยหนงบรรทดพรอมทงบงชวาจะหาคาบอกกลาวลขสทธอยางเตมรปแบบไดทไหน

one line to give the program's name and an idea of what it does.Copyright (C) 19yy name of author

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

จากนนตามดวยขอมลเพอการตดตอถงคณทาง email และจดหมาย ในกรณทโปรแกรมทางานเชงโตตอบ ทาใหโปรแกรมแสดงคาบอกกลาวแบบขางนเมอเรมตนทางานใน

ภาวะเชงโตตอบ

Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.

Page 412: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

426 สรางอนเทอรเนตเซรฟเวอรดวย Linux

คาสงสมมต 'show w' และ 'show c' ควรจะแสดงสวนทเกยวของใน General Public License ตามความเหมาะสม. คาสงทคณใชจรงๆ อาจจะเปนชออนทไมใช 'show w' และ 'show c' หรอบางทอาจจะเปนการคลกเมาสหรอหวขอในเมน ตามแตทเหมาะสมกบโปรแกรมของคณ

นอกจากน ถาเขาขายและจาเปน คณควรจะใหนายจาง (ถาคณทางานเปนโปรแกรมเมอร) หรอโรงเรยนของคณลงนามใน "copyright disclaimer" สาหรบโปรแกรมคณ โดยอาจจะดจากตวอยางขางลางน และแกชอตามกรณของคณ

Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.

signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

General Public License ไมเปดโอกาสใหนาโปรแกรมของคณเขาไปใชใน proprietary software.ในกรณทโปรแกรมของคณเปน subroutine library คณอาจจะเหนวาการเปดโอกาสให link โปรแกรมเชนนนกบ library ของคณนาจะเกดประโยชนมากขน ถาหากคณตองการทาเชนนนกใหใช GNU Library General Public License แทนทจะใชสญญาน

GPL µÈπ©∫—∫¿“…“Õ—ß°ƒ… คดลอกจาก http://www.gnu.org/copyleft/gpl.html (สาเนาอยท http://linux.thai.net/gpl-eng.html)

GNU GENERAL PUBLIC LICENSE Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

Page 413: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 427

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

Page 414: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

428 สรางอนเทอรเนตเซรฟเวอรดวย Linux

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

Page 415: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 429

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncom–mercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

Page 416: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

430 สรางอนเทอรเนตเซรฟเวอรดวย Linux

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PER–FORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE

Page 417: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 431

THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best

way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

Copyright (C) 19yy

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.

The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.

, 1 April 1989 Ty Coon, President of Vice

Page 418: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

432 สรางอนเทอรเนตเซรฟเวอรดวย Linux

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

4. General BSD License BSD License เปนการกาหนดลขสทธอกแบบหนง ทเปนทนยมใชกนในวงการซอฟตแวร Open Source

พอสมควร ตนกาเนดจากคอ ซอฟตแวร BSD Unix ทพฒนาโดยมหาวทยาลยเบรกเลย แคลฟอรเนย เนอหาจะมความเครงครดนอยกวา GPL โดยไมมลกษณะเปน Copyleft เหมอน GPL เปดโอกาสใหผใชนาซอฟตแวรไปใชไดอยางอสระกวา ลขสทธแบบ BSD มการแตกแยกออกไปอกหลายแบบ เชน Xfree86 License ในกรณน ขอยก ตวอยาง BSD License แบบทวๆ ไป

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

5. XFree86 License (ตนฉบบท http://www.xfree86.org/3.3.2/COPYRIGHT1.html )

XFree86 code without an explicit copyright is covered by the following copyright: Copyright (C) 1994-1998 The XFree86 Project, Inc. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Page 419: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 433

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONIN–FRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the XFree86 Project shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the XFree86 Project.

6. ∑’¡ß“π หนงสอเลมนแตงขนโดยผเขยน 8 ทาน ซงประกอบดวยนกวจยจากหองปฏบตการเครอขายคอมพวเตอร

ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต และไดรบเกยรตจาก ดร.ทวศกด กออนนตกล ผอานวยการศนยฯ กลาวนาในภาคท 1 (คานยม) และยงไดถายทอดประสบการณในดานการจดซออปกรณเครอขายฯ ลงในภาคท 11 (คาแนะนาในการจดซออปกรณเครอขาย) ดวย ขอขอบคณมา ณ ทน

รายชอผเขยนสามารถแสดงไดดงน

ภาคท 1 คานยม ดร. ทวศกด กออนนตกล

ภาคท 2 บทนา ภทระ เกยรตเสว

ภาคท 3 เทคโนโลยเครอขายอนเทอรเนต บทท 1 เทคโนโลยเครอขายเบองตน ไพศาล เกยรตธนานนท, ภทระ เกยรตเสว บทท 2 DNS องคณา องคลกขณา, ภทระ เกยรตเสว บทท 3 สถาปตยกรรม Client/Server ภทระ เกยรตเสว

ภาคท 4 Linux เบองตน ภทระ เกยรตเสว บทท 4 ระบบปฏบตการแบบ Unix บทท 5 ระบบปฏบตการ Linux บทท 6 ความเปนมาของ Linux บทท 7 จดเดนของ Linux บทท 8 คณสมบตของ Linux บทท 9 ความตองการดานฮารดแวร บทท 10 การตดตง Linux บทท 11 การใชงาน Linux เบองตน

Page 420: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

434 สรางอนเทอรเนตเซรฟเวอรดวย Linux

ภาคท 5 Linux-SIS ภทระ เกยรตเสว บทท 12 แนะนา Linux-SIS บทท 13 การตดตง Linux-SIS เวอรชน 3.0 บทท 14 การใชงาน Linux-SIS เบองตน บทท 15 การเชอมตออนเทอรเนตแบบผใช (หมนโมเดม) โดยใช Linux-SIS บทท 16 การเชอมตอ Linux-SIS เขากบเครอขายภายในของโรงเรยนกรณเชอมตออนเทอรเนตแบบ

โหนด บทท 17 การดแลรกษาเครอง Linux-SIS บทท 18 การใช Web Admin Tool บทท 19 การอปโหลดขอมล Web Page ส Linux-SIS บทท 20 โครงสรางทางเทคนคของ Linux-SIS

ภาคท 6 การตดตงและใชงาน Internet Server บทท 21 WWW Server: Apache และ Apache/SSL ศรเพญ วกยสขสกล, ภทระ เกยรตเสว บทท 22 Proxy/Cache Server: Squid ศรเพญ วกยสขสกล, ภทระ เกยรตเสว บทท 23 DNS Server: Bind ภทระ เกยรตเสว บทท 24 SMTP Server: Sendmail ภทระ เกยรตเสว บทท 25 POP/IMAP Server: University of Washington ภทระ เกยรตเสว บทท 26 Mailing List Server: Majordomo ศรเพญ วกยสขสกล บทท 27 RADIUS: Livingston ทวศกด ชยรตนายทธ, ภทระ เกยรตเสว บทท 28 การใชงานฐานขอมลดวย MySQL ศรเพญ วกยสขสกล บทท 29 DHCP Server ภทระ เกยรตเสว บทท 30 Server เพมเตมอนๆ : News, File&Print, FTP ภทระ เกยรตเสว

ภาคท 7 ซอฟตแวรชวยงานเพมเตม บทท 31 MRTG ศรเพญ วกยสขสกล บทท 32 Webmin ภทระ เกยรตเสว บทท 33 Mirror package ภทระ เกยรตเสว บทท 34 เครองมอชวยในการวเคราะหสาเหตของปญหาทางเครอขาย องคณา องคลกขณา,

ภทระ เกยรตเสว บทท 35 เครองมอชวยในการวเคราะหประสทธภาพของเครอขาย ดร.ศกด เสกขนทด,

ภทระ เกยรตเสว

Page 421: หนังสือทั้งเล่ม (PDF format, 14.5 MB)

ภาคผนวก 435

ภาคท 8 การรกษาความปลอดภยของเครอขาย บทท 36 ความปลอดภยของระบบเบองตน ภทระ เกยรตเสว บทท 37 TCP Wrapper ภทระ เกยรตเสว บทท 38 Firewall: lpfwadm ภทระ เกยรตเสว บทท 39 IP Masquerade ภทระ เกยรตเสว บทท 40 Transparent Proxy ภทระ เกยรตเสว บทท 41 One Time Password (OPIE) ภทระ เกยรตเสว บทท 42 Secure Shell (SSH) ศรเพญ วกยสขสกล

ภาคท 9 การสราง Web Page ราชบดนทร สวรรณสนต บทท 43 การสราง Web Page อยางงาย บทท 44 ขอแนะนาในการเขยนภาษา HTML

ภาคท 10 การใชงาน Linux ในแบบ Desktop จรพล มทวพนธ บทท 45 ระบบ X Window

ภาคท 11 คาแนะนาในการจดซออปกรณเครอขาย ดร.ทวศกด กออนนตกล บทท 46 ตวอยางรางขอกาหนดงานจดซอระบบเคเบล และอปกรณกระจายสญญาณเครอขาย

คอมพวเตอร บทท 47 ตวอยางรางของขอกาหนดงานจดซออปกรณ Internet Server

บรรณาธการ : นายภทระ เกยรตเสว

∑’¡ß“πæ—≤π“´ÕøµÏ·«√Ï Linux-SIS ‡«Õ√Ï™—π 3.0 ศภโชค จนทรประทน ([email protected]) LOGO และ Graphics designer นรารตน เรองชยจตพร ([email protected]) Graphical User Interface of Web Admin Tool ศรเพญ วกยสขสกล ([email protected]) Developer ทวศกด ชยรตนายทธ ([email protected]) Developer ภาว หลอสวรรณรตน ([email protected]) Developer ภทระ เกยรตเสว ([email protected]) Developer และ Coordinator

โปรดอานรายละเอยดเพมเตมเกยวกบทมงานไดในไฟล CREDITS ในแผน Linux-SIS 3.0 CD-ROM