+ All Categories
Home > Documents > Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... ·...

Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... ·...

Date post: 28-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
86
ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล Hospital Internet System Control นายปฐมฤกษ วรวานิช Mr. Pathomlurk Worawanich สารนิพนธ์นี้เป็นส่วนหนึ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชา วิศวกรรมเครือข่าย คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2560
Transcript
Page 1: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

Hospital Internet System Control

นายปฐมฤกษ วรวานิช

Mr. Pathomlurk Worawanich

สารนพินธ์นี้เป็นส่วนหนึง่ของการศึกษา

หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชา วศิวกรรมเครอืข่าย

คณะวิทยาการและเทคโนโลยีสารสนเทศ

มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2560

Page 2: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

i

หัวข้อ ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

Hospital Internet System Control

ชื่อนักศึกษา ปฐมฤกษ วรวานิช

รหัสนักศึกษา 5717660010

หลักสูตร วิศวกรรมเครือข่าย

ปีการศึกษา 2559

อาจารย์ท่ีปรึกษา ผศ.ดร.วรพล ลีลาเกียรติสกุล

บทคัดย่อ

สารนิพนธ์นี้ได้น าเสนอโครงงานเกี่ยวกับระบบบริหารจัดการการใช้งานอินเตอร์เน็ตภายใน

โรงพยาบาล เพ่ือการให้บริการที่มีความสะดวกสบายมากขึ้นต่อผู้รับบริการ ซึ่ง ได้มีการน าหลักการ

ท างานของ Linux Traffic control, Iptables, PHP, Mysql, มาร่วมกันท างาน เป็น Internet

gateway เพ่ือใช้ในการควบคุม การใช้งานอินเตอร์เน็ตภายในโรงพยาบาลให้มีประสิทธิภาพมากและ

ได้ประโยชน์สูงสุด วิธีการก าหนดสิทธ์การใช้งาน จะอ้างตามรายบุคคลที่เป็นลูกค้าทั้งหมด เพ่ือความ

สะดวกในการเข้าใช้งานของผู้ป่วย ลดขั้นตอน ลดความสับซ้อนในการลงทะเบียน และมีหน้า Web

application ในการบริหารจัดการตัวระบบต่างๆส าหรับผู้ดูแลระบบ (Administrator)

Page 3: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ii

กิตติกรรมประกาศ

สารนิพนธ์ฉบับนี้ส าเร็จลุล่วงได้ทั้งนี้ ด้วยการได้รับความกรุณาช่วยเหลือให้ค าแนะน าการ ด าเนินงานโครงงาน และได้รับการสนับสนุนจากผู้มีพระคุณหลายท่านด้วยกัน โดยเฉพาะอย่างยิ่ง การได้รับความกรุณาและดารช่วยเหลือ จาก ดร.วรพล ลีลาเกียรติสกุล อาจารย์ที่ปรึกษาท่ีได้เสียสละเวลาให้ค าปรึกษาตรวจสอบข้อบกพร่องของระบบให้มีความสมบูรณ์

อีกท้ัง เพ่ือนๆที่คอยช่วยเหลือสนับสนุนการจัดท าสารนิพนธ์ฉบับนี้ ให้มีความสมบูรณ์ยิ่งขึ้น ขอกราบขอบพระคุณ คณาจารย์ทุกท่าน ที่ได้ช่วยประสิทธิป์ ประสาทวิชาความรู้จนสามารถ น าความรู้นั้นมาใช้ในการศึกษาครั้งนี้ จนได้จัดท าสารนิพนธ์ส าเร็จได้ด้วยดี ท้ายนี้ขอกราบ ขอบพระคุณบิดามารดาที่คอยสนับสนุนและให้ก าลังใจเสมอมาท าให้การศึกษาในครั้งนี้ส าเร็จ ลุล่วงไปได้ด้วยดี

ปฐมฤกษ วรวานิช

พฤศจิกายน 2560

Page 4: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

iii

สารบัญ

หน้า

บทคัดย่อ ............................................................................................................................................. i

กิตติกรรมประกาศ.............................................................................................................................. ii

สารบัญ .............................................................................................................................................. iii

สารบัญรูป ..........................................................................................................................................v

สารบัญรูป (ต่อ) ................................................................................................................................. vi

สารบัญรูป (ต่อ) ................................................................................................................................ vii

สารบัญตาราง .................................................................................................................................. viii

บทที่ 1 .............................................................................................................................................. 1

1.1 ปัญหาและแรงจูงใจ .................................................................................................................... 1

1.2 แนวทางการแก้ปัญหา ................................................................................................................. 2

1.3 วัตถุประสงค์ ............................................................................................................................... 2

1.4 ภาพรวมของระบบที่จัดท า .......................................................................................................... 3

1.5 ขอบเขตของสารนิพนธ์ ............................................................................................................... 3

1.6 โครงสร้างของสารนิพนธ์ ............................................................................................................. 4

บทที่ 2 .............................................................................................................................................. 6

2.1 Shell Script .............................................................................................................................. 6

2.2 Linux Crontab ......................................................................................................................... 7

2.3 Firewall IPtables ..................................................................................................................... 9

2.4 Linux Traffic Control: tc ...................................................................................................... 18

2.5 ภาษา Structured Query Language (SQL) .......................................................................... 25

2.7 Log Rotate ............................................................................................................................. 27

บทที่ 3 ............................................................................................................................................ 29

3.1 ภาพรวมของระบบ .................................................................................................................... 29

Page 5: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

iv

สารบัญ (ต่อ)

หน้า

3.2 ขั้นตอนในการด าเนินงาน …………………………………………………………………..…………………………..30

3.3 การออกแบบระบบการท างาน .................................................................................................. 31

3.4 การออกแบบระบบฐานข้อมูล ................................................................................................... 41

3.5 การออกแบบหน้า GUI ของระบบ ....................................................................................... 44

บทที่ 4 ............................................................................................................................................ 45

4.1 โครงสร้างของระบบ .................................................................................................................. 45

4.2 ทดสอบควบคุม Bandwidth สภาพแวดล้อมการทดลอง .......................................................... 46

4.3 ทดสอบการใช้งานหน้ายูเซอร์ล็อคอิน (User login) .................................................................. 48

4.4 ทดสอบเข้าใช้งานแอดมินล็อคอิน (Administrator login) ....................................................... 51

4.5 ทดสอบติดตั้งและต้ังค่า DHCP ................................................................................................. 57

บทที่ 5 ............................................................................................................................................ 59

5.1 สรุปผลการด าเนินงาน .............................................................................................................. 59

5.2 ข้อเสนอแนะในการพัฒนาโครงงานต่อไปในอนาคต .................................................................. 59

เอกสารอ้างอิง ................................................................................................................................. 60

ภาคผนวก ก ...................................................................................................................................... 0

การติดตั้งและตั้งค่าระบบเบื้องต้น .................................................................................................. ก-1

ภาคผนวก ข ...................................................................................................................................... 0

ซอร์สโค้ดของระบบ ........................................................................................................................ ข-1

Page 6: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

v

สารบัญรูป

หน้า

รูปที่ 1.1 Network Diagram………………………………………………………………………………………………….3 รูปที่ 2.1 โครงสร้างระบบปฎัติการ linux/unix…………………………………………………………………………6 รูปที่ 2.2 แสดงตัวอย่างการใช้งาน crontab……………………………………………………………………………..8 รูปที่ 2.3 โครงสร้างการท างานของ iptables………………………………………………………………………….12 รูปที่ 2.4 โครงสร้างการท างานของ pfifo_fast queuing………………………………………………………….19 รูปที่ 2.5 โครงสร้างการท างานแบบ Token bucket filter ……………………………………..……………...20 รูปที่ 2.6 โครงสร้างการท างานแบบ Stochastic Fair ………………………………………………..……………21 รูปที่ 2.7 โครงสร้างการท างาน Classful qdisc ในการสร้างคลาสลูก ………………………………………23 รูปที่ 2.8 แสดงตัวอย่างการใช้งาน logrotate …………………………………………………………….………….28 รูปที่ 3.1 ภาพรวมการท างานของระบบ ………………………………………….………………………….………….29 รูปที่ 3.2 ขั้นตอนกระบวนการท างานของการเก็บและเพ่ิมข้อมูลอัตโนมัติ…………………………………..32 รูปที่ 3.3 ตัวอย่าง file Admit……………………………………………………………………………………………….33 รูปที่ 3.4 ตัวอย่าง file Register…………………………………………………………………………………………….33 รูปที่ 3.5 ตัวอย่าง file Discharge………………………………………………………………………………………….33 รูปที่ 3.6 แสดงขั้นตอนกระบวนการเพ่ิมกลุ่มผู้ใช้งานเข้าระบบ………………………………………………….34 รูปที่ 3.7 แสดงขั้นตอนกระบวนการเพ่ิมชื่อผู้ใช้งาน………………………………………………….............……35 รูปที่ 3.8 ขั้นตอนการท างานของระบบ Authentication เพ่ือเข้าใช้งาน…………………………………….37 รูปที่ 3.9 แสดงขั้นตอนกระบวนการท างาน Logout ของระบบ…………………………………………………38 รูปที่ 3.10 แสดงขั้นตอนกระบวนการท างาน auto logout………………………………………………………39 รูปที่ 3.11 แสดงขั้นตอนการควบคุม Bandwidth……………………………………………………………………40 รูปที่ 3.12 ภาพรวมโครงสร้างฐานข้อมูล…………………………………………………………………………………41 รูปที่ 3.13 แสดงหน้าจอการ login ระบบ……………………………………………………………………………….44 รูปที่ 3.14 ตัวอย่างหน้าจอหน้าเว็บการจัดการของระบบ………………………………………………………….44 รูปที่ 4.1 แสดงโครงสร้างการท างานของระบบ………………………………………………………………………..45 รูปที่ 4.2 แสดงตัวอย่าง // path file……………………………………………………………………………………..46 รูปที่ 4.3 สภาพแวดล้อมจ าลองเพ่ือท าการทดสอบระบบ………………………………………………………….46 รูปที่ 4.4 ผลการทดสอบควบคุมแบนด์วิธ……………………………………………………………………………….48 รูปที่ 4.5 แสดงหน้าจอ login ส าหรับผู้ใช้งาน………………………………………………………………………….49 รูปที่ 4.6 แสดงข้อมูลผู้ใช้งานเมื่อท าการ login เข้าระบบเรียนร้อยแล้ว.....…………………………………49

Page 7: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

vi

สารบัญรูป (ต่อ)

หน้า

รูปที่ 4.7 แสดงผลการใช้งาน internet ..………………………………………………………………………………..50 รูปที่ 4.8 แสดงผลการทดสอบ ping ออก internet ..………………………………………………………………50 รูปที่ 4.9 แสดงหน้าจอส าหรับผู้ใช้งานทั่วไป ..…………………………………………………………………………51 รูปที่ 4.10 แสดงผลหน้าจอ System information .……………………………………………………………….52 รูปที่ 4.11 แสดงผลหน้าจอการตั้งค่า IP Interface ..……………………………………………………………….52 รูปที่ 4.12 แสดงผลหน้าจอการ maintenance server ..………………………………………………………..53 รูปที่ 4.13 แสดงผลหน้าจอการเพ่ิมผู้ใช้งานเข้าระบบ ..…………………………………………………………...53 รูปที่ 4.14 หน้าจอแสดงผลผู้ใช้งานทั้งหมดในระบบ ..………………………………………………….…….…….54 รูปที่ 4.15 หน้าจอแสดงผลการแก้ไขผู้ใช้งาน ..………………………………………………………….……….……54 รูปที่ 4.16 แสดงผลหน้าจอการเพ่ิมกลุ่มผู้ใช้งาน ..…………………………………………………………….…….55 รูปที่ 4.17 แสดงหน้าจอการตั้งค่า DHCP ของระบบ ..………………………………………………….….………56 รูปที่ 4.18 แสดงผลหน้าจอการตั้งค่า DNS ของระบบ ..………………………………………………..………….56 รูปที่ 4.19 ผลลัพธ์จากการติดตั้ง DHCP ……..…………………………………………………………….…………..57 รูปที่ 4.20 แสดงข้อมูลการก าหนดค่า DHCP ..………………………………………………………….…….………57 รูปที่ 4.21 แสดงการท างานของ DHCP ………….…………………………………………………….………..……..58 รูปที่ 4.22 แสดงผลการจ่ายไอพีของ DHCP server ………………….…..……………….…………………….. 58 รูปที่ ก.1 การตั้งค่า eth0 ................................................................................................................ก-1 รูปที่ ก.2 การตั้งค่า eth1 …..……………………………………………………………………………………………….ก-1 รูปที่ ก.3 แสดงค าสั่งการท างาน ifconfig ........................................................................................ก-2 รูปที่ ก.4 ผลลัพธ์จากการติดตั้ง DHCP ...........................................................................................ก-3 รูปที่ ก.5 แสดงข้อมูลการก าหนดค่า DHCP ....................................................................................ก-3 รูปที่ ก.6 แสดงการท างานของ DHCP .............................................................................................ก-4 รูปที่ ก.7 การเพ่ิมสิทธิ์ในการรัน apache .......................................................................................ก-4 รูปที่ ก.8 การใช้งาน startup config ..............................................................................................ก-5 รูปที่ ก.9 แสดง tc class ที่ถูกสร้างขึ้น ...........................................................................................ก-6 รูปที่ ก.10 แสดงการตั้งค่า SNMP ...................................................................................................ก-7 รูปที่ ก.11 แสดงการท างานของ Iptables ......................................................................................ก-8

Page 8: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

vii

สารบัญรูป (ต่อ)

หน้า

รูปที่ ข.1 โค้ดท่ีใช้ในการเริ่มะบบ .....................................................................................................ข-1

รูปที่ ข.2 สคริปต์การตั้งค่า networkinterface ..............................................................................ข-2

