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

เสร็จแล้วครับ

อ้างอิง:

 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.