ขอวิธีติดตั้งและการปรับแต่ง Debian 4.0 เป็น server ด้วยครับ

ขอวิธีติดตั้งและการปรับแต่ง Debian 4.0 เป็น server ด้วยครับ

Email: akkharachon@gmail.com

ขอบคุณครับ

จะให้เป็น server สำหรับ service อะไรครับ
ปรกติ Debian มันก็เป็น Server อยู่แล้วครับ apt-get โปรแกรมมาลงได้เลย

อย่างที่พี่ 'dome' บอกครับ .... Debian พร้อมเสมอสำหรับงานทุกงานที่คุณต้องการ
จะแปลงโฉมให้เป็น Server หรือจะถอดรูปให้เป็น Desktop ก็ง่ายเพียงปลายนิ้วสัมผัส(คีย์บอร์ด) :)

แต่ยังไง ขอรายละเอียดมากกว่านี้หน่อยนะครับ เพราะคำว่า Server นี่กว้างมาก ๆ ครับ
ว่าจริง ๆ แล้วต้องการ Web Server, File Server, FTP Server, Proxy-Cache Server ฯลฯ
หรือว่าจะเอาหมดเลย ถ้าอย่างหลังนี่ ต้องคอยติดตามบทความต่าง ๆ ที่ค่อย ๆ คลอดออกมานะครับ
ถ้าสนใจอะไรเร่งด่วน แจ้งเข้ามาได้ครับ จะได้ช่วยกันค้นคว้า และเรียบเรียงเป็นบทความเผยแพร่ต่อไปครับผม
___
Neutron: Linux Addict!

คือแบบว่าเป็นร้านเกมส์ อยากติดตั้งแบบ Web Server(LAMP) DNS Server NAT และควบคุมการ Log in ของ User คือ ถ้าลูกค้าคนใดเวลาหมดก็ให้ตัดการเชื่อมต่ออินเตอร์เน็ต,ป้องกันการบันทึกลง Hardisk,Download

LAMP,DNS,NAT นี่คงไม่ต้องทำไรมา ก็

apt-get install libapache-mod-php5 php5-mysql php5-gd mysql-server bind 

ก็จะได้ LAMP และ DNS
ส่วน NAT ก็

iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -j MASQUERADE

ลองดูพอ work ใช้งานได้ก็เอาไปใส่ต่อท้ายไฟล์ /etc/rc.local ก็พอไหวครับ

