Mini Howto Subject: การติดตั้งใช้งาน mgetty+sendfax เพื่อให้รับ AutoPPP By: Panya Sanmuk Date:June 28, 1998 Update from : - License: สงวนลิขสิทธิ์เอกสารนี้ โดย ปัญญา แสนมุข การเผยแพร่เอกสารนี้จะต้องอยู่ภายไต้ เงื่อนไขของ GNU General Public License เวอร์ชั่น 2.0 ที่ออกโดย Free Sofware Foundation กรุฒาอ่านรายละเอียดของ GPL ที่ Introduction: แม้ว่า Linux ทุกเครื่องจะสามารถรับการติดต่อทางพอร์ตสื่อสารได้อยู่แล้ว โดยใช้ uugetty หรือ agetty ที่มักจะติดตั้งมาพร้อมแล้วเมื่อติดตั้ง Linux เพียงแต่ไม่มีคุณสมบัติที่พิเศษมากนักโดยเฉพาะอย่างยิ่ง การทำให้สามารถรองรับการติดต่อเข้ามาหลายแบบ ทั้งแบบ Manual Login และแบบ Auto PAP (Password Authentication Protocol) ซึ่งเป็นที่นิยมมากโดยเฉพะจากการติดต่อจากเครื่องที่เป็น Window 95 ถึงแม้ว่าทั้ง uugetty และ agetty สามารถทำได้อยู่แล้วก็ตาม แต่ก็มีความยุ่งยากในการกำหนดค่าต่างๆ จึงมักจะสร้างปัญหา ให้กับผู้เริ่มศึกษา Linux ไม่น้อย อีกทั้ง mgetty สามารถทำงานได้ทั้งแบบ Manual Login และ PAP จึงสามารถที่จะติดตั้งแทน agetty หรือ uugetty ได้โดยไม่มีปัญหา Prerequirement: โปรแกรม mgetty+sendfax พัฒนาขึ้นโดย Gert Doering ชาวเยอรมัน สามารถหา mgetty+sendfax ได้ที่ หรือที่ การติดตั้งโปรแกรม mgetty+sendfax หลังจาก download โปรแกรมมาแล้วสมมัติเป็นรุ่น mgetty1.1.9-Aug17.tar.gz และเก็บไว้ที่ /usr/src/ ก็ให้แตกออก ดังนี้ # tar zxvf mgetty1.1.9-Aug17.tar.gz จากนั้นก็จะได้ directory ชื่อว่า /usr/src/mgetty-1.1.9/ ก็ให้เข้าไปใน directory เพื่อติดตั้งโปรแกรมตามขั้นตอนดังนี้ # cd mgetty-1.1.9 # cp policy.h-dist policy.h เมื่อได้ policy.h มาแล้วให้ตรวจดูว่ามาข้อความต่อไปนี้ หรือไม่ หากไม่มีก็ให้ใส่เพิ่มหรือแก้ไขให้ตรง หรือสามารถกำหนดตามความต้องการของผู้ใช้ก็ได้ #define MGETTY_CONFIG "mgetty.config" กำหนดว่าจะให้ file ที่ใช้ในการกำหนดค่าต่าง ๆ ; ในการ run program mgetty #define LOGIN_CFG_FILE "login.config" กำหนดรายละเอียดสำหรับผู้ที่ login #define DEVICE_GROUP "modem" ; กำหนด group ผู้ใช้งาน หากยังไม่ต้องกำหนด ; ใหม่โดยใช้คำสั่ง groupadd -g modem ; โดยที่ หมายถึง group_id ที่ท่านต้องกำหนดเอง ; เช่น groupadd -g 500 modem #define DEFAULT_PORTSPEED 115200 ; กำหนด speed ของ DTE (ไม่ใช่ความเร็วของ MODEM) ; คือความเร็วจาก Terminal-to-Modem ซึ่งหากเป็นเครื่อง ; คอมพิวเตอร์รุ่นใหม่ที่มี UART-16450,16550 จะ set ได้ถึง ; 115200 หากคุณยังไม่แน่ใจว่าของเครื่องเป็นรุ่นไหนก็ ; ให้ set เป็น 38400 ไว้ก่อนแล้วค่อยเพิ่มขึ้นทีหลัง หลังจากนั้นก็ต้องไปแก้ไขไฟล์ Makefile เพื่อให้ mgetty รองรับการทำงานแบบ AutoPP โดยเพิ่ม -DAUTO_PPP เข้าไปที่ CFLAGS=-O2 -Wall -pipe ซึ่งจะอยู่ประมาณบรรทัดที่ 111 ซึ่งจะเป็น CFLAGS=-O2 -Wall -pipe -DAUTO_PPP จากนั้นก็ให้ Make โดย # make # make testdisk # make install รอสักครู่ การ compile เรียบร้อยแล้วพร้อมการติดตั้งไปยัง directory ที่โปรแกรมต้องการ ซึ่งจะอยู่ใน /usr/local/sbin และ /usr/local/etc จากนั้นต้องเข้าไปแก้ไขไฟล์ login.config โดย # cd /usr/local/etc/mgetty+sendfax แก้ไข login.config โดยแก้ตรงประมาณบรรทัดที่ 53 โดยแก้ไขให้เป็นดังนี้ /AutoPPP/ - ppp /usr/sbin/pppd auth login +pap -chap modem crtscts proxyarp lock จากนั้นก็ต้องไปเพิ่ม user โดยเพิ่ม ข้อความต่อไปนี้เข้าไปที่ /etc/passwd ซึ่งต้องเป็นกลุ่มเดียวกับ modem ตามที่ได้กำหนดไว้แล้ว (สมมุติให้เป็น 500) ppp:x:xxx:500:Public PPP Account:/tmp:/usr/sbin/pppd จากนั้นต้องไปแก้ไขไฟล์ /etc/inittab ซึ่งจะอยู่ที่ section Serial Lines ให้ยกเลิกรายการเดิมที่อาจเป็น agetty หรือ uugetty โดยเพิ่มรายต่อไปนี้ลงไปเช่น คุณมี modem สำหรับรอรับสายเข้า 2 ตัวโดยติดตั้งทั้ง com1 และ com2 (ttyS0,ttyS1) ก็ให้กำหนดดังนี้ s0:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyS0 s1:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyS1 หรือหากคุณใช้ Multiport Card ของ Cyclades ก็ให้กำหนดดังนี้ s0:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC0 s0:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC1 s0:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC3 ………. s0:12345:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC7 ถึงขั้นตอนนี้ ก็เป็นอันว่าคุณติดตั้งโปรแกรม mgetty+sendfax เรียบร้อยแล้วพร้อมใช้งาน โดยให้โปรแกรมเริ่มทำงานโดย # init 3 หรือ # kill -1 1 การกำหนด PPP เป็นแบบ AutoPAP ในการกำหนดให้ Linux ยอมให้ผู้ที่เข้ามาโดยโปรแกรม mgetty+sendfax ทำงานแบบ PAP ซึ่งเป็นที่นิยมกันในปัจจุบัน โดยเฉพาะเครื่องลูกข่ายที่ติดต่อเข้ามาเป็น Windows 95 จำเป็นแก้ไขไฟล์อีกอย่างน้อย 2 ไฟล์คือ /etc/ppp/options และ /etc/ppp/options.XXX ดังนี้ ไฟล์ /etc/ppp/options สำหรับกำหนดค่าต่าง ๆ ในการเชื่อมต่อแบบ PPP โดยโปรแกรมจะอ่านค่า จาก options ของแต่ละ device ก่อนเช่น options.ttyS0,options.ttyS1 เป็นต้นแล้วจึงใช้ค่าใน options นี้เพิ่มเข้าไป ดังนั้นเราจึงมักกำหนดค่าที่ทุก device ต้องกำหนดไว้ที่ options เพียงไฟล์เดียว ค่าที่กำหนดคือ -detach และอีกค่าคือ dns-addr ซึ่งเป็นการกำหนด DNS Server ให้กับ เครื่องลูกข่ายที่เป็น Windows 95 โดยกำหนดค่าให้ Server assigned nameserver address ในการกำหนดค่าใน Dial-Up Networking (ดูรายละเอียดจากการเรื่อง Networking ของ Windows 95) ซึ่งทำให้ผู้ใช้ไม่ต้องยุ่งยาก ในการกำหนดเลข IP ทั้ง Local และของ DNS Server ในค่าของ dns-addr ที่กำหนดในไฟล์ options ก็เพียงแต่ระบุเลข IP ของ DNS Server เท่านั้น เช่น NDS Server คือ 203.150.180.20 และ 202.44.202.3 ก็ให้กำหนดในไฟล์ /etc/ppp/options เป็น -detach dns-addr 203.150.180.20 dns-addr 202.44.202.3 ไฟล์ /etc/ppp/options.XXX สำหรับกำหนดว่าต้องการกำหนดให้ IP ของเครื่องลูกข่ายที่ติดต่อเข้ามาเป็น IP เบอร์อะไร ทั้งขึ้นอยู่กับว่า device ของคุณเป็นอะไรเช่น หากเป็น /dev/ttyS0 ก็ต้องเข้าไปกำหนดที่ไฟล์ options.ttyS0 หรือหากเป็น Cyclades ก็ให้ไปกำหนดที่ options.ttyC0 เป็นต้น โดยให้ใส่ค่า : เช่น IP ของเครื่อง host ที่ติดตั้ง modem สำหรับรับสายเข้า IP=203.150.181.5 และต้องการให้ เครื่องลูกข่ายเป็น IP เบอร์ 203.150.181.101 สำหรับเครื่องลูกที่เข้ามาทาง MODEM ที่ต่ออยู่กับ ttyS0 และให้ IP เบอร์ 203.150.181.102 สำหรับเครื่องลูกข่ายที่เข้ามาทาง MODEM ที่ต่ออยู่กับ ttyS1 ก็ให้กำหนดดังนี้ ไฟล์ /etc/ppp/options.ttyS0 203.150.181.5:203.150181.101 ไฟล์ /etc/ppp/options.ttyS1 203.150.181.5:203.150.181.102 สำหรับไฟล์อื่น ๆ ที่อยู่ใน /etc/ppp ไม่จำเป็นต้องใช้สำหรับการรับสายเข้าทาง MODEM แต่อย่างไร สามารลบออกหรือย้ายไปไว้อื่นก็ได้ หากต้องการใช้ภายหลัง เอกสารอ้างอิง - ขอขอบคุณ คุณพฤษภ์ บุญมา pruet@ds90.intanon.nectec.or.th และคุณจ้อน nathanan@chon.a-net.net.th - เอกสารแนะนำของ Gert Doering ที่ http://theory.uwinnipeg.ca/localfiles/infofiles/mgetty.html - Cyclade Cyclom ดูรายละเอียดที่ http://www.cyclades.com - โปรแกรม mgetty+sendfax ทั้งรุ่นเก่าและใหม่ดูที่ ftp://ftp.buoy.com/pub/ipd