debian: ทำ ppp server
สมมุติว่าเรามีอินเตอร์เน็ตความเร็วสูงอยู่ที่สำนักงานอยู่แล้ว และต้องการหมุนโมเด็มเข้าไปเพื่อใช้งานอินเตอร์เน็ตที่สำนักงาน ก็ต้องทำเครื่องเซิร์ฟเวอร์ที่สำนักงานให้ทำหน้าที่เป็น ppp server หรือ dial-up server
ตามตัวอย่างจะให้เครื่องเรามีไอพีเป็น 192.168.1.1
เริ่มด้วยการติดตั้ง mgetty เพื่อทำหน้าที่รับสายโทรศัพท์
# aptitude install mgetty
เราจะเรียกใช้งาน mgetty ให้เป็น daemon โดยผ่านโปรแกรม init
ปรับตั้งที่ไฟล์ /etc/inittab โดยเติมบรรทัดคำสั่งดังนี้
# vi /etc/inittab
- ถ้าเป็นโมเด็มภายนอก ที่เป็นโมเด็มแท้ อินเทอร์เฟสจะอยู่ที่ /dev/ttyS0 เพิ่มบรรทัด:-
... S0:2345:respawn:/sbin/mgetty -n6 -x1 -D ttyS0 ...
- ถ้าเป็นโมเด็มภายนอกแบบ usb เช่น slmodem อินเทอร์เฟสจะเป็น /dev/ttySL0 ใช้คำสั่ง
... S1:2345:respawn:/sbin/mgetty -n6 -x1 -D ttySL0 ...
- ถ้าเป็นโมเด็มภายในแบบ hsf ต้องติดตั้งไดรฟเวอร์ที่ linuxant อินเทอร์เฟสจะเป็น /dev/ttySHSF0 ใช้คำสั่ง
... S2:2345:respawn:/sbin/mgetty -n6 -x1 -D ttySHSF0 ...
-n6 คือ ให้โทรศัพท์ดัง 6 ครั้งจึงจะรับสาย
-x1 คือ debug level 1
-D คือ ให้ระบบทราบว่า mgetty จะใช้งานเพียง data อย่างเดียว ไม่เอา fax
S0, S1, S2 กำหนดเป็นอะไรก็ได้ เพียงอย่าให้ซ้ำกับของระบบเดิมที่มีอยู่แล้ว
ต่อด้วยติดตั้ง ppp (ส่วนใหญ่จะติดตั้งมาแล้ว)
# aptitude install ppp
ปรับตั้งค่าของ pppd ให้มีค่าดังต่อไปนี้
# vi /etc/ppp/options
... modem crtscts proxyarp lock ms-dns 192.168.1.1 ...
ส่วนใหญ่ จะเป็นค่า default อยู่แล้ว
ยกเว้น ms-dns ให้ใส่ไอพีของเครื่องเรา
ปรับตั้งค่าของโมเด็มแต่ละตัว เช่นของโมเด็มภายนอกคือ /dev/ttyS0 ตั้งค่าที่ /etc/ppp/options.ttyS0
# vi /etc/ppp/options.ttyS0
#ServerIP : ClientIP 192.168.1.1 : 192.168.1.11
ตัวเลข 192.168.1.11 คือไอพีที่เรากำหนดให้เครื่องลูกที่โทรเข้ามาที่สายนี้
ในทำนองเดียวกันก็ปรับตั้งค่าให้โมเด็มตัวอื่น ๆ ให้ครบ โดยตั้งชื่อ extensions ของไฟล์ตามชื่ออินเทอร์เฟส
ปรับตั้งค่าการทำงานของ mgetty หลังจาก login
# vi /etc/mgetty/login.config
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug
เป็นค่า default จากเดเบียนอยู่แล้ว
กำหนดชื่อผู้ใช้งาน
# vi /etc/ppp/pap-secrets
- ถ้าใช้ชื่อผู้ใช้ในระบบ ใช้รูปแบบเป็น
... #Name Host Password IP * * "" * ...
- ถ้าจะกำหนดผู้ใช้เฉพาะ สมมุติว่าชื่อ user1 รหัสผ่านเป็น User1Pass
... #Name Host Password IP user1 * "User1Pass" * ...
ตั้งให้ฟอร์เวิร์ดแพคเก็ต
# vi /etc/sysctl.conf
... net.ipv4.ip_forward = 1 ...
สั่งให้การฟอร์เวิร์ดแพคเก็ตมีผลในทันที
# sysctl -e -p /etc/sysctl.conf
หรือ
# echo 1 > /proc/sys/net/ipv4/ip_forward
สั่งให้ระบบอ่าน init ใหม่และรัน mgetty เลย
# init q
เสร็จแล้วครับ
อ้างอิง:
Recent comments