ส่วนเรื่องการ Authen หมดเวลาแล้วก็เก็[ตังส์ นี่ขอนำเสนอ ไอเดียแบบ hotspot โดยใช้ Chillispot มาทำการดัก package ที่วิ่งผ่าน
eth0 แล้วส่งไป Authen บน freeradius อีกรอบนึง อันนี้ขอเขียนเป็น How to ลงให้แบบ step by step แล้วกันนะครับ
ผมตั้งใจจะเขียนเรื่อง การ customize debian cd อยู่พอดี งั้นติดไว้ 2 เรื่องแล้วกันนะครับ

แฮ่ม.. เรื่อง NAT ขอนำเสนอ ipmasq ขอรับ (อยู่ในบทความเก่า ยังไม่ได้กู้)

# apt-get install ipmasq
# ipmasq

จบ! มันคำนวณ firewall rules ให้เสร็จสรรพ โดย detect จาก route table เอา install init script ให้ด้วย (แต่จะเอาไปใส่ใน ifupdown ก็ได้ ทำตาม doc)

เคยพยายามใช้ shorewall อยู่ แต่ไม่สำเร็จ สุดท้ายก็ ipmasq แหละง่ายสุด

ใน debianclub เวอร์ชันก่อน มีบทความชุด internet server อยู่ครับ เดี๋ยวคงทยอยกู้ขึ้นมา

DNS ก็ใช้ dnsmasq ก็พอมั้งครับ ไม่ต้องถึง BIND

ขอนอกเรื่องหน่อยนะครับ คือว่าผมทำโปรเจคเกี่ยวกับ hotspot ที่ใช้ chillispot + freeradius + mysql น่ะครับ แต่พอสอบโปรเจคแล้วอาจารย์เค้าต้องการรู้การทำงานโดยละเอียดของ chillispot นี้น่ะครับ ผมหาคำตอบว่ามันทำงานอย่างไร ในเวปของ chillispot เองก็ไม่เจอเอกสารใดอธิบายการทำงานแบบละเอียดเลยครับ (www.chillispot.info) พอดีมาเห็น
พี่ Dome ตอบ กระทู้นี้แล้วพูดถึง chillispot ผมจึงอยากสอบถามรายละเอียดต่าง ๆ พี่พอจะทิ้ง EMAIL ไว้ได้มั๊ยครับ
ขอบคุณครับ (i_icejung@hotmail.com)

ตอนนี้ที่ผมใช้เป็น CoovaChilli ครับ เป็นตัวที่พัฒนาต่อยอดมาจาก ChilliSpot ที่ดู ๆ ไปแล้วเหมือนจะไม่มีการพัฒนาต่อ (อันนี้...ความเห็นส่วนตัวนะครับ) ผมเลยตัดสินใจลองทดสอบ CoovaChilli ซึ่งเท่าที่ดูก็ติดตั้งง่ายกว่า ChilliSpot (ผมติดตั้ง ChilliSpot ไม่เคยสำเร็จนะครับ ผมเลยบอกว่าตัวนี้ง่ายกว่า :P )

การทำงานของ CoovaChilli และ ChilliSpot มีหน้าที่หลักเหมือนกันคือ

  • ดักจับ Packet ที่วิ่งผ่าน Interface ที่เรากำหนดให้ (eth1) CoovaChilli ทำงานอยู่
  • วิเคราะห์ว่า Packet นั้นมาจาก IP Pool (ปล่อยโดย DHCP Server ใน CoovaChilli เอง) หรือไม่
  • ถ้าไม่ใช่ และเป็น Packet เพื่อขอ IP Address - DHCP Server ปล่อย IP ให้และส่งหน้า Login ไปยัง User, หากไม่ใช่ Packet เพื่อขอ IP Address ระบบ Drop Packet ในสถานะ Spoof Source (มีการตั้งค่า IP แบบ Static เพื่อจะลวง CoovaChilli
  • หาก User ทำการ Login เรียบร้อย (Authen ผ่าน Radius Server) Radius Server จะสงสถานะให้ CoovaChilli ทราบว่า User ที่ Login จากเครื่องที่มี IP Address ดังกล่าว สามารถใช้งานระบบเครือข่าย ส่วนใหญ่จะเป็นอีก Interface หนึ่ง (eth0)
  • ในระหว่างการใช้งาน CoovaChilli จะมีการเก็บค่าต่าง ๆ เช่น จำนวน bytes ที่โหลด และส่งต่อไปจัดเก็บที่ Radius Server ทำให้สามารถกำหนดจำนวนข้อมูลที่ User สามารถใช้งานได้

โดยคร่าว ๆ ก็น่าจะประมาณนี้ครับ

___
Neutron: Linux Addict!

CoovaChilli นี่นำไปใช้แทน ChilliSpot ได้เลยรึเปล่าครับ ผมทำ ChilliSpot + FreeRadius + MySQL + Debian Sarge ไว้ปีกว่าแล้ว เพิ่งมาเห็น อ้าว ไอ้คนทำ ChilliSpot หายไปไหนแล้วเนี่ย งงเลย ผมทำผลงานขอเลื่อนตำแหน่งไว้ สงสัยต้องเอามาแก้อีกรอบ

ครูน้อย

คิดว่าแทนกันได้เลยครับผม ปัญหาติดอยู่ที่เราต้อง compile เจ้า CoovaChilli เองครับผม
ตอนนี้ผมทดสอบอยู่ ยังไม่กล้ารับประกันว่า Work แต่เท่าที่ใช้มาก็ถือว่าผ่านเกณฑ์
___
Neutron: Linux Addict!

ขอบคุณพี่ dome มากครับ คำตอบพี่ตรงประเด็นมากเลย ผมอยากถามรายละเอียดอีกน่ะครับ คือว่าผมกำหนด attribute WISPr-Bandwidth-Max-Down/Up ในตาราง radryply เพื่อให้ freeradius ส่งค่าสิทธินี้ กลับมาที่ chillispot เพื่อเป็นการกำหนดแบนวิชของ แต่ละ client หลังจากที่ raddius ได้เชคว่า username/password ถูกต้องแล้ว

คือว่าตอนไปสอบโปรเจคน่ะครับ อาจารย์ถามรายละเอียดว่า

1. chillispot ทำการควบคุม bandwidth ของแต่ละ ipหรือแต่ละยูสเซอร์ อย่างไร (จริงๆแล้วอะไรเป็นตัวควบคุมแบนด์วิชนี้และทำงานอย่างไร) ผมตอบกับอาจารย์ไม่ได้

ผมอยากจะถามพี่ๆว่า

-ถ้าโปรแกรม chillispot เองเป็นตัวควบคุมแบนด์วิช แล้วมันควบคุมได้อย่างไรหรอครับ

-หรือถ้าไม่ใช่ chillispot เป็นตัวควบคุมแล้วมันสร้างกฏไว้ที่ไหนเพื่อจำกัดแบนวิชนี้ เช่น netfilter รึป่าวครับ หรือใช้ libery ใด และสามารถตรวจสอบได้อย่างไร

2. อยากทราบความสัมพันธ์ของระหว่างการทำงานของโปรแกรม chillispot กับ การแจก ip ให้กับเครื่อง client (chillispot เป็นตัวแจก ip เอง) โดยมีข้อสังเกตุว่าทำไมไม่ใช้ dhcp server ต่างหากเป็นตัวแจก

(ผมมีความรู้เกี่ยวกับ linux ซึ่งถือว่าน้อยมาก ผมใช้ fedora core3 อยู่น่ะครับ)
ขอบคุณครับ (i_icejung@hotmail.com)

>> 1. chillispot ทำการควบคุม bandwidth ของแต่ละ ipหรือแต่ละยูสเซอร์ อย่างไร
>> (จริงๆแล้วอะไรเป็นตัวควบคุมแบนด์วิชนี้และทำงานอย่างไร) ผมตอบกับอาจารย์ไม่ได้
อยากที่เราทราบ ๆ กันครับ เจ้า FreeRadius ทำหน้าที่ Authentication และ Account คือให้สิทธิ์และเก็บข้อมูลการใช้งาน แต่ไม่ได้เป็นตัวจำกัด Bandwidth ครับ เพราะตัวที่จัดการเรื่อง Bandwidth ในที่นี้คือ ChilliSpot โดย HotSpot ของเราจะอ่านค่าตั้ง WISPr-Bandwidth-Max-Down/Up (Wisper Parameter) จาก Radius และคอยติดตามการใช้งานของ User ไม่ให้เกิน Limit ที่กำหนด และกรณีเช่นนี้เกิดขึ้นได้เพราะ ChilliSpot ดักจับ Packet ทุกอย่างที่วิ่งผ่าน Interface ที่เรากำหนดเป็น Internal Interface (eth1) และถ้าลองไปตรวจสอบ Bandwidth จะไม่เกินค่าที่กำหนดไว้จริง ๆ (ลองแล้วกับ CoovaChilli)

>> 2. อยากทราบความสัมพันธ์ของระหว่างการทำงานของโปรแกรม chillispot กับ การแจก ip ให้กับเครื่อง client
>> (chillispot เป็นตัวแจก ip เอง) โดยมีข้อสังเกตุว่าทำไมไม่ใช้ dhcp server ต่างหากเป็นตัวแจก
เหตุผลที่ ChilliSpot ต้องแจก IP เอง เนื่องจาก ตัว HotSpot เองต้องการที่จะจัดการเกี่ยวกับเรื่อง User Session คือสามารถควบคุม และตรวจสอบ User ได้ด้วยตนเอง และการที่ HotSpot ตรวจสอบด้วย IP เพียงอย่างเดียวก็เพราะว่าในสถานการณ์จริง HotSpot จะไม่รู้เลยว่า User ที่จะใช้งานมี MAC Address เป็นอะไร เพราะไม่มีใครขาย Package Internet แบบ HotSpot Access แล้วต้องถาม MAC Address ลูกค้า :)

แล้วถ้าไปถาม Developer ว่าสามารถกำหนดให้ใช้ DHCP นอกโปรแกรมเป็นตัวปล่อย IP ได้ไหม คำตอบคือ "No, But if you could do that, please tell us."
___
Neutron: Linux Addict!

ทำโปรเจคเสร็จแล้วเอาวิธีทำมาเผยแพร่บ้างนะครับ :>

ยินดีครับ เดี๋ยวเสร็จแล้วจะมาเผยแพร่

ตอนนี้ผมพยายามติดตั้ง CoovaChilli แต่ก็ยังไม่สำเร็จ เพราะเป็นมือใหม่เรื่อง Linux และยังไม่เข้าใจการทำงานของ CoovaChilli หลังจากทำตามคู่มือ (http://coova.org/wiki/index.php/CoovaChilli/Documentation)แล้ว ก็เลยไม่รู้จะเซ็ตให้ใช้งานได้ยังไงหน่ะครับ ถ้าใครพอจะมีเวลา ก็รบกวนขอวิธีทำ Hotspot โดย CoovaChilli ด้วยครับ

ขอบคุณมากครับ

Base

หลักการ ง่าย ๆ ครับ ติดต่อผมได้ easyhorpak@hotmail.com ยินดีแนะนำคับ

พอดีทำบริการ Radius Server พร้อมระบบจัดการ เลยมาแนะนำคับ http://www.easyzonecorp.net - Radius Server and Billing Module โดย PhpChuanPrepaid อิอิ ๆๆๆ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้