Sunday, May 3, 2009

FreeBSD ---> Sendmail

เอกสารอ้างอิง ก็ The Networking CD Bookshelf ของ O'Reilly แหละ ในบทของ sendmail โดยเฉพาะ เก่ามากแล้ว ตั้งใจทำด้วย เพราะช่างเผอิญ ให้ได้ตรง วันฉัตรมงคล พอดี นี่ก็ผ่านวันวิสาขะปูชาไปแล้ว วันพืชมงคล จรดพระนังคัญแรกนาขวัญ ก็ผ่านไปอีก และ วันเกิด ก็ผ่านไปแล้วด้วย ซีงิต ก็อย่างนี้

sendmail เป็น MTA ที่มีมา เรียกว่า มัดมา กับ FreeBSD สำหรับใช้งานด้าน e-mail commands เราจะไม่พาดพิงถึงเรื่องอื่น นอกจาก ประเด็นร้อนขณะนี้ คือ มันส่งออกไม่ได้ อันนี้ อาจจะเกี่ยวข้อง กับ ความวุ่นวายภายในระบบ LAN ของท่าน ซึ่งก็ไม่ขอแตะต้อง อีกเช่นกัน

สถานการณ์ เป็นอย่างนี้น่ะ มีเพื่อนท่านหนึ่ง อืมม พี่ซิ ต้องเรียกเขาว่า พี่ พี่ซัน เขาบอกว่า sendmail ไม่ยอมส่งจดหมายให้ ก็ให้แปลกใจว่า พี่เค้าไปทำอะไรพิสดารไว้รึเปล่า เพราะปกติ sendmail กับ FreeBSD เนี่ย เขาทำมาไว้ชนิดที่เรียกว่า แกะกล่องได้ ก็นำออกมาใช้เลย

ก็แค่นั้นแหละ ที่สงสัย

แต่หลังจากนั้นก็เป็นเรื่องเป็นราวยาว เพราะการ อินเว้สติเกตุเม้นต์ เนี่ย มันต้องการ ข้อเท็จจริง มากมาย หลายด้านด้วยกัน มาประกอบการพิจารณา ... ฯลฯ กอรป ด้วยต้องการให้พี่เขาค่อยๆรู้ไปด้วย , ความจริง เราเอง ก็ใช่ว่า จะรู้ดี ไปกว่าพี่เค้าหรอกน่อ, เลยแนะไป ทำไป แต่ไปไปมามา ชักสงสัยว่า ที่บอกให้ทำๆน่ะ ทำรึเปล่า เพราะดูท่าว่า ไม่ได้แก้อะไรเลย พี่เขา คงเอือมเต็มที แต่ก็เกรงใจด้วย เลยให้เข้าไปแก้ไขเอาตามใจ

เอาล่ะ เรามาเริ่มกัน sednmail นั้นทำงานด้วยแฟ้ม หรือ เอกสาร สำคัญ ๓ แฟ้มเท่านั้นเอง คือ
  1. configuration files
  2. queued files
  3. alias files
อันแรกนั้น เราจัดการผ่านแฟ้ม ตระกูล .mc อันหลังมันมีรูปแบบง่ายๆให้ ไม่ยาก ส่วนแฟ้มคิวนั้น sendmail เขาจัดการของเขาเอง

ที่เป็นปัญหา ให้ต้องคิดเลย ทันทีคือ แฟ้มแรก นั่นแหละ พี่เขา ไปก่อกวนอะไร รึ ถึงส่งออกไม่ได้

ที่ คุระบุรี
(๑) เมื่อเข้าไปดูถึงได้รู้ว่า บางส่วนของแฟ้ม freebsd.mc ยังคงไม่ได้แก้ จึงจัดการแก้ไขซะ โดยเฉพาะตรงบรรทัด

