Shell script export host and MAC-IP to Veyon

จาก Wiki Opensource

ปรับปรุงครั้งล่าสุดวันที่ 18-12-2562
เขียนโดย วิบูลย์

  • ที่เครื่องผู้สอน (Veyon master) เราจะเพิ่มรายชื่อเครื่องในห้องเรียนด้วย script

ขั้นตอน
1. ที่ ubuntu server เรามีไฟล์ที่มีโครงสร้างบรรทัด host และ MAC-IP ดังนี้

root@psu-fog:~# cat /etc/dhcp/dhcpd.hosts.conf
group {
option domain-name-servers 192.100.77.10, 192.100.77.11;
host zone1_acer11 { hardware ethernet 98:ee:xx:99:37:a0; fixed-address 192.168.6.151; }
host zone1_acer12 { hardware ethernet 98:ee:xx:99:37:a1; fixed-address 192.168.6.152; }
}
group {
option domain-name-servers 192.100.77.10, 192.100.77.11;
host zone2_acer24 { hardware ethernet 98:ee:xx:99:37:a6; fixed-address 192.168.6.156; }
}
group {
option domain-name-servers 192.100.77.10, 192.100.77.11;
host zone3_note31 { hardware ethernet 1c:c1:xx:95:89:30; fixed-address 192.168.6.157; }
}


2. Download shell script นี้มาใช้ ด้วยคำสั่ง wget

wget http://ftp.psu.ac.th/pub/psu-installer/veyon/exporthosts2veyon.sh


3. Run
bash exporthosts2veyon.sh
จะมี options 3 อย่างให้เลือกใช้ คือ

root@psu-fog:~# bash exporthosts2veyon.sh

Usage 1: bash exporthosts2veyon.sh --file /etc/dhcp/dhcpd.hosts.conf
 Convert hosts from /etc/dhcp/dhcpd.hosts.conf to /var/www/veyon/veyonhosts.cmd

Usage 2: bash exporthosts2veyon.sh --file filename
 Convert hosts from a dhcp file to veyonhosts.cmd

Usage 3: bash exporthosts2veyon.sh --url http://yourserver/dhcpd.txt
 Convert hosts from a web file to veyonhosts.cmd

ตัวอย่างใช้งาน option 1

bash exporthosts2veyon.sh --file /etc/dhcp/dhcpd.hosts.conf

จะได้ไฟล์ /var/www/veyon/veyonhosts.cmd
หมายเหตุ ubuntu server ใช้ apache2 web server directory root คือ /var/www
เข้าหน้าเว็บ http://serverip/veyon/


4. ต่อไป ให้ Download veyonhosts.cmd ไว้ใน C: ไดเรกทอรีใดก็ได้ เช่น Download เป็นต้น
แล้วคลิกขวาที่ชื่อไฟล์ veyonhosts.cmd แล้วเลือก Run as Administrator
ผลลัพธ์จะมีรายชื่อเครื่องในห้องเรียนเพิ่มเข้าใน Veyon Master โดยเราไม่ต้องทยอยใส่ทีละเครื่อง


NOTE: shell script exporthosts2veyon.sh สร้างไฟล์ veyonhosts.cmd ให้ ข้างล่างนี้คือตัวอย่างที่ได้

cd /d "C:\Program Files\Veyon"
veyon-wcli networkobjects add location "zone1"
veyon-wcli networkobjects add computer zone1_acer11 192.168.6.151 98:ee:xx:99:37:a0 zone1
veyon-wcli networkobjects add computer zone1_acer12 192.168.6.152 98:ee:xx:99:37:a1 zone1
veyon-wcli networkobjects add location "zone2"
veyon-wcli networkobjects add computer zone2_acer24 192.168.6.156 98:ee:xx:99:37:a6 zone2
veyon-wcli networkobjects add location "zone3"
veyon-wcli networkobjects add computer zone3_note31 192.168.6.157 1c:c1:xx:95:89:30 zone3
pause