มาเล่นกับ Proxy Server กันเถอะ

มาเล่นกับ Proxy Server ของ LinuxSIS กันเถอะ

ชวนเล่นอีกแล้ว แหม ชวนเล่นทั้งที ต้องมีอะไรดีดิครับ อย่างน้อย อ่านบทความนี้แล้ว ต้องได้อะไรๆ ที่ Advance ไปบ้างแหละครับ ถึงอ่านแล้วทำตามไม่ได้ อย่างน้อยก็น่าจะได้แนวความคิดบ้างอะครับ เอาละ มาเริ่มกันเลยดีกว่าครับ

Proxy Server คืออะไร

Proxy Server คือบริการของแม่ข่ายที่จัดเก็บ content ของ website ต่างๆ ที่เครื่องลูกข่ายได้ไปเยี่ยมเยือนมา เพื่อที่ว่าเวลาที่เครื่องลูกข่ายเครื่องอื่นไปบ้าง จะได้ไม่ต้องออกไปเอาข้อมูลในเน็ตจริงๆ แต่มาเอาที่เครื่องแม่ข่ายของเราแทน [แล้วมันจะดีอย่างไรถ้าเอามาเก็บไว้ที่เครื่องแม่ข่ายเรา] ที่แน่ๆ ถ้าเครื่องลูกข่ายออกไป Website เดียวกันหลายๆ เครื่อง แล้วไม่มีระบบ Proxy ละก็ เครื่องลูกข่ายแต่ละเครื่องก็จะต้องออกเน็ตเพื่อไปเอาข้อมูล ทำให้เปลือง brandwith และล้าช้าได้ แต่ถ้ามี Proxy Server อยู่แล้ว เครื่องลูกข่ายเครื่องแรกเท่านั้นที่จะออกเน็ตไปเพื่อให้ได้ข้อมูลมา แล้วข้อมูลนั้น ก็จะถูกเก็บไว้ใน Proxy Server ของเรา ดังนั้น เมื่อเครื่องลูกข่ายเครื่องอื่นๆ ไป Website เดียวกันกับเครื่องแรก ก็ไปเอาที่ Proxy Server แทน ประโยชน์ด้านอื่นๆ หละ ถ้าในเครือข่ายเรามี Proxy Server แล้วละก็ ตัว Proxy Server จะทำหน้าที่เป็นคนกำหนดการออกเน็ตของเครื่องลูกข่าย (เครื่องแรก ออกไปเอาจากเน็ตมาจริงๆ เครื่องอื่น ไม่ได้ออกจริง Proxy จัดให้) ดังนั้น เราจึงสามารถปรับแต่ง Proxy Server ให้ควบคุมการออกเน็ตแบบต่างๆ เช่น บางเครื่องออกเน็ตได้ หรือ user บางคนเล่นเน็ตได้ (ต้อง login ก่อน จึงจะรู้ว่าเล่นเน็ตได้หรือไม่) ห้ามไป Website ที่ไม่เหมาะสม และกำหนดความสำคัญก็ได้ เช่น พนักงานธรรมดา ถูกบีบให้ใช้ได้น้อย Admin ออกได้เยอะกว่า แถมไม่ Block อีกต่างหาก เป็นต้น

น่าสนใจใหมละครับ ถ้างั้นก็ลองอ่านดูครับว่า เราจะทำอะไรกับ Proxy ของ LinuxSIS 5 ได้บ้างครับ

บทความนี้ชวนทำอะไร

ก็ไม่มีอะไรมากหรอกครับ แค่ชวนปรับแต่งให้ Proxy ของ LinuxSIS 5 ให้ กำหนดได้ว่า ต้องมีบัญชีเป็นผู้ใช้ของ LinuxSIS 5 จึงจะออกเน็ตได้ หรือไม่ก็ กำหนดไปเลยว่า ผู้ใช้ท่านใดมีสิทธิเล่นเน็ตได้ ท่านใดไม่ได้ กำหนดได้ว่า เครื่องลูกข่ายเครื่องใดเล่นเน็ตได้ แล้วยังควบคุมได้่ว่า เครื่องไหนเล่นได้มากน้อย เล่นเน็ตแบบถุก block หรือไม่ เล่นเวลาไหนได้บ้าง ดูรายงานว่า ใครไปเที่ยวไหนมาบ้าง .......

Requirement เบื้องต้นสำหรับบทความนี้

อันดับแรกสุดเลย จะต้องมีความรู้เรื่อง Network พื้นฐานครับ ถัดมา ก็ต้องเคยใช้บรรทัดคำสั่งครับ อันนี้สำคัญ เพราะต้องลุยกับ command ล้วนๆ สุดท้าย (สำคัญที่สุด) ต้องมีเครื่องให้ลองครับ แต่ถ้าลองใช้กับ Linux ตัวอื่น ก็คงต้องลองดัดแปลงนิดหน่อยละกันนะครับ

ลุยกันละนะ

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

จำกัดเครื่องที่สามารถออกเน็ตได้ ผ่าน IP Address

