ทางเลือกใหม่ที่จะเข้าสู่อินเตอร์เน็ตด้วย Linux
โดย ธีรภัทร มนตรีศาสตร์
ในปัจจุบัน Linux เป็นระบบปฏิบัติการที่กำลังได้รับความสนใจเพิ่มขึ้นอย่างมาก เนื่องจากมีการแจกจ่าย ให้แก่ผู้ใช้โดยไม่เสียค่าใช้จ่าย นอกจากนี้ยังมีซอฟต์แวร์ประเภทต่าง ๆ สนับสนุนเป็นจำนวนมาก จึงมีการนำลีนุกซ์ มาใช้ประโยชน์ในด้านต่าง ๆ อย่างกว้างขวาง ทั้งในงานด้านเดสทอป และระบบเครือข่าย การเชื่อมต่อเข้าสู่อินเตอร์เน็ตเป็นการนำลีนุกซ์มาใช้ประโยชน์ได้ทั้งในฐานะเครื่องเดสทอป คือ ใช้งาน อินเตอร์เน็ตทั่วไป หรือในฐานะของเซิร์ฟเวอร์ เช่น คอนเน็คเข้าสู่อินเตอร์เน็ตเพื่อรับส่งอีเมล์ หรือเป็นอินเตอร์เน็ต เกตเวย์ ซึ่งสามารถทำได้หลายวิธี เนื่องจากมีโปรแกรมที่ช่วยจัดการเกี่ยวกับการเชื่อมต่อเข้าสู่อินเตอร์เน็ตนี้เป็นจำนวนมาก เช่น การใช้โปรแกรม Linuxconf , โปรแกรม kppp ที่มาพร้อมกับ KDE หรือ RH3 ทีมาพร้อมกับ GNOME ซึ่งโปรแกรมทั้งหลายเหล่านี้ ล้วนแล้วแต่ช่วยอำนวยความสะดวกให้แก่ผู้ใช้ โดยมีลักษณะเป็นเมนู หรือไดอะล๊อกช่วยให้สามารถคอนฟิกได้ง่าย และ รวดเร็ว แต่ในที่นี่จะเสนออีกวิธีหนึ่ง โดยใช้โปรแกรมในระดับ Console คือ โปรแกรม wvdial ( ออกเสียงว่า "วีฟไดอัล" )การเชื่อมต่อเข้าสู่ ISP ด้วย wvdial
ในกรณีที่ต้องการเชื่อมต่อเข้าสู่ Internet Service Provider โดยการใช้โมเด็ม จะต้องทำการสั่งงาน โมเด็มผ่าน Daemon ชื่อ pppd ซึ่งจะควบคุมการสื่อสารกับฝ่ายตรงกันข้าม ด้วยโปรโตคอล PPP การสั่งงาน pppd สามารถกระทำได้หลายวิธี เช่น การใช้โปรแกรม kppp ซึ่งเป็นซอฟต์แวร์ที่รันบน KDE จึงต้องอาศัยการทำงานบนระบบ X Window ทำให้ไม่เหมาะสมกับการสั่งให้เชื่อมต่อเข้าสู่อินเตอร์เน็ตจาก Console ,จาก Script หรือแบบตั้งเวลาไว้ล่วงหน้าโปรแกรม wvdial - Dial-up Networking for Linux
โปรแกรม wvdial เป็นโปรแกรมที่ทำหน้าที่ควบคุมการติดต่อกับ ISP ผ่าน pppd โดยสั่งงานผ่าน Text Console และการเขียน Script ได้ มีส่วนประกอบ 2 ส่วน คือ 1. ส่วนตัวโปรแกรม wvdial เอง ซึ่งจะอยู่ที่ /usr/bin/wvdial และ /usr/bin/wvdialconf 2. Configuration File ของ wvdial คือ /etc/wvdial.conf เราสามารถตรวจสอบการติดตั้งโปรแกรม wvdial นี้ได้ด้วยคำสั่ง rpm ดังนี้
ก่อนที่จะใช้งาน wvdial จะต้องเตรียมการต่าง ๆ เสียก่อน ดังนี้ 1. ติดตั้งโมเด็มเข้ากับเครื่องคอมพิวเตอร์ และเปิดโมเด็มไว้ด้วย 2. ล๊อกอินเข้าระบบในฐานะ root แล้วเรียกโปรแกรม wvdialconf เพื่อสร้าง Configuration File ขึ้นดังนี้
โปรแกรม wvdialconf จะทำการตรวจค้นหาโมเด็มที่ต่ออยู่ที่พอร์ตอนุกรม แล้ววิเคราะห์หาค่า Initialize String ที่เหมาะสมโดยอัตโนมัติ จากนั้นจะสร้างแฟ้ม /etc/wvdial.conf ขึ้นเอง
Scanning your serial ports for a modem port scan <*1> : S0 tty S1 <*1> : ATQ0 V1 E1 - - OK tty S1 <*1> : ATQ0 V1 E1 Z - - OK tty S1 <*1> : ATQ0 V1 E1 S0=0 - - OK tty S1 <*1> : ATQ0 V1 E1 S0=0&C1 - - OK tty S1 <*1> : ATQ0 V1 E1 S0=0&D2 - - OK tty S1 <*1> : ATQ0 V1 E1 S0=0&C1 S11 = 55 - - OK tty S1 <*1> : ATQ0 V1 E1 S0=0&C1 S11 = 55 +FCLASS - - OK ttyS1<*1> : Modem Identifier : ATI - - 336 ttyS1<*1> : speed 2400 : AT - - OK ttyS1<*1> : speed 4800 : AT - - OK ttyS1<*1> : speed 9600 : AT - - OK ttyS1<*1> : speed 19200 : AT - - OK ttyS1<*1> : speed 38400 : AT - - OK ttyS1<*1> : speed 57600 : AT - - OK ttyS1<*1> : speed 115200 : AT - - OK ttyS1<*1> : Max speed is 115200 ; that should be safe. ttyS1<*1> : AT Q0 V1 E1 S0=Q &C1 &D2 S11 = SS + FCLASS =0 - - OK Port Scan <*1> : S3 Found a modem on /dev/ttyS1 /etc/wvdial conf : Can't read config file /etc/wvdial.conf : No such file or directory ttyS1 < Info > : speed 115200; init "ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 + FCLASS=0"
3. ใช้ Text Editor เช่น pico เปิดแฟ้ม /etc/wvdial.conf ขึ้น จะเห็นข้อความภายในดังนี้
pico /etc/wvdial.conf
ข้อความที่ wvdialconf สร้างขึ้นในแฟ้ม wvdial.conf [Dialer Defaults] Modem = /dev/ttyS1 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 ; Phone = ; Username = ; Password =
4. แก้ไขข้อความส่วนที่เกี่ยวกับ Username ,Password และ Phone ให้ตรงกับ Internet Account ที่ต้องการใช้งาน
[Dialer Defaults] Modem = /dev/ttyS1 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 Phone = 5516000 Username = myloginname Password = secretword
5. เมื่อต้องการใช้งานให้เรียกคำสั่ง wvdial จาก Console ได้โดยตรง
wvdial
wvdial จะเริ่มสั่งให้โมเด็มโทรออกไปยังเลขหมายที่กำหนดไว้ในแฟ้ม wvdial.conf และทำการเชื่อมต่อเข้ากับทางผู้ให้บริการอินเตอร์เน็ต ดังรูป
- - > WwDial : Internet dialer version 1.41 - - > Initializing modem - - > sending : ATZ ATZ OK - - > sending : ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 ATQ0 V1 E1 S0=Q &C1 &D2 S11=55 +FCLASS=0 OK - - > Modem initialized. - - > sending:ATDT 5516000 - - > Waiting for carrier. ATDT 5516000 CONNECT 115200/V42BIS - - > Carrier detected. Waiting for prompt . Welcome to INTERNET KSC Username: - - > Looks like a login prompt . - - > sending : nutnok nutnok1 password: - - > Looks like a password prompt . - - > Sending : ( Password ) - - > Don't know what to do ! Starting pppd and hoping for the best . - - > Starting pppd at Mon Mar 26 17:34:56 2001
6. เมื่อเชื่อมต่อได้สำเร็จแล้ว ให้เปิด Virtual Terminal ขึ้นใหม่ โดยกด Alt-F2 จะเป็นการเปิด tty2 แล้วล๊อกอินเป็น root 7. ทดลองใช้คำสั่ง route -n เพื่อตรวจสอบการทำงานของ pppd หาก pppd ทำงานจะเห็น route ของ device ที่ชื่อ ppp0 ปรากฏขึ้นดังรูป
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 203.155.35.227 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 203.155.35.227 0.0.0.0 UG 0 0 0 ppp0
8. เนื่องจากการท่องไปในเครือข่ายอินเตอร์เน็ตจำเป็นต้องอาศัยการ resolve ชื่อโดเมนเนมจากโดเมนเนมเซิร์ฟเวอร์ ( DNS Server ) จึงต้องกำหนดค่าไอพีแอดเดรสของโดเมนเนมเซิร์ฟเวอร์ของผู้ให้บริการอินเตอร์เน็ตให้แก่ลีนุกซ์ ด้วย โดยใส่ใว้ในแฟ้ม /etc/resolv.conf ดังนี้
pico /etc/resolv.conf
nameserver 203.155.33.1 nameserver 202.44.144.33
จากตัวอย่างเป็นหมายเลขไอพีแอดเดรสของ DNS Server ของ KSC 9. หลังจากบันทึกแฟ้ม /etc/resolv.conf แล้ว ให้ทดสอบโดยการ ping ไปยังเว็ปไซต์อะไรก็ได้ เช่น www.yahoo.com เป็นต้น
ping www.yahoo.com -i15 PING www.yahoo.akadns.net (204.71.200.74) from 203.155.129.178 : 56(84) bytes of data. 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=0 ttl=242 time=929.3 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=1 ttl=242 time=839.9 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=2 ttl=242 time=930.0 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=3 ttl=242 time=869.9 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=4 ttl=242 time=920.0 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=5 ttl=242 time=869.9 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=6 ttl=242 time=920.0 ms 64 bytes from www9.yahoo.com (204.71.200.74): icmp_seq=7 ttl=242 time=919.9 ms --- www.yahoo.akadns.net ping statistics --- 9 packets transmitted, 9 packets received, 0% packet loss round-trip min/avg/max = 839.9/902.0/930.0 ms
เนื่องจากคำสั่ง ping จะกระทำอย่างต่อเนื่อง ดังนั้นจึงเป็นการช่วยให้เกิดการติดต่อไปยังผู้ให้บริการ อินเตอร์เน็ตอย่างต่อเนื่อง เปรียบเสมือนการใช้โปรแกรมประเภท Stay Connect ซึ่งช่วยให้ปัญหาที่ คอนเน็คชั่นจะถูกตัดลดน้อยลงได้ 10. ในขณะนี้การเชื่อมต่ออินเตอร์เน็ตได้เสร็จสมบูรณ์แล้ว พร้อมที่จะใช้งานได้ หากต้องการใช้งานใน X Window ก็สามารถเข้าสู่ X Window ด้วยคำสั่ง startx และใช้งาน Netscape Communicator ได้ทันที
การปรับแต่งให้มีตัวเลือกในการเชื่อมต่อผู้ให้บริการอินเตอร์เน็ต
หากมี Internet Account จำนวนมากกว่า 1 แห่ง และต้องการเลือกใช้งานได้ สามารถแบ่งคอนฟิกของ wvdial.conf ออกเป็น section ย่อย ๆ ได้ดังนี้
[Dialer Defaults] Modem = /dev/ttyS1 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 [ KSC ] Phone = 5516000 Username = myloginname Password = secretword [ LOXINFO ] Phone = 7329999 Username = anothername Password = secretkey
จากตัวอย่าง แสดงให้เห็นว่ามี 2 Internet Account ชื่อ KSC และ Loxinfo ซึ่งสามารถเลือกใช้งานได้จาก การระบุชื่อของ section ต่อท้ายคำสั่ง wvdial เช่น หากต้องการเชื่อมต่ออินเตอร์เน็ตด้วย KSC ให้เรียกคำสั่ง
wvdial ksc
เมื่อต้องการเชื่อมต่อด้วย Loxinfo ให้เรียกคำสั่ง
wvdial loxinfo
การยกเลิกการเชื่อมต่อกับผู้ให้บริการอินเตอร์เน็ต หรือออกจากโปรแกรม wvdial สามารถทำได้โดย กด Ctrl-C เพื่อออกจากโปรแกรม หรือ จะใช้วิธี Kill Process ที่ wvdial กำลังทำงานอยู่ก็ได้
killall wvdial
หลังจากที่ได้ทดลองใช้งาน wvdial แล้ว จะเห็นได้ว่ามีความสะดวกในการคอนฟิกพอสมควร รวมทั้งยังมี ความแม่นยำในการคอนเน็คดีกว่า kppp ของ KDE และข้อสำคัญคือมีความยืดหยุ่นในการประยุกต์ใช้งานมากกว่า เนื่องจากสามารถเรียกใช้งานได้จาก script ที่เราเขียนขึ้นได้นั่นเอง
ที่มา : http://www.itdestination.com/articles/wvdial/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น