ต้องการเชื่อม Thin Client เข้าหา Thick Server ลินุกส์
โดยจะใช้งานในระบบดอส
งานที่ทำคือ
โฮมเพจ: Linux Terminal Server Project และ wiki.ltsp.org
ltsp ภาษาไทย: การติดตั้ง Linux Server เพื่อใช้งานแทน Netware Server
และ itdestination: มาสร้างระบบ Thin Client ด้วยลีนุกซ์กันเถอะ
และ linuxsiam: การติดตั้ง LTSP Server บน Debain
tfpt ภาษาไทย: itwizard: ตัวอย่างการใช้ TFTP กับการคอนฟิก CISCO Router
ต้องการแพคเกจ : ltsp, dhcp, tftp, nfs, xdmcp, samba
ltsp เป็นตัวหลัก
dhcp เป็นตัวจ่ายไอพี และตัวคัดเลือกการบูต
tftp เป็นตัวทำ file transfer
nfs เป็นตัว file server ของลินุกส์
samba เป็น file server อีกตัวที่ใช้ได้ทั้งลินุกส์และดอส
xdmcp เป็นตัวใช้งาน Xserver ของลินุกส์
rpld เป็นตัวบูต
จะให้จ่ายไอพีตั้งแต่ 192.168.1.128-192.168.1.254
# apt-get install dhcp3-server
ปรับตั้ง
# vi /etc/default/dhcp3-server
... INTERFACES="eth0"
# vi /etc/dhcp3/dhcpd.conf
... option domain-name "example.com"; option domain-name-servers dns.example.com; ... subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.128 192.168.1.254; option routers server1.example.com; }
สั่งเริ่มใหม่
# /etc/init.d/dhcp3-server restart
# apt-get install atftpd portmap nfs-kernel-server
เอาจาก http://wiki.ltsp.org/twiki/pub/Ltsp/Documentation/ltspguide.pdf
# apt-get install ltsp-utils
ติดตั้ง
# ltspadmin
<<<--- Install/Update LTSP Packages
Where to retrieve packages from?
<<<--- [http://ltsp.mirrors.tds.net/pub/ltsp/ltsp-4.2/]
In which directory would you like to place the LTSP client tree?
<<<--- [/opt/ltsp]
If you want to use an HTTP proxy, enter it here
<<<--- ใส่ค่าพร๊อกซี่เซิร์ฟเวอร์ของเรา
If you want to use an FTP proxy, enter it here
<<<--- ใส่ค่าพร๊อกซี่เซิร์ฟเวอร์ของเรา
Correct? (y/n/c)
<<<--- y
Component Size (kb) Status
[*] ltsp_core 80916 Not installed
[*] ltsp_debug_tools 4284 Not installed
[*] ltsp_kernel 27708 Not installed
[*] ltsp_libusb 896 Not installed
[*] ltsp_localdev 4 Not installed
[*] ltsp_pciutils 428 Not installed
[*] ltsp_perl 28072 Not installed
[*] ltsp_rdesktop 1872 Not installed
[*] ltsp_scanners 29308 Not installed
[*] ltsp_vnc_module 452 Not installed
[ ] ltsp_x_addtl_fonts 17368 Not installed
[ ] ltsp_x_core 97716 Not installed
<<<--- q
Ready to install/update the selected LTSP packages? (y/n)
<<<--- y
...โปรแกรมจะดาวน์โหลดแพคเกจที่เกี่ยวข้องเข้ามาติดตั้ง...
Configure LTSP
Make a selection:
<<<--- c (Configure the services manually)
ตั้งค่าอินเทอร์เฟส
Make a selection:
<<<--- 2 (Interface selection)
Interface IP Address Netmask Network Broadcast Used
eth0 192.168.1.5 255.255.255.0 192.168.1.0 192.168.1.255 <-----
Only 1 Ethernet interface found, using eth0
Press <enter> to continue..
ปรับตั้ง dhcp
Make a selection:
<<<--- 3 (DHCP configuration)
Do you want to build a dhcpd.conf file (y/n) ?
<<<--- y
The dhcpd config file has been created as: /etc/dhcp3/dhcpd.conf.sample
Press to continue..
ปรับตั้ง tftpd
Make a selection:
<<<--- 4 (TFTP configuration)
Do you want to enable tftpd (y/n) ?
<<<--- y
กดไล่ค่าปริยายไปจนหมดแล้วจึงกด r เพื่อออกมา
กด s ดูความเรียบร้อย
และ q เพื่อออกมาสู่เมนูหลัก
และ q เพื่อออกจากโปรแกรม
สั่งเริ่มเซอร์วิสใหม่
# /etc/init.d/nfs-kernel-server restart
# /etc/init.d/portmap restart
ดู samba: เรียกใช้งานจากดอสโดยใช้ดิสเก็ต 1 แผ่น
โดยเมื่อปรับแต่งจนสามารถบูตเข้าระบบได้แล้ว พร้อมทั้งปรับแต่ง autoexec.bat ให้เรียกใช้เน็ตเวิร์กไดรฟ์เรียบร้อยแล้ว
(วิธีการไม่ได้เขียนครับ เพราะเป็นเรื่องของการปรับแต่งดอสตามสภาพใช้งานของแต่ละท่าน)
เราก็เอาแผ่นดิสเก็ตแผ่นนี้มาทำเป็นดิสก์อิมเมจ
$ dd if=/dev/fd0 of=freedos.img
$ mcopy a:/KERNEL.SYS .
$ sudo apt-get install mknbi
$ mknbi-fdos --output=freedos.nb KERNEL.SYS freedos.img
หลังจากนั้นก็เอาไฟล์ freedos.nb ที่ได้ ไปใส่ในไดเรคทอรี่ /tftpboot ของเครื่องเซิร์ฟเวอร์
เอาบราวเซอร์ไปที่ http://www.rom-o-matic.net/5.4.2/
(อาจตรวจสอบรุ่นใหม่ ๆ ได้จากหน้าหลัก)
ไปที่
1.Choose NIC/ROM type:
<<<--- เลือกชนิดการ์ดแลนให้ตรงกับเครื่องลูก
2.Choose ROM output format:
<<<--- Floppy bootable ROM Image (.zdsk)
4.To generate and download a ROM image press:
<<<--- Get ROM
เซฟไฟล์ไว้ แล้วเขียนลงแผ่นฟลอปปีดิสก์
(ตัวอย่าง ของผมเป็น via_rhine ได้ไฟล์ชื่อ eb-5.4.2-via-rhine.zdsk)
# cat eb-5.4.2-via-rhine.zdsk > /dev/fd0
จะเอาไปทำแผ่นบูต
ทำที่เครื่องเซิร์ฟเวอร์
ถ้าในระบบเรามีการ์ดแลนเพียงชนิดเดียว เราก็แค่สร้างไฟล์ freedos.nb เพียงไฟล์เดียว
ไฟล์ /etc/dhcp3/dhcpd.conf จะเป็นดังนี้
# dhcpd.conf ddns-update-style ad-hoc; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.5; option domain-name-servers 192.168.1.5; #option domain-name "your_domain.org"; # You really should fix this option domain-name "example.com"; # You really should fix this option option-128 code 128 = string; option option-129 code 129 = text; get-lease-hostnames true; next-server 192.168.1.5; option root-path "192.168.1.5:/opt/ltsp/i386"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.128 192.168.1.253; filename "/tftpboot/freedos.nb"; }
แต่ในทางปฏิบัติคงเป็นไปไม่ได้ที่จะมีการ์ดแลนเพียงชนิดเดียว
ดังนั้นเราจึงต้องสร้างอิมเมจหลายไฟล์ และแบ่งการใช้ด้วย mac address
สมมุติว่าเราสร้างอิมเมจสำหรับ
การ์ด via_rhine ในชื่อ fdvr.nb ค่า mac address ของเครื่องลูกเป็น 00:11:22:33:44:55
และการ์ด ne2000 ในชื่อ fdne2000.nb ค่า mac address ของเครื่องลูกเป็น 01:02:03:04:05:06
ไฟล์ /etc/dhcp3/dhcpd.conf จะเป็นดังนี้
# dhcpd.conf ddns-update-style ad-hoc; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.5; option domain-name-servers 192.168.1.5; #option domain-name "your_domain.org"; # You really should fix this option domain-name "example.com"; # You really should fix this option option-128 code 128 = string; option option-129 code 129 = text; get-lease-hostnames true; next-server 192.168.1.5; option root-path "192.168.1.5:/opt/ltsp/i386"; host ws128 { hardware ethernet 00:11:22:33:44:55; fixed-address 192.168.1.128; filename "/tftpboot/fdvr.nb"; } host ws129 { hardware ethernet 01:02:03:04:05:06; fixed-address 192.168.1.129; filename "/tftpboot/fdne2000.nb"; } subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.130 192.168.1.253; filename "/tftpboot/freedos.nb"; }
เริ่ม dhcp ใหม่
# /etc/init.d/dhcp3-server restart
วิธีดูค่า mac address อาจดูตอนบูตด้วยแผ่นบูตก็ได้
หรือดูจากลินุกส์ด้วยคำสั่ง ifconfig
หรือดูจากดอสด้วยคำสั่ง ipconfig /all
วิธีนี้มีข้อดีคือใช้เวลาบูตจากดิสเก็ตนิดเดียว เมื่อต่อเข้าเครื่องเซิร์ฟเวอร์แล้ว จะใช้อิมเมจจากเซิร์ฟเวอร์ในการบูตต่อ
ดังนั้นจึงเริ่มระบบได้รวดเร็วกว่าการบูตด้วยแผ่นดิสเก็ตล้วน ๆ
แต่มีข้อเสียคือการติดตั้งยุ่งยาก
เขียนหยาบและสเปะสปะหน่อยนะครับ เป็นเรื่องใหม่ที่ไม่เคยศึกษามาก่อน :P
ได้เปลื้องหนี้คุณสมเจตน์แล้ว ค่อยสบายหน่อย
เดี๋ยวถ้ามีเวลา จะกลับมาศึกษาต่ออีกที