รูปที่ ข.3 สคริปต์การตั้งค่า DHCP ...................................................................................................ข-2

รปูที่ ข.4 แสดงโค้ดการอ่านข้อมูล ...................................................................................................ข -3

รูปที่ ข.5 แสดงโค้ดการก าหนดแบนวิดท์ .........................................................................................ข-3

รูปที่ ข.6 แสดงโค้ดการเก็บข้อมูลเข้าระบบ .....................................................................................ข-4

รูปที่ ข.7 แสดงโค้ดการบันทึกข้อมูล ................................................................................................ข-5

รูปที่ ข.8 โค้ดการตั้งค่า DHCP ผ่านหน้าเว็บแอพพลิเคชั่น ..............................................................ข-5

รูปที่ ข.9 โค้ดแสดงการเรียกข้อมูลของระบบผ่าน SNMP ...............................................................ข-6

Page 9: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

viii

สารบัญตาราง

หน้า

ตารางที่ 2.1 แสดงการก าหนดค่าภายใน fields เพ่ือการใช้งาน crontab ……………………………………7

ตารางที่ 2.2 แสดง Table และ Chain ของ iptables ..…………………………………………………………….9

ตารางที่ 2.3 แสดงความหมายของค าสั่งการใช้งาน iptables V1.4.21 .......……………………………….10

ตารางที่ 2.4 จากรูป 2.1 อธิบายขั้นตอนเมื่อได้รับ packet เข้ามา ..………………………………………….13

ตารางที่ 2.5 จากรูป 2.1 แสดงการท างานกรณีที่มี packet ปลายทางไม่ใช่เครื่องไฟร์วอล์ .….……..13

ตารางที่ 2.6 จากรูป 2.1 แสดงการท างานกรณีที่มี packet ปลายทางเป็นเครื่องไฟร์วอล์ ………..….14

ตารางที่ 3.1 Patient_Account ..…………………………………………………………………………………………41

ตารางที่ 3.2 Groups_Account ..…………………………………………………………………………………………42

ตารางที่ 3.3 Active_login ..………………………………………………………………………………………………..43

ตารางที่ 3.4 Login_Log ..……………………………………………………………………………………………………43

Page 10: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

บทที่ 1

บทน า

1.1 ปัญหาและแรงจูงใจ

ปัญหาและแรงจูงใจ เนื่องจากโรงพยาบาลแห่งหนึ่งจะมีการให้บริการ Internet แบบ

Free WIFI ให้แก่ลูกค้าที่เข้ามารับการรักษาพยาบาลกับทางโรงพยาบาลเท่านั้น ซึ่งปัจจุบันทาง

โรงพยาบาลแห่งนี้ เปิดให้บริการ Free WIFI ส าหรับลูกค้าที่ เข้ามารับการรักษา โดยไม่มีการ (

Authentication ) ใดๆ ท าให้บุคคลอ่ืนๆที่ไม่เก่ียวข้องสามารถใช้งานได้เช่นกัน และเนื่องจากไม่มีการ

ยืนยันตัวตน ( Authentication ) ใดๆ ซึ่งยากต่อการตรวจสอบหากมีการกระท าความผิดใดๆ และ

ปัญหาการเก็บข้อมูลจราจรทางคอมพิวเตอร์ (พ.ร.บ.ว่าด้วยการกระท าความผิดเกี่ยวกับคอมพิวเตอร์

พ.ศ.2550) และอีกหนึ่งปัญหาที่ตามมาก็คือจ านวนปริมาณการใช้งานของระบบ free WIFI ที่ไม่

สามารถควบคุมปริมาณการใช้งานของแต่ละ User ได้ ท าให้เกิดการแย่งใช้งาน Bandwidth ท าให้

การใช้งานอินเตอร์เน็ตเป็นไปอย่างไม่มีประสิทธิ์ภาพ จนเกิดเสียงวิพากษ์วิจารณ์ตามมา ท าให้องค์กร

เสียภาพลักษณ์ในการให้บริการ

จากปัญหาที่กล่าวมาหากไม่ได้รับการแก้ไขปรับปรุงจะท าให้ภาพลักษณ์ขององค์กรเสียหาย

ในด้านการให้บริการ เป็นผลกระทบในเชิงลบต่อองค์กร ท าให้ความเชื่อมั่นด้านการให้บริการลดลง

การจัดท าระบบการควบคุมการใช้งานจึงมีความส าคัญเป็นอย่างมากในการให้บริการอิเตอร์เน็ต

ภายในโรงพยาบาลแห่งนี้ ทั้งยังสามารถป้องการการลักลอบใช้งานอินเตอร์เน็ตภายในโรงพยาบาล

สามารถตรวจสอบการใช้งานได้ตามกฎหมาย พรบ ลดปัญหาการแย่งใช้งาน Bandwidth และลดการ

ลงทะเบียนซ้ าบซ้อนของผู้ที่เข้ามารับการรักษากับทางโรงพยาบาลหรือลูกค้า ผู้จัดท าจะท าระบบเป็น

แบ บ Web Application ที่ ส ามารถอางอิ งข้ อมู ล จากทาง Data base ใน ระบ บ Hospital

Information System (HIS) ของคนไข้มาใช้งานและสร้างเป็น User ในการเข้าใช้งาน และสามารถ

ควบคุมการใช้งาน bandwidth ของแต่ละ User ได้

Page 11: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

2

1.2 แนวทางการแก้ปัญหา

ผู้ จั ดท าจะท าระบบ เป็ นแบบ Web Application ที่ ส ามารถควบคุ มการใช้ งาน

bandwidth ของแต่ละ User ได้จาก Web Application เพ่ือส่งค าสั่งการท างานไปที่ Gateway

server ให้คอยบริหารจัดการการใช้งานต่างๆ โดยมีผู้ดูแลระบบเป็นคนจัดการ การยืนยันตัวตน

(authentication) เพ่ือเข้าใช้งานระบบ WIFI จะใช้ username password ที่อ้างอิงข้อมูลจาก Data

base ภายในระบบโรงพยาบาล (Hospital Information System) โดยใช้ข้อมูลคนไข้มาสร้างเป็น

Username password ในการเข้าใช้งาน เพ่ือเพ่ิมความสะดวกต่อลูกค้าในการเข้าใช้งานระบบ

(WIFI)

1.3 วัตถุประสงค์

1. เพ่ือแก้ไขปัญหาของการ authentication ให้สามารถระบุตัวตนของผู้ใช้ได้ 2. เพ่ือแก้ไขปัญหาการใช้งานแบนวิท Bandwidth 3. เพ่ือให้สามารถตรวจสอบการใช้งานตาม กฎหมาย พรบ ที่ก าหนด 4. เพ่ืออ านวยความสะดวกแก่ผู้ใช้งานที่เข้ามารับบริการให้ไม่ต้องลงทะเบียนการใช้งาน

ซ้ าซ้อน 5. ศึกษาและน าความรู้ทางด้านเทคโนโลยี (Open Source) ต่างๆมาประยุกชใช้ให้เกิด

ประโยชน์ 6. เพ่ือเพ่ิมความสะดวกต่อการบริหารจัดการ bandwidth

Page 12: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

3

1.4 ภาพรวมของระบบท่ีจัดท า

รูปที ่1.1 Network Diagram

จากรูปที่ 1.1 แสดงภาพรวมของระบบที่จัดท า การท างานจะเริ่มจากระบบฐานข้อมูลของ

ทางโรงพยาบาล จะส่งข้อมูลเฉพาะของผู้ที่มารับบริการเข้ามาที่ share path \\ ที่ได้ก าหนดไว้

จากนั้นระบบจะท าการอ่านข้อมูลจาก .txt ที่ถูกส่งมายัง share path \\ เมื่ออ่านข้อมูลเรียบร้อยจะ

ท าการแยกประเภทของผู้รับบริการและท าการบันทึกข้อมูลเข้าระบบ และเมื่อผู้เข้ามารับบริการท า

การเชื่อต่ออินเตอร์เน็ตของโรงพยาบาล ระบบจ าท าการ redirect เข้าหน้า login เพ่ือตรวจสอบสิทธิ์

ในการเข้าใช้งานอินเตอร์เน็ต

1.5 ขอบเขตของสารนิพนธ์

1. ศึกษาทฤษฎีที่เกี่ยวข้อง

- การเขียนโปรแกรมด้วยภาษา PHP

- การใช้งาน MYSQL Database

- การท างานของ IP TABLES

Page 13: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

4

- การจ ากัดแบนด์วิดท์

- การใช้งาน Samba

2. ศึกษาและออกแบบ

- องค์ประกอบของระบบ

- กระบวนการท างานของระบบ

- ออกแบบโครงสร้างฐานข้อมูล

3. สร้างระบบจัดการการใช้งาน internet gateway

- จ ากัดแบนวิธ bandwidth ในการแก้ไขเปลี่ยนแปลง

4. สร้างเว็บแอปพลิเคชั่น ส าหรับผู้ดูแลระบบ

- สามารถสร้าง Group Bandwidth ได ้

- สามารถตั้งค่า IP Address ผ่านหน้าเว็บได้

- สามารถดูสถานะของผู้ใช้งาน (Online, Offline)

5. สร้างหน้าเว็บ login ส าหรับผู้ใช้งานทั่วไป

6. สร้างระบบฐานข้อมูลโดยอ่านข้อมูลลูกค้าจากไฟล์ Hospital information

system (HIS) ที่ถูกส่งมาท่ี share path

7. สร้างระบบการยืนยันตัวตน Authentication ส าหรับการเข้าใช้ระบบอินเตอร์เน็ต

1.6 โครงสร้างของสารนิพนธ์

1.6.1 บทที่ 2 ทฤษฎีที่เกี่ยวข้อง

เป็นการอธิบายเกี่ยวกับทฤฏีที่เกียวข้องกับระบบ โดยจะมีทฤษฏีพื้นฐานหลักๆดังนี้

Linux IPtables

Linux traffic control tc

Shell script

Linux log

Mysql

Page 14: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

5

1.6.2 บทที่ 3 การออกแบบและพัฒนาระบบ

การออกแบบระบบผู้นิพนธ์ ต้องการให้ระบบสามารถท างานได้โดยการใช้งานข้อมูลร่วมกับ

ระบบสารสนเทศของทางโรงพยาบาล ERP( erter prise resource planning ) ซึ่งข้อมูลผู้ ใช้งาน

จะส่งมาที่ระบบ จากนั้นระบบจะอ่านและบันทึกข้อมูลรวมถึงการจัดการสิทธิ์ ในการเข้าใช้งานอิน

เทอร์แน็ตแบบอัตโนมัต เพื่อให้ลดภาระของผู้ดูและระบบแบบเก่า โดยส่วนการท างานหลักๆจะมีอยู่ 2

ส่วน ส่วนที่หนึ่งคือการท างานภายในระบบที่มีระบบปฏิบัติการลินุกส์ (linux) เป็นตัวจัดการทราฟฟิก

(traffic) ภายในที่ต้องการใช้งานออกไปยังอินเทอร์เน็ต และส่วนที่สองคือ ส่วนของของผู้ใช้งานที่

สามารถสั่งการท างาน ปรับเปลี่ยนแก้ไขการท างานได้ผ่านทางหน้าเว็บ (user interface) และใช้ใน

การยืนยันตัวตนเพื่อเข้าใช้งานระบบ

1.6.3 บทที่ 4 ผลการทดลอง

แสดงผลของการท างานจากการออกแบบและติดตั้งเซอร์วิสต่างๆที่จ าเป็นต่อระบบ ซึ่งจะมี

รูปภาพประกอบการท างานของแต่ละฟังก์ชั่นงานที่ถูกออกแบบและจัดท าขึ้น เช่น การก าหนดแบนด์

วิดท,์ การตั้งค่าระบบผ่านหน้าเว็บ, การก าหนดสิทธิ์การใช้งาน เป็นต้น

1.6.4 บทที่ 5 สรุปผลการด าเนินงาน

เป็นการรวบรวมปัญหาที่เกิดขึ้นและแนวทางแก้ไขหรือพัฒนาต่อยอดในอนาคต

Page 15: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

6

บทที่ 2

พื้นฐานและทฤษฎีที่เกี่ยวข้อง

2.1 Shell Script

Shell Script เปรียบเสมือนภาษาโปรแกรมชนิดหนึ่ง ส าหรับระบบปฎิบัตการ unix หรือ

linux โดยมีคุณสมบัติเป็น Programming Language การท างานแบบ command-line ท าหน้าที่

เป็น interface ติดต่อระหว่าง user กับระบบปฎิบัติการ unix, linux ซึ่งช่วยให้ผู้ดูแลระบบหรือ

ผู้ใช้งานสามารถท างานได้รวดเร็วมากยิ่งขึ้น ด้วยการรวมค าสั่งและเงื่อนไขต่างๆของระบบปฎิบัตการ

จากนั้นเขียนลงใน file ที่ท าเป็นไฟล์ shell script เมื่อผู้ใช้งานเขียนค าสั่งเสร็จแล้วท าการ execute

ผลลัพธ์ที่ได้จะออกมาในรูปแบบ text file โดยโครงสร้างการท างานของระบบปฎิบัติการ unix หรือ

linux จะมีอยู่ 4 ส่วนด้วยกันคือ Hardware, kernel, shell, application ดังรูปภาพ

รูปที ่2.1 โครงสร้างระบบปฎัติการ linux/unix

Page 16: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

7

2.2 Linux Crontab

คือ การตั้งเวลาการท างานตามเวลาที่ก าหนด ซึ่งช่วยให้ผู้ใช้งานหรือผู้ดูแลระบบมีความ

สะดวกมากยิ่งขึ้น ในการที่จะต้องคอยสั่งงานบางอย่างซ้ าๆกันหลายๆครั้ง อาจจะเป็นทุกๆวัน ทุกๆ