IP Address คือเลขรหัสประจำตัวของเครื่องคอมพิวเตอร์เครื่องใดๆ ที่อยู่ใน Internet ซึ่งเปรียบเสมือนเบอร์โทรศัพท์ เลขทะเบียนของรถยนต์ หรือเหมือนเลขที่บ้าน (ซึ่งเป็นเลขที่ต้องได้รับการ Assign จากผู้ดูแลเครือข่าย) ซึ่งจะใช้อ้างอิงในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ในเครือข่าย เมื่อจะติดต่อ หรือส่ง - รับข้อมูลกัน จะได้ระบุได้ถูกว่าต้องการติดต่อกับเครื่องที่มี IP อะไร (เปรียบเสมือนว่าถ้าจะคุยกับผม จะต้องโทรไปที่เบอร์ไหน หรือส่งจดหมายไปที่บ้านเลขที่อะไร) ดังนั้น เครื่องทุกเครื่องที่ต่อ Network ด้วยกัน จะต้องมี IP Address ที่ไม่ซ้ำกัน เพื่อจะได้ไม่สับสนเวลาติดต่อสื่อสารกัน ใน Proxy ของ LinuxSIS 5 จะมีส่วนที่ระบุไว้ว่า อนุญาติให้เครื่องไหนเข้ามาใช้งาน Proxy Server ได้บ้าง (ถ้ากำหนดไว้ว่า ต้องออกเน็ตผ่าน Proxy ก็แปลว่า ได้กำหนดไว้แล้วว่ามีเครื่องไหนบ้างที่ออกเน็ตได้) ถ้าต้องการกำหนด ก็เข้ามาดัดแปลงตรงส่วนนี้ได้เลยครับ

Config file ที่ต้องปรับแต่งก็คือ /etc/squid/squid.conf ครับ โดยใช้ text editor เปิดขึ้นมา แล้ว search หาคำว่า src 192.168.0.0/16 จะได้คล้ายๆ ข้างล่างนี้

acl SIS5_Network src 192.168.0.0/16

http_access allow SIS5_Network

ซึ่งหมายความว่า กำหนดให้ตัวแปรชื่อ SIS5_Network มีสมาชิก (src) เป็น IP 192.168.X.X (X.X แปลว่า ค่าใดๆ) ดังนั้น ถ้าต้องการให้เครื่อง IP 192.168.212.10 กับเครื่อง 192.168.212.11 เล่นเน็ตได้เท่านั้น ก็ไปดัดแปลงส่วนนี้ ให้เป็นอย่างนี้ครับ

acl SIS5_Network src 192.168.212.10 192.168.212.11

http_access allow SIS5_Network

เท่านี้ก็ใช้ได้แล้วครับ ถ้าต้องการหลายๆ เครื่อง ก็กำหนดไป โดยเว้นแต่ละเครื่อง (IP) ด้วยเว้นวรรค ถ้าเครือข่ายมีขนาดใหญ่ ซึ่งแบ่งเป็นกลุ่มๆ ก็ให้ใส่เป็นกลุ่ม ดังนี้

acl SIS5_Network src 192.168.1.0/24 192.168.2.0/24

http_access allow SIS5_Network

หรือไม่ก็

acl SIS5_Admin src 192.168.1.0/24

acl SIS5_Eng src 192.168.2.0/24

http_access allow SIS5_Admin

http_access allow SIS5_Eng

ก็ใช้ได้เช่นกันครับ

ยังไงก็เอาตัวอย่างเหล่านี้ไปดัดแปลงดูละกันนะครับ


จำกัดเครื่องที่สามารถออกเน็ตได้ ผ่าน Mac Address

Mac Address ก็คือเลขรหัสประจำตัวของ Lan card (NIC) แต่ละใบ ซึ่งเปรียบเสมือน Serial Number หรือ IME ของโทรศัพท์ หรือเลขตัวถังรถยนต์ ซึ่งเป็นเลขที่ผูกพันธ์อยู่กับ Hardware ซึ่งไม่ขึ้นกับ IP Address ดังนั้น ถ้าเราจำกัดการเล่นเน็ตด้วยวิธีนี้ ทำให้เราสามารถกำหนดได้ว่า ให้เครื่องลูกข่ายเครื่องใดเล่นเน็ตได้บ้าง ไม่ว่าเครื่องนั้นจะตั้ง IP Address เป็นอะไรก็ตาม เรามาดูวิธีการกันครับ

เช่นเดิมครับ เปิด squid.conf มาเพิ่มส่วนของการอนุญาติให้ใช้งานดังนี้

  1. LinuxSIS 5.X authen by mac address

acl SIS5_Mac arp MacAdd

http allow SIS5_Mac

http deny ! SIS5_Mac

โดยที่ MacAdd คือ Mac Address ของเครื่องลูกข่ายที่ต้องการอนุญาติให้เล่นเน็ตได้ เช่น 11:12:13:14:15:16

โพสต์ยอดนิยมจากบล็อกนี้

ปัญหาและเฉลยวิชาธรรม นักธรรมชั้นตรี สอบในสนามหลวง วันอังคาร ที่ ๒๙ กันยายน พ.ศ.๒๕๕๒

I miss you all กับ I miss all of you ต่างกันอย่างไร

ปัญหาและเฉลยวิชาอนุพุทธประวัติ นักธรรมชั้นโท สอบในสนามหลวง วันอาทิตย์ ที่ ๒๐ พฤศจิกายน พ.ศ. ๒๕๔๘