dnl define(`SMART_HOST', `your.isp.mail.server')

ที่บอกให้พี่เขาแก้นั้น พี่เขาก็แก้แหละ แต่ไม่เอา dnl ออก เลยจำเป็นต้อง ลงมือเอง แล้วลบแฟ้ม ที่ขึ้นต้นด้วยชื่อเครื่อง และ ลงท้ายด้วย .mc ออกให้หมด จากนั้นจึงสั่ง
# make all
# make install
# make restart
และเมื่อตรวจดู จดหมายที่เหลืออยู่ในคิว ด้วย mailq -vv ก็พบว่ามีเพียบ ล้วนแต่เกิดจาก deferred/time out ทั้งสิ้น ให้แปลกใจมากมาก
(๒) เมื่อทราบว่า ที่นี่ ไม่เปิด port 25 ไว้, จาก (๑) ที่ปากเกร็ด, และอยากรู้ว่า พี่เขาใช้ MTA ตัวไหน จึงสั่ง

# pkg_info -Ia

กลับตกใจมากกว่าเดิม เพราะพี่เขาลง sendmail จาก port !!! ซึ่งเมื่อเป็นเช่นนี้ แล้วอะไรล่ะ ที่ไปปิด smtp service ลำดับที่ 25 ไว้ ทำให้ส่งออกไม่ได้ เพราะเท่าที่รู้มา การที่ sendmail ไม่ได้วิ่งนั้น เป็นเพราะ มี MTA ตัวอื่น มาใช้บริการที่ smtp port 25 แต่ตัวอื่นที่ว่านั้น ก็คือ sendmail จาก port นั่นเอง รึว่า .....

ดูท่าทางแล้ว เกินกำลัง เลยหันมาทดลองกับเครื่องที่ปากเกร็ดดีกว่า และก็ไม่ได้เข้ามาอีกเลย



ที่ ปากเกร็ด
(๑) ระหว่างที่ทำอะไรที่ คุระบุรี นั้น ก็ลองตรวจดู ว่าที่โน่นเขามีอะไรอยู่บ้าง ทีแรกก็จะทำตอนที่ ssh เข้าไปนั่นแหละ แต่ ดูว่าคงไม่เร็วเท่าทำจากบ้าน ที่ ปากเกร็ด อีกอย่าง tools ต่างๆ ก็ยังไม่มี เลยตัดใจ ทำที่ ปากเกร็ด ดีกว่า

ความจริงที่ได้, zenmap, กลับทำให้ตกใจมากกว่า คือ เครื่อง ไม่เปิด port 25 ไว้เลย แต่ มีอะไรบางอย่าง วิ่งที่ port 587 แทน ซึ่งเมื่อ

# grep 587 /etc/services

ดู ก็รู้ว่า อ้อ นั่นคือ submission subsystem นั่นเอง ซึ่ง เมื่อถึงตรงนี้ ก็พอมองออกว่า คงมี การจัดการ อะไรบางอย่างไว้ ที่เราไม่สามารถ และ ไม่สมควร ไปก้าวก่ายให้มากนัก

ที่ได้เลยคือ แล้ว พี่เขาใช้ MTA ตัวไหนแทน sendmail กัน เลยต้องเข้าไปดูอีก

(๒) ที่นี่ รออยู่
เมื่อโซซัดโซเซ สะเง้าะสะแงะกลับมาจาก คุระบุรี เพราะเจอปัญหาที่ไม่สามารถแก้ได้ ก็เดินงึกๆงักๆวนไปเวียนมารอบๆ ThinkPad R51 ซะสี่ ห้า รอบ แล้วก็ลงมือ

ครับ ง่ายๆเลย ส่ง e-mail ออกนอกจากเครื่องของตัวเอง ผลที่ได้น่ะ เล่นเอาตกใจ เพราะมันก็ ส่งไม่ออกเหมือนกัน ไม่ต้องลำบากหาหลักฐานที่ไหนหรอก ก็ที่รูป นั่นแหละ ช่วงบนๆ ที่เห็นอยู่ไม่มาก นั่นแหละ

เอาล่ะ รู้สึกว่า จะต่อเรื่องกันตรงนี้ก็ไม่มันซะแล้ว ยกยอดเรื่องไปตอนใหม่เลยดีกว่า เน้าะ


ที่สุดแล้ว มันทำงาน ส่งออกได้ อยากรู้ให้ คลิก ที่รูป สังเกตุด้วยว่า ไม่มีหลงในคิวอีกแล้ว ส่งออกได้หมด แต่ ก่อนหน้านั้น ยังคงค้างในคิว ๒ ฉบับ แต่ข้อจำกัด ยังมีอยู่ ใช่ว่าจะใช้ได้ทุกกรณีไป เพียงแต่ ขอให้เพื่อนๆ ที่อ่าน ได้สาระ ได้แนวทาง ในการแก้ปัญหาไปด้วย ก็เกินคุ้ม กับหลายสิ่งหลายอย่างที่ ทุ่มเทลงไป ลงไปเพื่อ ... พึ่งพาตนเอง

6 comments:

ว. said...

ผมเคยเห็นแว็บ ๆ ในเครื่องเขา มีการติดตั้ง postfix หรืออะไรสักอย่าง อยู่ด้วยในตอนต้น ๆ แต่ได้รับแจ้งว่าเอาออกแล้ว ก็เป็นไปได้ว่ามันเกิดอาการ entropy turbulance ในระบบมั้ง ทำให้ พอร์ต 25 ไม่ทำงาน

พูดถึง mail server ผมว่าคืนสู่สามัญ sendmail นี่แหละ classic ที่สุด มีมาพร้อมใช้งานอยู่ที่ว่าจะเอาอะไรไปเปิดใช้งาน

มะขาม said...

ขอบคุณครับพี่
ผมยังเขียนไม่จบครับ
มันเขียนๆ หยุดๆ
เนี่ยะ วันนี้ ราวๆบ่ายสาม ก็ต้องไปลานพระรูป ร.๕ เป็นงานมหามงคลอย่างยิ่งที่สุดในชีวิตผม และ ครอบครัวเลยครับ ใครจะว่ายังไงก็ช่าง

น้อง เอ้ย พี่เขาลง openwebmail หรือเปล่า ไม่แน่ใจครับ เอาเถอะ ก็ต้องช่วยกันไป ให้กำลังใจกันไปครับ อีกครั้ง ขอบคุณมากสำหรับทุกอย่างที่พี่ให้มา ขอให้อยู่เย็นเป็นสุข สมปราถนาไปได้ดั่งใจเถอะน่ะ

มะไฟ คนเหลิงฟ้า

ว. said...

ได้รับแจ้งมาว่า หลังจากเจ้าของปัญหาว่า โทรศัพท์ไปที่ต้นสังกัดผู้ดูแลเน็ตเวิร์กและทางโน้นเปิดพอร์ต ยี่สิบห้าให้ผ่านได้ทั้งเข้าและออก ผลอีเมล์ใช้ได้ทันที ดังนั้นก็ เฮฮา เท่านั้นเอง

ว. said...
This comment has been removed by a blog administrator.
มะขาม said...

ขอบคุณครับ
แหม นับเป้นของขวัญวัเกิดที่ วิเศษ จริงๆ

dekdar said...

ท่านรองฯ มาเองเลยหรือเนีย อิอิ..


View My Stats