เดือน

ค าสั่งและ option ของ crontab มีดงันี้

#crontab filename คือการน าเอาค าสั่ง crontab เข้ามาจาก ไฟล์อ่ืน

#crontab -e คือการเข้าไปแก้ไขไฟล์ crontab ปัจจุบัน

#crontab -l ใช้แสดงค าสั่งต่างๆที่อยู่ภายใน crontab ปัจจุบันทั้งหมด

#crontab -r ลบค าสั่งภายใน crontab ที่มีท้ังหมด

#crontab -u user เป็นค าสั่งของผู้ดูแลระบบเท่านั้น เพ่ือใช้ดู แก้ไข ลบ crontab ของ

user แต่ละคน

การก าหนดค่าเวลา รูแปบบค าสั่งเพ่ือให้ค าสั่งถูกสั่งท างานตามต้องการ จะมีอยู่ทั้งหมด 6 fields ดังนี้

* * * * * * command เรียงล าดับตามเครืองหมาย * หมายถึง minute hour day

month weekday command ตามล าดับ

ตารางท่ี 2.1 แสดงการก าหนดค่าภายใน fields เพ่ือการใช้งาน crontab

field ความหมาย

1 minute มีค่า 0 - 59 เวลาเป็นนาที จะสั่งให้ค าสั่งที่ก าหนดท างานทันท่ีเมื่อถึงนาทีที่ก าหนด และหากก าหนดด้วย * หมายถึงทุกๆนาที

2 hour มีค่า 0 - 23 เวลาเป็นชัว่โมง จะสั่งให้ค าสั่งที่ก าหนดท างานทันท่ีเมื่อถึงชั่วโมงท่ีก าหนด และหากก าหนดด้วย * หมายถึงทุกๆชั่วโมง

3 day มีค่า 1 - 31 เวลาเป็นวัน จะสั่งให้ค าสั่งที่ก าหนดท างานทันที่เมื่อถึงวันที่ก าหนด และหากก าหนดด้วย * หมายถึงทุกๆวัน

4 month มีค่า 1 - 12 เวลาเป็นเดือน จะสั่งให้ค าสั่งที่ก าหนดท างานทันที่เมื่อถึงเดือนที่ก าหนด และหากก าหนดด้วย * หมายถึงทุกๆเดือน

5

weekday มีค่า 0 - 6 วันขะงแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0, จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 ,เสาร์ = 6 ) และหากก าหนดด้วย * หมายถึงทุกๆ วันของสัปดาห์

Page 17: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

8

6 command ค าสั่ง เราสามารถก าหนดค าสั่งได้มากมาย รวมทั้ง script ต่าง ๆ ตามที่เราต้องการ

ตัวอย่างการท างาน จากตารางที่ 2.1

1. ระบุเฉพาะเวลาที่ต้องการ

เช่น อยากให้รันค าสั่งทุกๆ 3:00 โมงของทุกวัน 0 3 * * * command

2. ระบวุันที่ต้องการ

เช่น อยากให้รันค าสั่งทุกๆวันจันทร์ถึงวันพุธ 0 0 * * 1-3 command

3. ระบุเป็นแบบวันที่

เช่น อยากให้รันค าสั่งทุกๆ วันที่ 1 5 และ 19 คือ 0 0 1,5,19 * * command

4. ระบุช่วงเวลาเป็นประจ า ทุกๆ กี่ x นาท ี

เช่น อยากให้รันค าสั่งทุกๆ 2 นาท ี ก็จะเป็น */2 * * * * command

ภาพตัวอย่างการใช้งาน crontab ดังรูปที่ 2.2

รูปที ่2.2 แสดงตัวอย่างการใช้งาน crontab

Page 18: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

9

2.3 Firewall IPtables

ไฟร์วอลล์ (Firewall) คือ ซอฟต์แวร์หรือฮาร์ดแวร์ ที่ท าหน้าที่ เป็นตัวกรองแพ็กเก็ต

(packet) หรือข้อมูลการสื่อสารอิเล็กทรอนิกส์ และป้องกันการถูกบุกรุกจากผู้ที่ไม่หวังดีหรือผผู้ที่ไม่ได้รับอนุญาต เป็นเครื่องมือที่ใช้รักษาความปลอดภัยในระบบเครือข่าย โดยมีการก าหนดกฎระเบียบในการควบคุมการเข้า-ออก หรือการควบคุมการรับ-ส่งข้อมูล รวมถึงการเข้าถึงของข้อมูลนั้นๆด้วย ส าหรับระบบปฏิบัติงานลีนุกซ์ซึนั้นมี ไอพีเทเบิ้ลส์ (iptables) เป็นซอฟต์แวร์ซึ่งท าหน้าที่เป็นไฟร์วอลล์ โดยจะคัดกรองและตรวจสอบแพ็กเก็ตของข้อมูลต่างๆ ที่ถูกส่งเข้าและออก

ไอพีเทเบิลส์ (iptables) แยกฟังก์ชั่นในการกรองแพ็กเก็ตออกเป็น 3 ตาราง (Table) คือ

- Filter table ใช้ส าหรับการคัดกรองแพ็กเก็ต - Nat table ใช้ส าหรับแปลงไอพีแอดเดรส (Network Address Translation) - Mangle table ใช้ส าหรับเปลี่ยนแปลงแก้ไขข้อมูลของแพ็กเก็ต เช่นค่า MARK,

TOS, TTL

ตารางท่ี 2.2 แสดง Table และ Chain ของ iptables

Table Function Chain Description

Filter

Packet filtering

FORWARD ส าห รั บ ก รอกแ พ็ ก เก็ ตที่ มี ก ารส่ งต่ อ ไป ยั งอินเตอร์เฟสอื่น

INPUT

ส าหรับกรอกแพ็กเก็ตที่ส่งมายังเครื่องโลโคอลต์โอสต์(localhost) ไม่ว่าจะผ่านอินเตอร์ใดก็ตาม

OUTPUT ส าหรับกรองแพ็กเก็ตที่ส่งออกจากเครื่องโลคอลต์โฮสต์

Nat Network Address

Translation

PREROUTING ส าหรับแปลงไอพีแอดเดรส ก่อนการท า routing

POSTROUTING ส าหรับแปลงไอพีแอดเดรส หลังการท า routing OUTPUT ส าหรับแปลงไอพีแอดเดรส ที่ถูกสร้างจากไฟร์

วอลล์ Mangle TCP header

modification

PREROUTING POSTROUTING

OUTPUT FORWARD

ส าหรับแก้ไขเปลี่ยนแปลงข้อมูลของแพ็กเก็ต

Page 19: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

10

ตารางท่ี 2.3 แสดงความหมายของค าสั่งการใช้งาน iptables V1.4.21

ค าสั่ง ความหมาย

-A --append การเพ่ิมกฎใหม่เข้าไปต่อท้าย chain เช่น iptables -A INPUT -p ALL -i eth0 -j ACCEPT

-D --delete การลบกฎออกจาก chain เช่น iptables -D INPUT –dport 80 -j DROP

-I --insert การแทรกกฎใหม่ของ chain เช่น iptables -I OUTPUT -p ALL -s 10.20.30.40/32 -j ACCEPT

-R --replace การแทนที่กฎใหม่ที่มีอยู่แล้วใน chain

-L --list

การแสดงรายการต่างๆของกฏ ของ Chain ที่ก าหนดไว้ เช่น iptables -L iptables -L -t nat iptables -L INPUT

-C, --check ตรวจสอบการมีอยู่ของกฎ iptables –C ตามด้วยกฎการใช้งานที่ต้องการ

-F, --flush การลบกฎต่างๆทั้งหมด ใน Chain เช่น iptables -F

-Z, --zero การตั้ง ค่า Counter ของแพ็กเก็ตและไบต์ให้เป็น “0” (Reset) เช่น iptables -Z INPUT

-N, --new-chain การสร้าง Chain ขึ้นมาใหม่ เช่น iptables -N mychain

-X, --delete-chain การลบ Chain ที่สร้างขึ้นมา ( ไม่สามารถลบ built in Chain ได้)เช่น iptables -X emptychain

-P, --policy การก าหนด Policy ของ Built in Chain (Default Policy เป็น ACCEPT) เช่น iptables -P FORWARD DROP

-E, --rename-chain การเปลี่ยนชื่อ Chain ใหม่ เช่น iptables -E myoldchain mynewchain

-x, --exact การใช้ร่วมกั[บ –L และ –V เพ่ือให้แสดงจ านวนแพ็กเก็ตและจ านวนของ byte ข้อมูลที่ match โดยไม่ให้แสดงหน่วยของ K,M,G เช่น iptables -L OUTPUT -v –x

Page 20: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

11

-n, --numeric ใช้ร่วมกับ -L เพ่ือสั่งให้ iptables แสดงข้อมูลไอพีแอดเดรสและ port เป็นตัวเลขเท่านั้น เช่น iptables -L OUTPUT -n

--line-numbers การใช้ร่วมกับ -L เพ่ือแสดงเลขบรรทัดของ rule ซึ้งตัวเลขที่แสดงนี้ จะสามารถใช้ได้กับค าสั่ง insert rule ที่ระบุเป็นล าดับที่ของ rule เช่น iptables -L --line-number

-d, --destination การระบุ ip address ปลายทางในกฏที่ต้องการ match iptables -A INPUT -d 10.20.30.40/32 -p tcp -j ACCEPT

-s, --source การระบุ ip address ต้นทางในกฏที่ต้องการให้ match iptables -A INPUT -s 10.20.30.40/32 -p tcp -j ACCEPT

-p, --protocol การระบุ protocol ต่างๆที่ต้องการจะให้ match iptables -A INPUT -d 10.20.30.40/32 -p tcp --dport 80 -j ACCEPT

-I, --in-interface การระบุ interface ขาเข้า iptables -A INPUT -i eth1 -d 10.20.30.40/32 -p tcp --dport 80 -j ACCEPT

-o, --out-interface การระบุ interface ขาออก iptables -A INPUT -o eth0 -d 10.20.30.40/32 -p tcp --dport 80 -j ACCEPT

อธิบายแพ็กเก็ต (packet) เดินทางในระบบอย่างไร

เมื่อแพ็กเก็ต (packet) เข้ามาถึงไฟร์วอลล์ (Firewall) มันจะผ่านฮาร์ดแวร์เข้ามายังอุปกรณ์ในชั้นเคอร์เนล จากนั้นแพ็กเก็ต (packet) จะเดินทางต่อไปเป็นทอดๆ ก่อนที่จะถูกส่งไปยังปลายทางที่แท้จริง เช่น แอพลิเคชั่นในเครื่องไฟร์วอลล์ หรือ forward ต่อไปยังเครื่องอ่ืน ซึ่งจะยกตัวอย่างเพ่ือให้เห็นภาพอย่างชัดเจน ดังรูปที่ 2.3

Page 21: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

12

ด้านล่างแสดงภาพรวมการท างานของ iptables แสดงลักษณะการไหลของข้อมูลที่วิ่งผ่าน iptables รูปที่ 2.3 ถือเป็นสิ่งส าคัญในการท าความเข้าใจการท างานของ iptables

รูปที ่2.3 โครงสร้างการท างานของ iptables

Page 22: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

13

ตารางท่ี 2.4 จากรูป 2.3 อธิบายขั้นตอนเมื่อได้รับ packet เข้ามา

Step Table Chain Comment

1 ข้อมูลอยู่ในระหว่างการเดินทาง เช่น ก าลังมาจากอินเทอร์เน็ต

2 ข้อมูลเข้ามายังเครื่องไฟร์วอลล์ผ่านทาง incoming interface (เช่น eth0)

3 mangle PREROUTING ใช้ส าหรับการท า mangling packet เท่านั้น

4 nat PREROUTING

chain นี้ใช้ส าหรับท า Destination Network Address Translation ไม่ควรสร้าง rule เพ่ือกรอง packet ที ่chain นี้ เพราะอาจจะมีบาง packet ที่ไม่เข้าสู่ chain นี้ มีแค่ packet แรกเท่านั้นที่ผ่านเข้าสู่ chain ส่วน packet ถัดไปใน connection เดียวกนันั้น จะถูกกระท าเหมือนกับท่ี packet แรกได้รับ

5 เข้าสู่ Routing process เพ่ือตัดสินใจว่า packet จะถูกส่งไปที่ใด

จากตารางที่ 2.4 แสดงขั้นตอนเมื่อ packet เดินทางเข้ามายังเครื่องไฟร์วอลล์ ผ่านทาง

incoming interface ดังรูปที่ 2.3

ตารางที ่2.5 แสดงการท างานกรณีท่ีมี packet ปลายทางไม่ใช่เครื่องไฟร์วอล์

Step Table Chain Comment 1 หลังจากเข้าสู่ Routing process และตัดสินใจได้ว่า

packet จะถูกส่งไปที่ใด 2 mangle FORWARD ใช้ส าหรับการท า mangling packet

3 filter FORWARD

เนื่องจากในตัวอย่างนี้ packet จะถูกส่งไปยังเครื่องอ่ืนในเครือข่าย ดังนั้น packet จึงต้องผ่านเข้า FORWARD chain ของ filter table ซึ่งสามารถเขียน rule ส าหรับควบคุมการผ่านเข้าออกของ packet ส าหรับ forwarded packet ได้ที่นี่

4 mangle POSTROUTING ใช้ส าหรับการท า mangling packet

Page 23: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

14

5

nat POSTROUTING

และก่อนที่ packet จะออกไปจากเครื่องไฟร์วอลล์ โดยส่วนใหญ่ จะผ่าน (ไม่ใช่ทั้ง หมด) chain นี้ ซึ่งใช้ท า Source Network Address Translation ไม่ควรสร้าง rule เพ่ือกรอง packet ที ่chain นี้ เพราะอาจจะมีบาง packet ที่ไม่เข้าสู่ chain นี้ มีแค่ packet แรกเท่านั้นที่ผ่านเข้าสู่ chain ส่วน packet ถัดไปใน connection เดียวกันนั้น จะถูกกระท าเหมือนกับที่ packet แรกได้รับ

6 packet ออกไปทาง outgoing interface

อย่างที่เห็นจากตาราง 2.5 คือ packet ที่มีปลายทางที่ไม่ใช่เครื่องไฟร์วอลล์ อาจจะเป็น

packet ที่มาจากอินเตอร์เน็ตหรืออาจจะเป็น packet ที่มาจากเครื่องลูกในเครือข่ายที่ต้องการส่งออกไปยังอินเตอร์เน็ตหรือที่ใดก็ตามที่ไม่ใช่เครื่องไฟร์วอลล์ ซึ่งไม่ว่าจะส่งไปในทิศทางใด packet ก็จะต้องผ่าน chain ในลักษณะด้านบนนี้เสมอ ตารางท่ี 2.6 แสดงการท างานกรณีท่ีมี packet ปลายทางเป็นเครื่องไฟร์วอล์

Step Table Chain Comment

1 หลังจากเข้าสู่ Routing process และตัดสินใจได้ว่า packet จะถูกส่งไปที่ใด

2 mangle INPUT ใช้ส าหรับการท า mangling packet

3 filter INPUT ทุก packet ที่มีเป้าหมายเป็นเครื่องไฟร์วอลล์จะต้องเข้าสู่ chain นี้เสมอ ไม่ว่าจะมาจากอินเตอร์เฟสใดก็ตาม

4 เข้าสู่ Local Routing process

5 mangle OUTPUT ใช้ส าหรับการท า mangling packet เท่านั้น กรอง packet ที่ chain นี้จะไม่มีผลใดๆต่อ packet

6 nat OUTPUT ไม่ได้ใช้งาน

7 filter OUTPUT ใช้ส าหรับกรอง packet ที่ออกมาจาก localhost หรือ เครื่องไฟร์วอลล์เอง

9 mangle POSTROUTING ใช้ส าหรับการท า mangling packet

Page 24: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

15

7 nat POSTROUTING

และก่อนที่ packet จะออกไปจากเครื่องไฟร์วอลล์ โดยส่วนใหญ่ จะผ่าน (ไม่ใช่ทั้ง หมด) chain นี้ ซึ่งใช้ท า Source Network Address Translation ไม่ควรสร้าง rule เพ่ือกรอง packet ที ่chain นี้ เพราะอาจจะมีบาง packet ที่ไม่เข้าสู่ chain นี้ มีแค่ packet แรกเท่านั้นที่ผ่านเข้าสู่ chain ส่วน packet ถัดไปใน connection เดียวกันนั้น จะถูกกระท าเหมือนกับที่ packet แรกได้รับ

อย่างที่เห็นจากตาราง 2.6 คือเมื่อ packet ที่มีปลายทางที่เป็นเครื่องไฟร์วอลล์ อาจจะเป็น packet ที่มาจากอินเตอร์เน็ตหรืออาจจะเป็น packet ที่มาจากเครื่องลูกในเครือข่ายที่ต้องการส่งข้อมูลเข้าไปยังเครื่องไฟร์วอลล์ ก็จะต้องผ่าน chain ในลักษณะด้านบนนี้เสมอ

Filter Table เป็นตารางที่ใช้งานมากที่สุด เป็นจุดที่ใช้ในการตรวจสอบและควบคุมการผ่านเข้าออกของ packet โดยเมื่อ packet เข้ามาในระบบ มันจะเข้าไปยัง routing decision เพ่ือตัดสินใจว่า packet จะถูกส่งไปที่ใด ในกรณีที่ packet ถูกส่งผ่านไปยังเครื่องอ่ืน packet นั้นจะต้องถูกตรวจสอบโดย rule ใน FORWARD chain ถ้า packet นั้น มีเป้าหมายเป็นเครื่องปัจจุบัน (เครื่องที่รัน iptables อยู่นี้ เรียกอีกอย่างว่า (linux box) ตัว packet จะถูกตรวจสอบโดย rule ใน INPUT chain และในกรณีที่ packet ถูกสร้างจากเครื่องปัจจุบัน (linux box) ตัว packet จะถูกตรวจสอบจาก rule ใน OUTPUT chain ก่อนที่จะถูกส่งออกไป

Mangle Table เป็นตารางที่ใช้ส าหรับแก้ไขข้อมูล TOS, TTL, MASK ของ packet ซึ่งโดยปกติแล้วแทบจะไม่ได้ใช้งาน และไม่ควรท า packet filtering หรือกรอง packet ที่ตารางนี้ รวมทั้งไม่ควรท า DNAT, SNAT หรือ Masquerading ที่ตารางนี้อย่างเด็ดขาดด้วย

Nat Table เป็นตารางที่ใช้ส าหรับท า network address translation เช่น เปลี่ยนค่า source ip address, destination ip address จุดส าคัญอีกอย่างหนึ่งที่ต้องรู้ก็คือ มีเพียง packet แรกเท่านั้นที่เข้ามาที่ chain นี้ ส่วน packet ถัดไปนั้นจะถูกกระท าเหมือนที่ packet แรกได้รับ ดังนั้นจึงไม่ควรท า packet filtering ที ่chain เหล่านี้ การใช้งาน Nat table นั้นก็เพียงแต่ใช้ออปชัน -t nat เท่านั้น และ target ที่สามารถใช้งานได้ คือSNAT, DNAT, Masquerade, Redirect ซึ่งมีรายละเอียดดังนี้

Page 25: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

16

SNAT การท า source NAT จะท าที่ POSTROUTING chain โดย หลักๆ คือท าการเปลี่ยน source address ก่อนที่จะส่ง packet นั้นออกไป ซึ่งสามารถใช้ออปชัน -o (outgoing interface) ร่วมด้วยได้ นอกจากนี้ยังใช้ -j SNAT และ --to--source หรือ –to-port เพ่ือเปลี่ยนไอพีแอดเดรสหรือ port ไปตามต้องการไดด้ังตัวอย่าง เช่น

ตัวอย่างการเปลี่ยน source ip address เป็น 1.2.3.4 # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4 ตัวอย่างการเปลี่ยน source ip address เป็น 1.2.3.4, 1.2.3.5 หรือ 1.2.3.6 # iptables -t nat -A POSTROUING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6

DNAT การท า Destination NAT จะท าภายใต้ PREROUTING chain หลักๆ คือการเปลี่ยนแค่ destination ip address หรือ port ก่อนที่จะส่ง packet ไปยัง routing decision โดยปกติการใช้ งานจะระบุ -j DNAT และใช้ --to-destination หรือ --to และยั งสามารถใช้ -i (incoming interface) ร่วมด้วยไดด้ังตัวอย่าง เช่น

ตัววอย่างการเปลี่ยน destination address เป็น 192.168.1.20 # iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 192.168.1.20

Masquerading การท า masquerade นั้นเป็นหนึ่งในรูปแบบของการท า source NAT

แบบพิเศษ ซึ่งใช้ส าหรับ กรณีที่ได้รับไอพีแบบไม่ซ้ า (dynamically-assigned IP address) เช่น ผู้ที่ใช้โมเด็มล็อกอินเข้าไปยัง ISP (ส าหรับผู้ที่ใช้ static IP address ให้ใช้ SNAT ดังตัวอย่างด้านบน) ซึ่งข้อดีของการท า masquerading คือไม่จ าเป็นต้องระบุค่าของไอพีแอดเดรสที่จะใช้ในการเปลี่ยนเช่น

ตัวอย่างการท า masquerade ส าหรับทุก packet ที่วิ่งผ่านทาง eth0 # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Redirection การท า redirect นั้นเป็นอีกหนึ่งในรูปแบบของการท า Destination NAT แบบพิ เศษ เช่น เปลี่ ยน web traffic โปรโตคอล http ธรรมดาให้ ผ่ านไปยั ง squid proxy (transparent)

ตัวอย่างการใช้งาน iptables redirect # ip tables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128

Page 26: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

17

ตัวอย่าง การใช้งาน iptables แบบง่ายๆ ในการใช้งาน iptables ในระบบที่ใช้งานจริงนั้น โดยส่วนใหญ่แล้วจะเขียนเป็น script ขึ้นมา ซึ่งมีความซับซ้อนพอสมควร ซึ่งก่อนจะไปถึงขั้นนั้นเรามีวิธีทดลองใช้ค าสั่งง่ายๆ เพื่อท าความเข้าใจหลักการท างานเบื้องต้นของ iptables เช่น ต้องการ drop packet ที่เป็น ICMP ทั้งหมด ที่ออกจากเครื่องนี้ ซึ่งในกรณีนี้ไม่จ าเป็นต้องระบุ source ip address เพราะทุก packet ที่ออกจากเครื่องนี้จะต้องผ่านการตรวจสอบจาก OUTPUT chain

เริ่มการทดสอบโดยทดลอง ping ไปยัง www.nectec.or.th ซึ่งจะได้ผลลัพธ์คล้ายด้านล่างนี้ # ping -c 1 www.nectec.or.th PING google.com (49.231.55.52) 56(84) bytes of data. 64 bytes from 49.231.55.52: icmp_seq=1 ttl=57 time=26.6 ms --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 26.694/26.694/26.694/0.000 ms

ซ่ึง option -c 1 ระบุให้ส่ง packet ออกไปแค่ packet เดียว จากนั้นให้ใช้ค าสั่งดังด้านล่างนี้ เพ่ือ block ICMP packet ที่จะออกจากเครื่องนี้

# iptables -A OUTPUT -p icmp -j DROP จากนั้นทดลอง ping อีกครั้ง เพ่ือตรวจสอบผลลัพธ์ที่ได้

# ping -c 1 google.com PING google.com (49.231.113.24) 56(84) bytes of data. ping: sendto: Operation not permitted — google.com ping statistics — 1 packets transmitted, 0 received, 100% packet loss, time 0ms

ผลลัพธ์แสดงให้เห็นว่า ICMP echo-request packet ดังกล่าวไม่ได้รับอนุญาตให้ผ่าน OUTPUT chain ไปได้ และถ้าหากต้องการลบ rule ดังกล่าวก็สามารถท าได้หลายวิธีคือ

# iptables -F OUTPUT (ซึ่งจะลบทุก rule ใน chain OUTPUT นี้) # iptables -D OUTPUT 1 (เนื่องจากรู้ว่ามี rule เดียวจึงสามารถสั่งลบ rule ล าดับที่ 1 ได้เลย) หรือ # iptables -D OUTPUT -p icmp -j DROP (ลบ rule โดยการระบุออปชันของ rule ที่ต้องการได้โดยตรง)

Page 27: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

18

2.4 Linux Traffic Control: tc

ลินุกซ์ ทราฟฟิคคอนโทรล (traffic control) เป็นชุดค าสั่งที่ช้ในการบริหารจัดกานแบนวิธใน

เครือข่าย ซึ่งจะถูกติดตั้งมากับระบบปฏิบัติการลินุกซ์ ( linux ) linux tc จะคอยควบคุมปริมาณ

การใช้งานในระดับแพ็กเก็จ โดยท าหน้าที่ควบคุมกลุ่มและจัดการคิวต่างๆ เป็นระบบกลไกลควบคุม

การท างานในการรับส่งแพ็กเก็จ โดยที่ลินุกซ์ทีซี linux tc จะมีกระบวนการและกลไกลการท างาน

ด้วยกันหลายประเภท แตโ่ดยดีฟอลต์ของระบบปฎิบัติการลินุกซ์จะใช้การควบคุมแบนวิดท์แบบ FIFO

(First-In First-Out) เมื่อข้อมูลเข้ามาในคิวก็จะถูกส่งออกไปตามล าดับการเข้า คือ เข้าก่อนออกก่อน

เข้าทีหลังออกทีหลัง

ค าสั่งที่คอยจัดการคิวในระบบปฎิบัติการลีนุกซ์และจัดการส่งแพ็กเก็จผ่านเครือข่าย เราจะ

เรียกว่า คิวริ่งดิสคริปไลน์(Queuing discipline) หรือ qdisc โดยคิวที่ต่ออยู่กับการ์ดเครือข่ายเรียกว่า

รูทดิส (root disc)

qdisc จะแบ่งออกได้เป็น 2 ประเภท

- คลาสเลส คิวดิส (Classless qdisc)

- คลาสฟูล คิวดิส (Classful qdisc)

2.4.1 Classless Queuing Discipline

คลาสเลส คิวดิส (Classless qdisc) เป็นคลาสอย่างง่ายๆ เพราะท าหน้าที่เพียงแค่

accept, drop, delay or reschedule ข้อมูลในเครือข่าย ซึ่งมีคลาสเดียว ไม่สามารถสร้าง

คลาสย่อยภายใต้ รูทดิสได้ root disc ท าให้ ไม่สามารถควบคุมแบนวิดท์ ได้อย่างมี

ประสิทธิภ าพ คิ วประเภทนี้ จะได้ แก่ pfifo_fast, TBF (Token Bucket Filter) และ

SFQ(Stochastic Fairness Queuing) เป็นต้น

Page 28: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

19

Pfifo_fast Qdisc

Classless qdisc ประเภท pfifo_fast qdisc เป็นคิวทีท่ าการส่งแพ็กเก็จเข้ามาแบบ

first in first out (fifo) โดยคิวจะถูกแบ่งออกเป็น 3 ช่องทาง(bands) (0,1,2) ซึ่งแพ็กเก็จที่

อยู่ในช่องที่ 0 จะต้องถูกส่งออกให้หมดก่อนจึงจะยอมให้ช่องที่ 2 ส่งออกไปได้ เช่นเดียวกับ

ช่องที่ 2 ก็ต้องรอ 1 ส่งให้หมดก่อนเช่นกัน โดยแพคเก็จที่เข้ามาจะถูกเข้าแบนด์ด้วยฟิลด์

Type of service ดังรูป 2.4

รูปที ่2.4 โครงสร้างการท างานของ pfifo_fast queuing

Page 29: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

20

TBF (Token Bucket Filter)

เป็นคิวที่จะสร้างบัคเก็จ(buckets) แยกออกมาเพ่ือเก็บ Tokens ใช้ในการส่งข้อมูล

โดยแต่ละแพ็กเก็จจะต้องมีการดึง Token นั้นออกไปด้วย เพ่ือควบคุมไม่ให้แพ็กเก็จที่ถูก

ส่งออกไป เกินความเร็วที่ก าหนดไว้ กรณีที่ไม่มี Token เหลือแพคเกตในคิวจะต้องหยุดรอ

Token ที่จะถูกสร้างขึ้นมาเพ่ือให้การส่งแพคเกตออกไปเป็นไปตามความเร็วที่ก าหนด

ดังรูปที่ 2.5

รูปที่ 2.5 โครงสร้างการท างานแบบ Token bucket filter

Page 30: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

21

SFQ (Stochastic Fairness Queuing)

กลไกลการท างานของ SFQ โดยหลักการท างานจะสร้างคิวย่อยแบบ fifo หลายๆคิว

เพ่ือที่จะท าให้เกิดการหมุนเวียนการส่งข้อมูล (Round Robin Algorithm) ท าให้เการส่ง

ข้อมูลเกิดความท่าเทียมกัน เพื่อป้องกันการชะงักของแพ็กเก็จในบาง session ช่วยให้การส่ง

ข้อมูลกระจายตัวอย่างสม่ าเสมอไม่กระจุกตัวอยู่ในคิวเดียว การกระจายแพคเกจจะแยกตาม

connection-flow ของการติดต่อระหว่างผู้ส่งและผู้รับแยกตาม TCP session หรือ UDP

stream ดังรูปที่ 2.6

รูปที่ 2.6 โครงสร้างการท างานแบบ Stochastic Fair

Page 31: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

22

2.4.2 Classful Queuing Discipline

เป็นระบบคิวที่เพ่ิมความสับซ้อนของระบบการท างาน โดยสามารถสร้างคลาสย่อยๆได้ และ

ก าหนดเงื่อนไขต่างๆได้ เพ่ือจัดประเภทของแพ็กเก็จและก าหนดความเร็วในการจัดส่งได้ ท าให้

สามารถจัดการแบนด์วิธและจัดการควบคุมคิวต่างๆที่มีความซับซ้อนมากขึ้นได้ โดยมีประเภทคิวของ

คลาสฟูล ได้แก่ PRIO, CBQ, HTB เป็นต้น ดังรูปที ่2.7

CBQ Qdisc

CBQ (Class Based Queue) เป็นคิวที่ใช้ส าหรับการจัดการแบนด์วิดท์ส าหรับผู้ใช้

หลายคนที่ใช้สายร่วมกันโดยมีการรับประกันแบนด์วิทด์ส าหรับผู้ใช้งานแต่ละคน ในช่วงเวลา

ที่มีการใช้งานเป็นจ านวกมากเพ่ือที่ไม่ให้เกิเการชะงักของผู้ใช้งานรายใดรายหนึ่ง กล่าวคือ

CBQ นั้นสามารถรับประกันคุณภาพการให้บริการของแต่ละ user หรือผู้ใช้งานได้ การ

ท างานของ CBQ นั้นจะท าโดยสร้าง root disc เป็น CBQ ก่อนจากนั้นสร้างคลาสย่อยใน

ลักษณะที่เป็นล าดับชั้นจากนั้นสร้าง class filter มาเพ่ือคัดแยกแพ็กเกจให้ไปตามคลาส

ต่างๆซึ่งจะท าให้ได้ความเร็วในการส่งตามท่ีก าหนด

HTB Qdisc

HTB (Hierarchical Token bucket) ถึ ง แ ม้ ว่ า CBQ จ ะ เป็ น qdisc ที่ มี

ประสิทธิภาพสูงสุดซึ่งถูกสร้างมาก่อนลินุกซ์เคอร์เนล 2.2 แต่เนื่องจากการท างานของ CBQ

มีความซับซ้อนมากซึ่งในกรณีที่มีปัญหาทางด้านการบริหารจัดการแบนด์วิธ การแก้ไขท าได้

ยากและมีความผิดพลาดได้สูง จึงมีผู้สร้าง qdisc ที่มีลักษณะการท างานคล้ายกันและมี

ประสิทธิภาพใกล้เคียงกัน แต่ความซับซ้อนของการจัดการน้อยกว่า ซึ่งจะมีอยู่ลินุกซ์เวอร์ชั่น

2.4 ขึ้นไป

Page 32: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

23

รูปที่ 2.7 โครงสร้างการท างาน Classful qdisc ในการสร้างคลาสลูก

ส่วนประกอบและกลไกลส าคัญในการควบคุมคิวมีดังนี้

- Tc qdisc - Tc class - Tc filters - Policer

จากรูป 2.7 จะแสดงโครงสร้างของคลาสย่อยแต่ละคลาสที่อยู่ภายใต้ root qdisc โดยมี

ลักษณะเป็นแบบล าดับชั้น (Hierachical) เพ่ือควบคุมกลุ่มผู้ใช้งานที่แตกต่างกัน รวมทั้งสามารถ

ก าหนดแบนด์วิดท์ข้ันต่ าหรือแบนด์วิดท์สูงสุดที่ให้บริการภายในคลาส และยังสามารถยืมแบนด์วิดท์ที่

เหลือใช้ภายใต้คลาสแม่เดียวกันได ้

Page 33: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

24

Tc qdisc ใช้ส าหรับการจัดการ root qdisc โดยมีลักษณะเป็นแบบล าดับชั้น (Hierachical)

เพ่ือควบคุมกลุ่มผู้ใช้งานที่แตกต่างกัน

Tc class ใช้ส าหรับการจัดการ class ที่ถูกสร้างต่อมาจาก tc qdisc อีกทีเนื่องจากมีการ

ท างานเป็นแบบล าดับชั้น (hierachical) ซ่ึง tc class แต่ละ class จะท าการความคุมคิวต่างๆภายใน

class id ให้เป็นไปตาม bandwidth ที่ถูกก าหนดไว้ โดยถูกก าหนดไว้แต่ละคลาสย่อย

Tc Filter ใช้ส าหรับการคัดแยแพคเกตต่างๆเพ่ือส่งต่อไปยังคลาสต่างๆที่ถูกก าหนดไว้ โดย

คลาสหนึ่งคลาสอาจมีหลาย Filter ก็ได้ ลินุกซ์จะน าแพคเกตที่รับเข้ามาผ่านกระบวนการ Filter ที่ละ

Filter ตามล าดับเพ่ือคัดแยกแพคเกจให้เข้าไปใน qdisc ที่เป็นคลาสลูก ซึ่งจะเรียกกระบวนการนี้ว่า

enquene

Policer ใช้ในการจัดการแพคเกตขาเข้า (ingress traffic) โดยจะท างานร่วมกับ Filter เพ่ือ

ตรวจสอบเงื่อนไขเพ่ือตัดสินใจว่าจะน าแพคเกตเข้ามาเก็บไว้ในคิวหรือลบแพคเกจทิ้งไป

การยืมแบนด์วิธ (bandwidth) จากคลาสแม่ สามารถท าโดยการก าหนด ceil ในกรณีที่เรา

ก าหนดค่า ceil เท่ากับ rate หรือไม่ได้ก าหนด ceil ไว้ หมายถึง ไม่อนุญาติให้ยืมแบนด์วิธจากคลาส

แม่ และหากกรณีที่ก าหนดค่า ceil มากกว่าค่า rate จะหมายถึง อนุญาติให้สามารถยืมแบนด์วิธจาก

คลาสแม่ได้หากคลาสอ่ืนๆภายในคลาสแม่เดียวกันใช้งานไม่เต็ม แต่จะไม่เกินตามค่า ceil ที่ก าหนดไว้

ตัวอย่างการใช้งาน

Interface eth0 [upload]

ท าการสร้าง root qdisc ขึ้นมาก่อนจากนั้นจึงสร้าง class ลูกโดยการก าหนด class id และก าหนด

bandwidth ตามท่ีต้องการก าหนด

tc qdisc add dev eth0 root handle 1:0 htb default 10

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 10mbit

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit

tc class add dev eth0 parent 1:1 classid 1:20 htb rate 5mbit

Page 34: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

25

จากนั้นท าการสร้าง tc filter เพ่ือคอยการจัดการ match package ให้เข้าสู่ class id ต่างๆที่ก าหนด

tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 10 fw flowid 1:10

ซึ่งหลักการ traffic control การท างานจ าเป็นที่จะต้องท าท้ังขาเข้าและขาออกของ package

interface eth1 [download]

ท าการสร้าง root qdisc ขึ้นมาก่อนจากนั้นจึงสร้าง class ลูกโดยการก าหนด class id และก าหนด

bandwidth ตามท่ีต้องการก าหนดและก าหนดให้สามารถยืมแบนด์วิธ (bandwidth) จากคลาสแม่ได้

tc qdisc add dev eth1 root handle 1:0 htb default 10

tc class add dev eth1 parent 1:0 classid 1:1 htb rate 10mbit

tc class add dev eth1 parent 1:1 classid 1:10 htb rate 2mbit ceil 3mbit

tc class add dev eth1 parent 1:1 classid 1:20 htb rate 5mbit ceil 6mbit

tc filter add dev eth1 protocol ip parent 1:0 handle 10 fw flowid 1:20

2.5 ภาษา Structured Query Language (SQL)

เอสคิวเอล (SQL) เป็นโปรแกรมฐานข้อมูลที่ใช้จัดเก็บข้อมูล ท างานในลักษณะไคลเอนต์

เซิร์ฟเวอร์ (Client/Server) โดยจะท างานบนระบบยูนิกซ์ ซิสเต็ม (Unix System) หรือบน win32

ของระบบทั่วไปก็ได้ สามารถใช้งานได้ทั้งคอมมานไลน์ (Command line)หรือผ่านหน้าเว็บบราวเซอร์

(Web Browser)

เอสคิวเอล (SQL) ยังเป็นภาษามาตราฐานที่ใช้ในการเขียนโปรแกรม เพ่ือจัดการกับข้อมูล

โดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system)

นั่นหมายถึงเราสามารถใช้งานค าสั่งของ SQL บนระบบฐานข้อมูลชนิดใดก็ได้โดยไม่จ าเป็นต้องไปยึด

ติดกับฐานข้อมูลใดข้อมูลหนึ่ง นอกจากนั้น ภาษา SQL เป็นภาษาที่อ่านแล้วท าความเข้าใจได้ง่ายไม่

ซับซ้อนอีกทั้งยังสามารถท างานกับระบบที่มีความซับซ้อนสูงได้ดี

ประเภทของค าสั่งภาษา SQL

1. ภาษานิยามข้อมูล(Data Definition Language : DDL) เป็นค าสั่งที่ใช้ในการสร้างฐานข้อมูล

Page 35: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

26

ก าหนดโครงสร้างข้อมูลเช่น

- CREATE TABLE เป็นค าสั่ง ใช้ในการนิยามการสร้างฐานข้อมูลใหม่

- DROP TABLE เป็นค าสั่ง ใช้ในลบโครงสร้างตารางออกจากฐานข้อมูล

- ALTER DATABLE เป็นค าสั่ง ใช้ในการปรับเปลี่ยน แก้ไขปรับปรุงฐานข้อมูล

2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นค าสั่งที่ใช้ในการเรียกใช้ เพิ่ม

ลบ และเปลี่ยนแปลงข้อมูลในตาราง เช่น

- SELETE เป็นค าสั่ง ใช้ในการดึงข้อมูลออกมาจากฐานข้อมูล

- UPDATE เป็นค าสั่ง ใช้ในการแก้ไขเปลี่ยนแปลงข้อมูลในฐานข้อมูล

- INSERT เป็นค าสั่ง ใช้ในการเพ่ิมข้อมูลในฐานข้อมูล

- DELETE เป็นค าสั่ง ใช้ในการลบข้อมูลในฐานข้อมูล

3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นค าสั่งที่ใช้ในการก าหนดสิทธิการ

อนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เป็นกการป้องกันความปลอดภัยของฐานข้อมูล เช่นค าสั่ง

- GRANT เป็นค าสั่งส า ใช้ในการให้สิทธิกับบุคคลต่าง ๆ เพ่ือเข้าถึงข้อมูลในระดับที่เรา

ก าหนด

- REVOKE เป็นค าสั่ง ที่มีไว้ส าหรับการยกเลิกสิทธิในการเข้าถึงข้อมูล ของบุคคลต่าง ๆ

ประโยชน์ของภาษา SQL

1. สร้างฐานข้อมูลและ ตาราง ได้อย่างอิสระ และง่าย

2. สนับสนุนการจัดการฐานข้อมูล โดยสามารถเพ่ิมข้อมูล ลบข้อมูลหรือ แก้ไขข้อมูลได้ง่าย

3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูลได้สะดวกรวดเร็ว

4. สนับสนุนการใช้งานในระดับสิทธ์ของการเข้าถึงข้อมูลภายในฐานข้อมูล

Page 36: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

27

2.6 SNMP

SNMP (Simple Network Management Protocol) คื อ Protocol ชนิ ดหนึ่ งส าห รับ

รวบรวมข้อมูลเกี่ยวกับอุปกรณ์ในระบบที่มีการเชื่อมต่อกันด้วยเน็ทเวิร์ก เพ่ือบอกข้อมูลการ

เปลี่ยนแปลงของอุปกรณ์ ซึ่งตัวจัดการการเก็บข้อมูลเกี่ยวกับอุปกรณ์ต่ างๆภายในระบบจะเรียกว่า

MIB (management information base) องค์ประกอบพื้นฐานของ SNMP จะประกอบด้วย

1. Network Management Station (NMS)

2. Managed Device

3. Agent

โครงสร้างของ SNMP เป็นโพรโตคอลที่ท างานในระดับ Application Layer ท างานผ่าน

โพรโตคอล UDP (User data protocol) ที่พอร์ท 161 ส าหรับค าสั่งจัดการและ 162 ส าหรับ Trap

รายงานข้อมูลจาก Agent

2.7 Log Rotate

Log Rotate คือ กลไกลการจัดการ log file ของระบบปฎิบัติการลีนุก linx หรือ unix ท า

หน้าที่คอยลบข้อมูล log file เก่าออกจากระบบ เพ่ือป้องกันปัญหาการกินทรัพยากรเนื้อที่บน Hard

disk ของเครื่อง server ที่ไม่มีการควบคุมขนาดและจ านวนของ log file ดังนั้นการ rotate log file

คือการสร้างไฟล์ใหม่ข้ึนมาแทนที่หรือทับไฟล์เดิม ซึ่งจะช่วยลดปัญหาการกินทรัพยากรฮาดดิสได้ โดย

สามารถเก็บเป็นไฟล์ลักษณ text file และยังสมารถท าการบีบอัดเป็น zip file ได้อีกด้วย

การใช้งาน log rotate ค าสั่ง option ที่ใช้งาน

- Daily, weekly, monthly หมายถึง การสั่งให้ท าการ rotate file (สร้างไฟล์ใหม่) ในทุกๆ

วัน (daily), ทุกๆสัปดาห์ (weekly) หรือ ของทุกๆเดือน (monthly)

- Rotate xx หมายถึง การสั่งให้ท าการ rotate file (สร้างไฟล์ใหม่) ตามจ านวนครั้งที่ก าหนด

เช่น ก าหนดเป็น daily rotate 90 หมายถึง ขึ้น log file ใหม่ทุก

วันจนครบ 90 ครั้งจากนั้นจะวนเขียนทับไฟล์เดิม

Page 37: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

28

- Compress หมายถึง การสั่งให้ท าการบีบอัดข้อมูล log file โดยการ Zip

- Delay compress หมายถึง การสั่งให้เลือนการบีบอัดข้อมูลออกไปก่อน 1 รอบ rotate

โดยการงานจะมีผลก็ต่อเมื่อใช้คู่กับ compress

- Olddir /var/og หมายถึง การสั่งให้ย้าย path log file ไปยัง path ที่ก าหนด

- Notifemply หมายถึง การสั่งให้ไม่ต้องท าการ rotate หาก log file นั้นว่าง

- Size หมายถึง การสั่งให้ท าการ rotate เมื่อ log file มีขนาดใหญ่กว่าขนาดที่ก าหนด

- Postrotate / endscript หมายถึง การสั่งให้ท าการรันค าสั่งการท างานบางอย่างหลังจาก

rotate ไปแล้ว ตามด้วย endscript หากต้องการให้จบชุดค าสั่ง

- Mail หมายถึง การสั่งให้ระบบส่ง log file ออกไปยังอีเมล์ email ที่ก าหนด เช่น อีเมล์ของ

ผู้ดูแลระบบ

ตัวอย่าง # vi /etc/logrotate.conf ดังรูปที่ 2.8

รูปที ่2.8 แสดงตัวอย่างการใช้งาน logrotate

Page 38: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

29

บทที่ 3

ระบบที่น าเสนอ

3.1 ภาพรวมของระบบ

ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล ระบบต้องสามารถแสดงผลข้อมูล และส่ง

ค าสั่งการท างานต่างๆผ่านทาง web application โดยจะถูกออกแบบมาให้ง่ายต่อการบริหารจัดการ

แบนวิธที่มีอยู่ เพ่ือให้เกิดประสิทธิภาพสูงสุด และง่ายต่อการบริหารจัดการควบคุม และเพ่ิมฟังชั่นการ

ท างานร่วมกับระบบโรงพยาบาลในการยืนยันตัวตน เพ่ือลดภาระหน้าที่การท างานของเจ้าหน้าที่หรือ

ผู้ดูแลระบบ ดังรูปที่ 3.1

3.1.1 องค์ประกอบของระบบ

- Web application ท าหน้าที่แสดงผลข้อมูลในส่วนการท างานต่างๆของระบบ ช่วย

อ านวยความสะดวกในการบริหารจัดการแบนวิธ ก าหนดค่า download upload

ต่างๆผ่านทางหน้าเว็บแอพพลิเคชั่น แสดงผลเป็นหน้า management ภาพรวมการ

รูปที่ 3.1 ภาพรวมการท างานของระบบ

Page 39: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

30

ใช้งานต่างๆ ท าการเรียกดูข้อมูลจากฐานข้อมูล เช่น จ านวนผู้ใช้งาน username

password เป็นต้น

- Database server ท าหน้าที่เก็บข้อมูลการใช้งานต่างๆ เช่นการตั้งค่าการ upload

download ข้อมูลผู้ใช้งาน จ านวนวันการใช้งาน ระยะเวลาการใช้งาน

- Traffic control ท าหน้าที่คอยบริหารจัดการ แบนทวิธที่มีทั้งหมดให้ คอย

ควบคุมอัตตราการใช้งานต่างๆ โดยค าสั่งจะถูกส่งผ่านทาง web application เป็น

ตัวสั่งการท างาน ควบคุมค่า upload dwonload ต่างๆของผู้ใช้งานภายในระบบ

3.2 ขั้นตอนในการด าเนินงาน

3.2.1 ท าการเตรียมเครื่อง server 1 เครื่อง โดยก าหนดให้ติดตั้งระบบปฎิบัติการ CentOS

จะท าหน้าที่เป็น linux internet gateway และท าหน้าที่เป็น web server

3.2.2 ท าการติดตั้งแอ๊พพลิเคชั่น (application) เพ่ือให้รองรับการท างานในระบบต่างๆ เช่น

DHCP, web service apache, database mysql, samba

3.2.3 ท าการออกแบบ database การจัดเก็บข้อมูล , ออบแบบการควบคุมแบนด์วิธ ,

ออกแบบการท างานของ web application และหน้าการใช้งานต่าง

3.2.4 กระบวนการติดตั้ง

เซิร์ฟเวอร์เสมือน (Virtual server) VMware Player7 ใช้เป็นตัวทดสอบการท างาน

3.2.4.1 รายละเอียดของเครื่องเซิฟเวอร์

1) หน่วยเก็บข้อมูลหลักขนาด 40 กิกะไบท์

2) หน่อยเก็บความจ าหลักขนาด 2048 เมกะไบท์

3) เน็ตเวิร์คอินเตอร์เฟสการ์ดแลนจ านวน 2ใบ

4) ระบบปฎิบัติการลินุกซ์ เซนโอเอส (centos7)

5) แอพพลิเคชั่น ดีเอสซีพีดี DHCPD

6) แอพพลิเคชั่น Samba

7) แอพพลิเคชั่น ไอพีเทเบิล iptables

8) แอพพลิเคชั่นมายเอสคิวเอล mysql

9) แอพพลิเคชั่นอาปาเช่ apache

Page 40: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

31

3.2.4.3 รายละเอียดของเครื่องไคลเอน

1) หน่วยเก็บข้อมูลหลักขนาด 40 กิกะไบท์

2) หน่อยเก็บความจ าหลักขนาด 1048 เมกะไบท์

3) เน็ตเวิร์คอินเตอร์เฟสการ์ดแลนจ านวน 1ใบ

4) ระบบปฎิบัติการ windows 8

3.3 การออกแบบระบบการท างาน

3.3.1 Flow Chart

3.3.1.1 แสดงขั้นตอนกระบวนการท างานของการเก็บและเพ่ิมข้อมูลอัตโนมัต ดังรูป

ที ่3.2

1) ระบบจะท าการวนอ่านข้อมูลที่ //share parth ทุกๆ 2 นาท ี

2) ระบบจะท าการตรวจสอบชื่อไฟล์ register, admit, discharge

3) ถ้าระบบตรวจสอบชื่อไฟล์พบไฟล์ discharge ระบบจะท าการ

disable user นั้นโดยส่งค าสั่ง Sql update status = 0

4) End

5) ถ้าระบบตรวจสอบชื่อไฟล์พบไฟล์ register, admit

6) ระบบจะท าการตรวจสอบหมายเลขประจ าตัวของผู้ป่วย ถ้ามีอยู่

แล้วจะส่งค าสั่ง Sql update ข้อมูลผู้ป่าวย แต่ถ้ายังไม่มีในระบบ

จะท าการส่งค าสั่ง Sql insert ข้อมูลผู้ป่วยใหม่ พร้อมกับ set

username password field

7) ก าหนดให้ username ผู้ใช้งานกรณีผู้ป่วยใน = เลขห้องผู้ป่วย

และใช้ uername ผู้ใช้งานกรณผีู้ป่วยนอก = เลขคิว 6 หลัก

8) ก าหนดให้ password = วัน/เดือน/ปี เกิดผู้ป่วย

Page 41: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

32

รูปที ่3.2 ขั้นตอนกระบวนการท างานของการเก็บและเพ่ิมข้อมูลอัตโนมัต

Page 42: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

33

ข้อมูลภายใน text file จะประกอบไปด้วยข้อมูลต่อไปนี้ ดังรูปที่ 3.3, 3.4, 3.5

HN EN ล าดับคิวในการรักษา หรือเลขห้องกรณีผู้ป่วย IPD (

ก าหนดให้เป็น username 6ตัวท้าย ) Patient Name Date of Birth ( ก าหนดให้เป็น password ) Episode Type

รูปที ่3.3 ตัวอย่าง file Admit

รูปที่ 3.4 ตัวอย่าง file Register

รูปที่ 3.5 ตัวอย่าง file Discharge

Page 43: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

34

3.3.1.2 แสดงขั้นตอนกระบวนการเพ่ิมกลุ่มผู้ใช้งานเข้าระบบ ดังรูปที่ 3.6

1. ผู้ดูแลระบบท าการกรอกข้อมูลชื่อกลุ่ม

2. ผู้ดูแลท าการเลือกข้อมูล upload และ download

3. กด save เพ่ือให้ระบบท าการติดต่อฐานข้อมูลในการ insert

ข้อมูลใหม่ลงระบบ

รูปที่ 3.6 แสดงขั้นตอนกระบวนการเพ่ิมกลุ่มผู้ใช้งานเข้าระบบ

Page 44: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

35

3.3.1.3 แสดงขั้นตอนกระบวนการเพ่ิมชื่อผู้ใช้งาน (account) เข้าระบบด้วยตัวเอง

ดังรูปที่ 3.7

1) ผู้ดูแลระบบท าการเพ่ิมชื่อผู้ใช้งาน (account) โดยการกรอก

ข้อมูลชื่อ นามสกุล และ username password ให้ครบถ้วน เพ่ือ

การขอเข้าใช้งานระบบ

2) เลือกกลุ่มของผู้ใช้งาน

3) เมื่อระบบตรวจสอบข้อมูลทั้งหมดถูกต้อง ระบบจะท าการติดต่อ

กับฐานข้อมูล (Sql) เพ่ือ insert ข้อมูลผู้ใช้งานเข้าระบบฐานข้อูล

รูปที ่3.7 แสดงขั้นตอนกระบวนการเพ่ิมชื่อผู้ใช้งาน

Page 45: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

36

3.3.1.4 แสดงขั้นตอนกระบวนการท างานของระบบยืนยันตัวตน

(Authentication) เพ่ือเข้าใช้อินเตอร์เน็ต ดังรูปที่ 3.8

1) ผู้ใช้งานเชื่อมต่อระบบ และได้รับไอพีแอดเดรสจากระบบ

2) ระบบจะท าการ redirect traffic ไปยัง web service เพ่ือเข้าสู่

กระบวนการ login เพ่ือเข้าใช้งานระบบอินเตอร์เน็ต

3) ขั้นต้อนการ login ผู้ใช้งานจะต้องกรอกข้อมูล username

password ตามฟอร์แมตที่ก าหนดไว้ โดย username = เลขคิว 6

หลักสุดท้ายหรือเลขห้องพัก password = วัน/เดือน/ปีเกิด ของ

คนไข้

4) จากนั้นระบบจะท าการตรวจสอบ username และ password

5) ตรวจสอบสถานะการใช้งาน โดยก าหนดให้

Status = 0 คือระงับการใช้งาน

Status = 1 คือสามารถใช้งานได้

และตรวจสอบจ านวน max_address ต้องไม่มากกว่า ค่า

max_device

6) ระบบจะท าการ update ประวัติการใช้เข้างาน

7) เพ่ิมกฎของไอพีเทเบิลเพ่ืออนุญาติให้สามารถใช้งานอิเตอร์เน็ต

8) แสดงหน้ารายละเอียดของผู้ใช้งาน

Page 46: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

37

รูปที่ 3.8 ขั้นตอนการท างานของระบบ Authentication เพ่ือเข้าใช้งาน

Page 47: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

38

3.3.1.5 แสดงขั้นตอนกระบวนการท างาน Logout ของระบบ ดังรูปที่ 3.9

1) เมื่อผู้ใช้งาน กดปุ่ม Logout ระบบจะท าการตรวจสอบข้อมูล

Mac_address & ip

2) ระบบจะท าการลบกฎ rlue และ mac_address ออกจากระบบ

3) SQL update status login = 0

4) ระบบท าการ redirect ไปยังหน้า login

รูปที่ 3.9 แสดงขั้นตอนกระบวนการท างาน Logout ของระบบ

Page 48: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

39

3.3.1.6 แสดงขั้นตอนกระบวนการท างาน auto logout ของระบบ ดังรูปที ่3.10

- Script จะเริ่มท างานทุกๆ 3 ชั่วโมง โดยจะตรวจสอบผู้ใช้งานใน

ระบบที่ไม่มีการอัพเดทข้อมูลนานเกินจากเวลาที่ก าหนด

รูปที ่3.10 แสดงขั้นตอนกระบวนการท างาน auto logout

Page 49: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

40

3.3.1.7 แสดงขั้นตอนการควบคุม Bandwidth ดังรูปที่ 3.11

- สร้าง root qdisc ของระบบขึ้นมาโดยผูกับ interface eth1

- สร้าง class qdisc ขึ้นมา ก าหนด class id และก าหนด

bandwidth ให้กับคลาส

- ก าหนด filter เพ่ือให้ package ถูกจัดการเข้า class id ที่ก าหนด

ไว้

รูปที ่3.11 แสดงขั้นตอนการควบคุม Bandwidth

Page 50: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

41

3.4 การออกแบบระบบฐานข้อมูล

รูปที ่3.12 ภาพรวมโครงสร้างฐานข้อมูล

จากรูปที่ 3.12 คือการออกแบบโครงสร้างฐานข้อมูลโดยจะมีรายละเอียดตารางทั้งหมด 4 ตารางดังนี้

Patient_Account Table ดังตาราง 3.1

Groups_Account Table ดังตาราง 3.2

Active_login Table ดังตาราง 3.3

Login_log Table ดังตาราง 3.4

ตารางท่ี 3.1 Patient_Account

Attribute Type Length Description Key Null

patient_id Integer 11 ล าดับผู้ใช้งาน PK No

first_name Varchar 15 ชื่อผู้ป่วย No

last_name Varchar 15 นามสกุลผู้ป่วย No

username Varchar 15 ชื่อผู้ใช้งาน No

Page 51: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

42

password Varchar 10 รหัสผู้ใช้งาน No

hospital_number Varchar 12 หมายเลขประจ าตัวคนไข้ No

episode_number Varchar 14 เลขล าดับในการมาหาหมอ Yes

episode_type Char 1 ประเภทของผู้ป่วย Yes

room Varchar 10 หมายเลขห้องผู้ป่วย Yes

date_of_birth Varchar 10 วันเดือนปีเกิด No

gender Char 1 ประเภทของผู้ป่วย No

max_device Tinyint 0-255 จ านวนอุปกรณ์ที่ใช้ได้ No

level Varchar 10 สิทธิ์การเข้าถึงหน้า admin No

g_id Tinyint 0-255 หมายเลขกลุ่มผู้ใช้งาน FK No

status Tinyint 0-255 สถานะการใช้งาน

0 = ระงับการใช้งาน

1 = ใช้งานได้

No

date_create Datetime แสดงวันเวลาที่เริ่มเข้าระบบ No

date_modify Datetime แสดงวันเวลาที่มีการแก้ไข No

ตารางท่ี 3.2 Groups_Account

Attribute Type Length Description Key Null

g_Id Tinyint 0-255 ล าดับกลุ่มผู้ใช้งาน PK No

g_name Varchar 30 ชื่อกลุ่มผู้ใช้งาน No

g_dlspeed Tinyint 0-255 ค่าก าหนดในการ

Download

No

g_ulspeed Tinyint 0-255 ค่าก าหนดในการ Upload No

g_timelimit DateTime ก าหนดระยะเวลาใช้งาน No

g_status Tinyint 0-255 สถานะกลุ่ม

0 = ระงับการใช้งาน

1 = สามารถใช้งานได้

No

Page 52: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

43

ตารางท่ี 3.3 Active_login

Attribute Type Length Description Key Null

active_id Integer 11 ล าดับผู้ใช้งาน PK No

patient_Id Integer 11 ล าดับผู้ใช้งาน FK No

mac_address Varchar 19 หมายเลขเครื่องผู้ใช้งาน No

ip_address varchar 15 หมายเลข IP ผู้ใช้งาน No

start_time Datetime วันที่เริ่มใช้งาน No

login_status Tinyint 4 สถานะการใช้งาน No

last_update Datetime ระยะเวลาที่ใช้งาน No

g_id tinyint 0-255 ล าดับกลุ่มผู้ใช้งาน No

ตารางท่ี 3.4 Login_Log

Attribute Type Length Description Key Null

id Integer 11 ล าดับผู้ใช้งาน PK No

patient_id Integer 11 ล าดับผู้ใช้งาน No

mac_address Varchar 19 หมายเลขเครื่องผู้ใช้งาน No

ip_address varchar 15 หมายเลข IP ผู้ใช้งาน No

start_time Datetime วันที่เริ่มใช้งาน No

Page 53: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

44

3.5 การออกแบบหน้า GUI ของระบบ

3.5.1 แสดงหน้าจอการออกแบบระบบการเข้าใช้งาน Login ของผู้ดูแลระบบ ดังรูปที่ 3.13

รูปที่ 3.13 แสดงหน้าจอการ login ระบบ

3.5.2 แสดงหน้าจอภาพรวมการท างานของระบบ เมื่อผู้ดูแลระบบ login เสร็จแล้ว โดยจะแสดง

สถานะการท างานของระบบเช่น ชื่อเครื่อง, system uptime, memory, disk usage ดังรูปที่ 3.14

รปูท่ี 3.14 ตัวอย่างหน้าจอหน้าเว็บการจัดการของระบบ

Page 54: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

45

บทที่ 4

ผลการทดลอง

4.1 โครงสร้างของระบบ

ท าการทดลองโดยใช้งาน Vmware ซึ่งประกอบไปด้วย Vmware 2 เครื่อง1 โดยมีหนึ่งเครื่อง

ท าหน้ าที่ เป็ น internet gateway (CentOS7) และอีกเครื่องเป็ น client (Windows8) โดยมี

สภาพแวดล้อมโดยรวม ดังรูปที ่4.1

รูปที ่4.1 แสดงโครงสร้างการท างานของระบบ

ทดสอบการท างานของ php script โดยน าไฟล์ที่เตรียมไว้ copy ไปวางไว้ใน share path ที่

เราก าหนดไว้และรอจนกว่า server จะอ่านข้อมูลจากไฟล์เมื่ออ่านเสร็จก็จะท าการติดต่อกับ

ฐานข้อมูลเพื่อเพ่ิมข้อมูลผู้ใช้งานเข้าระบบแบบอัตโนมัต ดังรูป 4.2

Page 55: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

46

รูปที ่4.2 แสดงตัวอย่าง // path file

4.2 ทดสอบควบคุม Bandwidth สภาพแวดล้อมการทดลอง

รูปที ่4.3 สภาพแวดล้อมจ าลองเพ่ือท าการทดสอบระบบ

เพ่ือให้การทดลองเกี่ยวกับการควบคุมแบนด์วิธให้ เป็นไปตามที่ ก าหนด จึง จ าลอง

สภาพแวดล้อมโดยท าการสร้างเครื่อง gateway และก าหนดให้ gateway server ให้มี 2 การ์ดแลน

และก าหนดให้ interface eth0 เชื่อมต่อกับอินเตอร์เน็ตภายนอกดังรูปที่ 4.3 และก าหนดให้

interface eth1 ให้แจก IP เป็นแบบ DHCP ไปยังเครื่อง client

Page 56: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

47

ท าการควบคุม แบนด์วิธของ interfacet eth0 และ eth1

Interface eth0 [upload]

ท าการสร้าง root qdisc ขึ้นมาก่อนจากนั้นจึงสร้าง class ลูกก าหนด class id และก าหนด

bandwidth ตามท่ีต้องการก าหนด

tc qdisc add dev eth0 root handle 1:0 htb default 10

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 10mbit

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit

tc class add dev eth0 parent 1:1 classid 1:20 htb rate 5mbit

จากนั้นท าการสร้าง tc filter เพ่ือเป็นการจัดการ match package ให้เข้าสู่ class id ที่ก าหนด

tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 10 fw flowid 1:10

interface eth1 [download]

iptables -t mangle -A FORWARD -d 172.16.0.114 -j MARK --set-mark 10

tc qdisc add dev eth1 root handle 1:0 htb default 10

tc class add dev eth1 parent 1:0 classid 1:1 htb rate 10mbit

tc class add dev eth1 parent 1:1 classid 1:10 htb rate 2mbit

tc class add dev eth1 parent 1:1 classid 1:20 htb rate 5mbit

tc filter add dev eth1 protocol ip parent 1:0 handle 10 fw flowid 1:20

Page 57: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

48

แสดงผลการทดสอบควบคุม Bandwidth เมื่อก าหนด linux tc เรียบร้อยแล้วได้ผล ดังรูปที่ 4.4

รูปที ่4.4 ผลการทดสอบควบคุมแบนด์วิธ

4.3 ทดสอบการใช้งานหน้ายูเซอร์ล็อคอิน (User login)

ล าดับแรกให้ user ท าการเชื่อต่อเข้ามาในระบบ ซึ่งจะได้รับ IP Address จาก DHCP

server ของระบบ เมื่อผู้ใช้งาน (user) ท าการเปิดเว็บ web browser ระบบ mark package และท า

การ redirect traffic เข้าไปสู่หน้าเว็บ login ก่อนโดยผู้ใช้งานต้องกรอก username password ให้

ถูกต้องก่อนเพ่ือเข้าสู่การใช้งาน internet ดังรูปที่ 4.5

Page 58: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

49

รูปที ่4.5 แสดงหน้าจอ login ส าหรับผู้ใช้งาน

เมื่อท าการ login ผ่านระบบ Authentication เรียบร้อยแล้ว ระบบจะแสดงข้อมูลเบื้องต้น

ของผู้ใช้งานเช่น ข้อมูล IP address, upload/download และแสดงข้อความเตือนไม่ให้ปิดหน้าจอ

ดังรูป 4.6

รูปที ่4.6 แสดงข้อมูลผู้ใช้งานเมื่อท าการ login เข้าระบบเรียนร้อยแล้ว

Page 59: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

50

เมื่อผู้ใช้งานทั่วไปท าการ login เสร็จเรียบร้อย ระบบจะท าการเปลี่ยนการ mark package

และเพ่ิมกฎของ iptables เพ่ือนอนุญาติให้สามารถเข้าใช้งาน internet ดังรูป 4.7

รูปที ่4.7 แสดงผลการใช้งาน internet

แสดงทดสอบโดยการท างาน ping google.com ดังรูปที่ 4.8

รูปที ่4.8 แสดงผลการทดสอบ ping ออก internet

Page 60: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

51

4.4 ทดสอบเข้าใช้งานแอดมินล็อคอิน (Administrator login)

ล าดับแรกให้ผู้ดูแลระบบ (administrator) ท าการเชื่อต่อเข้ามาในระบบ ซึ่งจะได้รับ IP

Address จาก DHCP server ของระบบ จากนั้นเมื่อผู้ดูแลระบบ (administrator) ท าการเปิดเว็บ

web browser ระบบจะท าการ redirect เข้าไปสู่หน้าเว็บ login และจากนั้นผู้ดูแลระบบต้องเข้าที่

path /admin โดยพิมพ์ https://172.16.0.1/admin/ ระบบจะแสดงหน้าล็อคอินส าหรับผู้ดูแล

ระบบขึ้นมา ดังรูป 4.9

รูปที ่4.9 แสดงหน้าจอส าหรับผู้ดูแลระบบ

เมื่อผู้ดูแลระบบเข้า login ส าเร็จ ระบบจะแสดงหน้า System information ที่สามารถบอก

สถานะและข้อมูลพ้ืนฐานของตัวระบบ เช่นบอกการใช้งานของ cpu , memory, hard disk,

network, hostname, system uptime เป็นต้น ดังรูปที่ 4.10

Page 61: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

52

รูปที ่4.10 แสดงผลหน้าจอ System information

การแก้ไขค่าไอพีแอดเดรส (IP Address) ของระบบ สามารถท าได้ผ่านหน้าเว็บแอพพลิเคชั่น

โดยผู้ดูแลรับสามารถตั้งค่าได้เลยผ่านหน้านี้ สามารถปรับเปลี่ยนไอพีแอดเดรส ( IP Address) ตาม

การใช้งานที่เปลี่ยนไปจากหน้าเว็บแอพพลิเคชั่นได้เลย ดังรูป 4.11

รูปที ่4.11 แสดงผลหน้าจอการตั้งค่า IP Interface

Page 62: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

53

หน้าจอ Maintenace จะมีเมนูให้ผู้ดูแลระบบใช้งานอยู่ 2 เมนูคือ Reboot system,

Shutdown ดังรูปที่ 4.12

รูปที ่4.12 แสดงผลหน้าจอการ maintenance server

หน้าจอการเพ่ิมผู้ใช้งานเข้าระบบ (Add user) หน้านี้สามารถเพ่ิมผู้ใช้งานใหม่ได้ครั้งละคน

โดยผู้ดูแลระบบต้องกรอกข้อมูลชื่อจริง นามสกุลจริง เลือกกรุ๊ป และกรอก username password

ส าหรับเข้าใช้งาน internet ดังรูปที่ 4.13

รูปที ่4.13 แสดงผลหน้าจอการเพิ่มผู้ใช้งานเข้าระบบ

Page 63: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

54

หน้าจอแสดงรายละเอียดข้อมูลผู้ใช้งานทั้งหมดของระบบ ผู้ดูแลระบบสามารถบริหารจัดการ

ข้อมูลผู้ใช้งานผ่านหน้านี้ และสามารถคลิกปุ่นตรงช่อง edit เพ่ือแก้ไข้ข้อมูลและเปลี่ยนแปลงค่าต่างๆ

ของผู้ใช้งานได้ ดังรูปที่ 4.14

รูปที ่4.14 หน้าจอแสดงผลผู้ใช้งานทั้งหมดในระบบ

หน้าจอ edit user จากรูป 4.12 เมื่อผู้ดูแลระบบ(Administrator) เข้าสู่หน้า edit user

ผู้ดูแลระบบจะสามารถแก้ไขข้อมูลผู้ใช้งานได้ผ่านหน้านี้ ดังรูป 4.15

รูปที ่4.15 หน้าจอแสดงผลการแก้ไขผู้ใช้งาน

Page 64: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

55

หน้าจอ Group user ผู้ดูแลระบบสามารถ เพ่ิม, ลด กลุ่มผู้ใช้งานโดยผู้ดูแลระบบต้องกรอก

ข้อมูลชื่อกลุ่มและก าหนดค่า upload, download ตามความเหมาะสมของการใช้งาน จากนั้นกด

save ระบบจะท าการติดต่อกับฐานข้อมูลเพ่ือบันทึกหรือสั่งลบข้อมูลของระบบจากฐานข้อมูล ดังรูป

4.16

รูปที ่4.16 แสดงผลหน้าจอการเพิ่มกลุ่มผู้ใช้งาน

หน้าจอการตั้งค่า DHCP ผู้ดูแลระบบสามารถตั้งค่า Start IP Address, End IP Address,

Subnet Mask และ Lease Time ได้ตามต้องการ และเมื่อกรอกข้อมูลเสร็จแล้วกด Save ระบบจะ

ท าการส่งค าสั่งไปทึกข้อมูลลงเซิฟเวอร์ทันที ดังรูป 4.17

Page 65: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

56

รูปที ่4.17 แสดงหน้าจอการตั้งค่า DHCP ของระบบ

หน้าจอการตั้งค่า DNS ผู้ดูแลระบบสามารถตั้งค่า DNS ของระบบได้ตามต้องการ เมื่อใส่

ข้อมูลเสร็จแล้วกด Save ระบบจะท าการส่งค าสั่งไปทึกข้อมูลลงเซิฟเวอร์ทันที ดังรูป 4.18

รูปที ่4.18 แสดงผลหน้าจอการตั้งค่า DNS ของระบบ

Page 66: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

57

4.5 ทดสอบติดตั้งและตั้งค่า DHCP

ตัวอย่างการติดตั้ง DHCP

ตัวอย่างค าสั่ง [root@localhost]# yum –y install dhcp จากนั้นจะได้ผลลัพธ์ดังรูปที่ 4.19

รูปที่ 4.19 ผลลัพธ์จากการติดตั้ง DHCP

เมื่อท าการติดตั้งเสร็จเรียบร้อยให้ใช้ค าสั่ง [root@localhost]# vi

/etc/dhcp/dhcpd.conf เพ่ือท าการตั้งค่า DHCP ดังรูปที่ 4.20

รูปที ่4.20 แสดงข้อมูลการก าหนดค่า DHCP

Page 67: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

58

ท าการเปิดการใช้งาน DHCP ดังค าสั่งด้านล่างจะได้ผลลัพธ์ดังรูปที่ 4.21

[root@hospital ~]# service dhcpd start

[root@hospital ~]# systemctl enable dhcpd

[root@hospital ~]# service dhcpd status

รูปที ่4.21 แสดงการท างานของ DHCP

IP Address ของเครื่อง Vmware client windows 8 ที่ได้ข้อมูลจาก DHCP Server ดังรูป 4.22

รูปที่ 4.22 แสดงผลการจ่ายไอพีของ DHCP server

Page 68: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

59

บทที่ 5

สรุปผลการด าเนินงาน

5.1 สรุปผลการด าเนินงาน

เมื่อเริ่มศึกษาและทดสอบทฤษฎีที่เกี่ยวข้องกับระบบที่จัดท าขึ้น และท าการทดสอบระบบ

แล้ว ระบบที่จัดท าสามารถท าตามวัตถุประสงค์ที่ตั้งไว้และยังสามารถอ านวยความสะดวกให้กับ

ผู้ใช้งานและผู้ที่ดูแลระบบได้เป็นอย่างดี โดยผู้ดูแลระบบจัดท าเอกสารเพ่ือแจกให้ผู้ใช้งานทั่วไป ท า

ให้ช่วยประหยัดการใช้กระดาษ และช่วยลดปัญหาการสื่อการกับเจ้าหน้าที่ ผู้ดูแลระบบสามารถ

ตรวจสอบดูสถานะการท างานของระบบผ่านเว็บแอพพลิเคชั่น และสามารถจัดสรรแบนด์วิดท์ให้กับ

ผู้ใช้งานได้ตามความเหมาะสมของขนาดแบนด์วิดท์

5.2 ข้อเสนอแนะในการพัฒนาโครงงานต่อไปในอนาคต

พัฒนาให้ ให้ ระบบมีหน้ าตาสวยงามและน่ าใช้ งานมากยิ่ งขึ้น , พัฒนาเรื่องการท า

loadbalance, และพัฒนาต่อยอดให้สามารถท างานร่วมกับระบบอ่ืน ๆ ได้มากขึ้น

Page 69: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

60

เอกสารอ้างอิง

[1] Martin A. Brown, Traffic Control HOWTO, Oct 2006

[2] Tony Hill, IP TABLES A Beginner’s Tutorial, Mar 2013

[3] Lucian Gheorgh, Linux Firewalls and QoS using netfilter, iproute2, NAT, and L7-

filter, UK:packt publishing, Oct 2006

[4] Shell Script [Online].http://ftp.psu.ac.th/pub/bash-howto/Shell%20Script.pdf, 2006

Page 70: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ภาคผนวก ก

การติดตั้งและตั้งค่าระบบเบื้องต้น

Page 71: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-1

ภาคผนวก ก

การติดตั้งและตั้งค่าระบบเบื้องต้น

การตั้งค่า IP Address

การตั้งค่า IP Address Interface eth0 สามารถใช้ค าสั่ง vi /etc/sysconfig/network-

script/ifconfig-eth0 ดังรูปที่ ก.1

รูปที ่ก.1 การตั้งค่า eth0

การตั้งค่า IP Address Interface eth1 สามารถใช้ค าสั่ง vi /etc/sysconfig/network-

script/ifconfig-eth1 ดังรูปที่ ก.2

รูปที ่ก.2 การตั้งค่า eth1

Page 72: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-2

วิธีการตรวจสอบข้อมูลของ network interface ต่างๆ ด้วยค าสั่ง ifconfig ดังรูปที่ ก.3

รูปที่ ก.3 แสดงค าสั่งการท างาน ifconfig

การตั้งค่า DHCP

ตัวอย่างการติดตั้ง DHCP

โดยการใช้ค าสั่ง [root@localhost]# yum –y install dhcp จะได้ดังรูปที่ ก.4

Page 73: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-3

รูปที่ ก.4 ผลลัพธ์จากการติดตั้ง DHCP

ตัวอย่างการตั้งค่า DHCP

โดยใช้งานค าสั่ง [root@localhost]# vi /etc/dhcp/dhcpd.conf ดังรูปที ่ก.5

รูปที่ ก.5 แสดงข้อมูลการก าหนดค่า DHCP

เปิดการใช้งาน DHCP

[root@hospital ~]# service dhcpd start

[root@hospital ~]# systemctl enable dhcpd

Page 74: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-4

วิธีการตรวจสอบการท างานของ service ของ DHCP โดยใช้งานค าสั่ง [root@hospital ~]#

service dhcpd status จะได้ดังรูปที่ ก.6

รูปที ่ก.6 แสดงการท างานของ DHCP

การแก้เรื่องสิทธิ์การรันค าสั่งผ่าน apache

สามารถท าได้โดยการใช้ค าสั่ ง vi /etc/sudoers และเพ่ิมค าสั่ ง apache ALL=(root)

NOPASSWD: /sbin/iptables ดังรูปที่ ก.7

รูปที ่ก.7 การเพ่ิมสิทธิ์ในการรัน apache

Page 75: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-5

วิธีการใช้งาน startup config

สามารถเข้าไปเพ่ิมค าสั่งการท างาน startup config ได้ที่ vi /etc/rc.d/rc.local ดังรูปที่ ก.8

รูปที ่ก. 8 การใช้งาน startup config

Page 76: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-6

ตรวจสอบการท างานของ tc class จากถูกสั่งรันค าสั่งที่ startup config โดยสามารถใช้

ค าสั่ง tc class show dev eth0 ดังรูปที่ ก.9

รูปที ่ก.9 แสดง tc class ที่ถูกสร้างขึ้น

การติดตั้ง Service ต่างๆ ที่จ าเป็นต่อการใช้งานของระบบ

การติดตั้ง Apache HTTP Server

[root@hospital ~]# yum install httpd –y

[root@hospital ~]# service httpd start

[root@hospital ~]# systemctl enable httpd

การติดตั้ง HTTPS

[root@hospital ~]# yum install mod_ssl –y

การติดตั้งภาษา PHP

[root@hospital ~]# yum install php php-mysql -y

[root@hospital ~]# systemctl enable httpd

Page 77: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-7

การติดตั้ง Mysql Server

[root@hospital ~]# yum install mysql-server -y

[root@hospital ~]# service mysqld start

[root@hospital ~]# systemctl enable mysqld

การติดตั้ง ntp

[root@hospital ~]# yum install ntpdate

เมื่อท าการติดตั้งเรียบร้อยแล้ว จากนั้นรันค าสั่ง ntpdate เผื่อ sync เวลา

[root@hospital ~]# ntpdate time1.nimt.or.th time2.nimt.or.th time3.nimt.or.th

[root@hospital ~]# crontab -e

0 */3 * * * /usr/sbin/ntpdate time1.nimt.or.th time2.nimt.or.th time3.nimt.or.th

การติดตั้ง SNMP

[root@hospital ~]# yum install net-snmp net-snmp-utils –y

[root@hospital ~]# service snmpd start

[root@hospital ~]# systemctl enable snmpd

การตั้งค่า SNMP โดยใช้ค าสั่ง vi /etc/snmp/snmpd.conf ดังรูปที่ ก.10

รูปที ่ก.10 แสดงการตั้งค่า SNMP

Page 78: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ก-8

แสดงการท างานของ Iptables ดังรูปที่ ก.11

รูปที ่ก.11 แสดงการท างานของ Iptables

Page 79: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ภาคผนวก ข

ซอร์สโค้ดของระบบ

Page 80: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-1

ภาคผนวก ข

ซอร์สโค้ดของระบบ

ในภาคผนวกนี้จะกล่าวถึงการเขียนโค้ดต่างๆ ที่ใช้ในหน้าเว็บของระบบ รวมถึงสคริปท์การ

ท างาน ซึ่งสามารถแบ่งเป็นหัวข้อหลักๆ ที่ส าคัญต่างๆได้ดังนี้

สคริปต์การท างานเมื่อระบบเริ่มต้นการท างาน โดยจะรันค าสั่งเริ่มต้นการท างานที่เก็บอยู่ใน

/etc/rc.d/rc.local

รูปที ่ข.1 โค้ดท่ีใช้ในการเริ่มะบบ

จากรูปที่ ข.1 แสดงค าสั่งการท างานของ tc ที่ใช้ในการสร้าง root class ของระบบ และ

ก าหนดการควบคุมแบนด์วิดท์ของแต่ละ parent ทั้งในฝั่ง upload และ download

Page 81: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-2

สคริปต์การตั้งค่า networkinterface โดยจะรันค าสั่งเริ่มต้นการท างานที่เก็บอยู่ใน

/home/networkinteface.sh ดังรูปที่ ข.2

รูปที ่ข.2 สคริปต์การตั้งค่า networkinterface

สคริปต์การตั้งค่า DHCP โดยจะรันค าสั่งเริ่มต้นการท างานที่เก็บอยู่ใน /home/dhcp.sh ดัง

รูปที่ ข.3

รูปที ่ข.3 สคริปต์การตั้งค่า DHCP

Page 82: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-3

โค้ดแสดงการท างานของการอ่านข้อมูลจาก text file โดยแบ่งแยกประเภทข้อมูลทั้งหมด 3

ปรเภทได้แก่ ADMIT, REGIS, DISCHARGE ดังรูปที่ ข.4

รูปที ่ข.4 แสดงโค้ดการอ่านข้อมูล

โค้ดแสดงการก าหนดแบนด์วิดท์ของแต่ละผู้ใช้งานที่เข้าใช้งานระบบ เมื่อผู้ใช้งานท าการล๊อ

คอินเข้าใช้งานระบบ จากนั้นระบบจะก าหนดข้อมูลการ upload และ download ดังรูปที่ ข.5

รูปที ่ข.5 แสดงโค้ดการก าหนดแบนวิดท์

Page 83: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-4

แสดงโค้ดการเก็บข้อมูล โดยการตัดข้อมูลและแยกประเภทเก็บข้อมูล ดังรูปที่ ข.6

รูปที ่ข.6 แสดงโค้ดการเก็บข้อมูลเข้าระบบ

Page 84: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-5

โค้ดแสดงการบันทึกข้อมูลเข้าระบบ ดังรูปที่ ข.7

รูปที ่ข.7 แสดงโค้ดการบันทึกข้อมูล

โค้ดการตั้งค่า DHCP ผ่านหน้าเว็บแอพพลิเคชั่น ดังรูปที่ ข.8

รูปที่ ข.8 โค้ดการตั้งค่า DHCP ผ่านหน้าเว็บแอพพลิเคชั่น

Page 85: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

ข-6

โค้ดแสดงการเรียกข้อมูลของระบบผ่าน SNMP จากเว็บแอพพลิเคชั่น ดังรูปที่ ข.9

รูปที่ ข.9 โค้ดแสดงการเรียกข้อมูลของระบบผ่าน SNMP

Page 86: Mr Pathomlurk Worawanich › thesis › Thesis_2560 › (NE) Hospital... · ระบบควบคุมการใช้งานอินเตอร์เน็ตโรงพยาบาล

Recommended