ขอบคุณมากครับ ^^
Announcement
Collapse
No announcement yet.
การใช้ pfSense บล๊อก Facebook และอนุญาติให้บาง IP กรุ๊ป,ช่วง IP ให้ใช้ Facebook ได้
Collapse
X
-
ที่ทำเป็นระบบโรงเรียนนะครับ คือจะบล็อก facebook ช่วงเวลา 08:30 - 11:30 และ 12:30-15:30 น. โดยใช้ rule+Schedules เพื่อให้ทั้ง ครู และ นักเรียนใช้เป็นเวลาแค่พักกลางวันกับเลิกเรียนนะครับ ตอนนี้ก็ใช้แบบที่ท่านแนะนำมาครับ แต่ติดตรงช่วงเวลาสมมุติว่าตอน 12:25 น. มีเครื่องใช้ facebook อยู่ พอเลยกำหนด 12:30 เครื่องนั้นก็ยังเข้า facebook ได้อยู่ มีวิธีการไหนที่จะตัดการเชื่อมต่อจาก server มั้ยครับ ขอบคุณครับ
Comment
-
หา IP ของ Facebook มาจากไหนเนี่ย.. บอกแหล่งหรือวิธีการหน่อยได้ไหม..
จริงๆ ใช้ SquidของpfSense บล๊อกได้นะครับ ได้ทั้ง http และ https เลย แต่...
ถ้าตั้ง SquidบนpfSense เป็น Transparency จะไม่สามารถบล็อกhttpsได้ เพราะ Transparency มันจับแต่ 80
ถ้าจะบล็อก Facebook (หรืออื่นๆที่เป็นCloud) ต้องลง Squid แยกไว้อีกServerนึง(Serverนี้ต้องเป็นDMZ ไม่อยู่ใต้Interface LAN) แล้วตั้งpfSenseบล็อก80ที่ Interface Lan เพื่อบังคับให้ลูกช่ายให้ Add Proxy ไปที่ เครื่องSquidที่เราเตรียมไว้... พอเราตั้งค่าในBrowserให้ใช้Proxy ทั้งhttpและhttps จะถูกเรียกผ่านProxyเครื่องนั้นทั้งหมด squidก็จะกรองได้ทั้งhttpและhttps... แต่(ก็มีแต่อีก)วีธีแบบนี้ต้องเซตดีๆ เพราะถ้าเราตั้งProxyเป็นServerเครื่องอื่น(ที่ไม่ไช่เครื่องpfSense) มันจะมีปัญหาในกรณีที่เราใช้ pfSense ทำ CaptivePortal ครับ
อนึง..ปัญหาจุกจิก พวกนี้พอจะมีความหวังกับ pfSense 2.1 ครับ (แต่ตอนนี้มันDevอยู่ มีข่าวฝรั่งลือว่า จะออกก่อนคริสมาส)
อะสอง..ปัญหาแบบนี้ ก็พบกับ ClearOS6 ครับ... แต่ ClearOS6(หรือLinuxอื่น)จะใช้วิธีคอนฟิกตรงๆบน iptables ได้ครับ (ซึ่งเราดัดแปลงแบบนี้บนpfSenseไม่ได้)
หมายเหตุ..
เราอยากคาดหวังกับ package Squid ของpfSenseมากนักนะครับ... ถ้าคุณต้องตั้งค่าSquid/squidguardซับซ้อน ต้องทำACL/ทำบัญชีผู้ใช้ ถ้าต้องจัดหนักกับSquid ผมแนะนำให้คุณลง SquidแยกServerอีกเครื่องไปเลย จะทำงานได้ง่ายกว่า ลดปัญหาที่ไร้ที่มา(ปัญหาที่งงโดยไม่สมเหตุสมผล)จะลดลงได้เยอะครับLast edited by Dokmai; 3 Oct 2012, 13:17:48.
Comment
-
Originally posted by yesindeed View Postที่ทำเป็นระบบโรงเรียนนะครับ คือจะบล็อก facebook ช่วงเวลา 08:30 - 11:30 และ 12:30-15:30 น. โดยใช้ rule+Schedules เพื่อให้ทั้ง ครู และ นักเรียนใช้เป็นเวลาแค่พักกลางวันกับเลิกเรียนนะครับ ตอนนี้ก็ใช้แบบที่ท่านแนะนำมาครับ แต่ติดตรงช่วงเวลาสมมุติว่าตอน 12:25 น. มีเครื่องใช้ facebook อยู่ พอเลยกำหนด 12:30 เครื่องนั้นก็ยังเข้า facebook ได้อยู่ มีวิธีการไหนที่จะตัดการเชื่อมต่อจาก server มั้ยครับ ขอบคุณครับLast edited by Noppy; 5 Oct 2012, 14:29:49.
Comment
-
ถ้าหมายถึง ขาLAN#443 ไป ขาLAN#3128 ทำไม่ได้ครับ
ผมยังหาวิธีบังคับให้ pfsense Transparancy Squid จับ 443 ไม่ได้ครับ..
* ขออนุญาตินอกเรื่อง (หากท่านใดรู้โปรดสอนผมด้วย)
pfSense มันมีอีกปัญหานึงนะครับ(ปัญหาส่วนตัวตรงๆของผมเลยครับ) คือ FTP Passive Mode
ถ้าเรามี Public-IP หลายตัว แล้วเราเซต Virtual-IP ให้มัน 1:1 ไปเข้าServer(ทำแบบDMZ) มันจะเกิดปัญหาว่าใช้ FTP จากเน็ตนอก เข้าไปหา Server FTP ด้วย PassiveMode ไม่ได้... ซึ่งผมเจอปัญหานี้อยู่กับ pfSense 2.0 (แล้วผมยังมืด8ด้านเลย)
Comment
-
Originally posted by Dokmai View Postหา IP ของ Facebook มาจากไหนเนี่ย.. บอกแหล่งหรือวิธีการหน่อยได้ไหม..
จริงๆ ใช้ SquidของpfSense บล๊อกได้นะครับ ได้ทั้ง http และ https เลย แต่...
ถ้าตั้ง SquidบนpfSense เป็น Transparency จะไม่สามารถบล็อกhttpsได้ เพราะ Transparency มันจับแต่ 80
ถ้าจะบล็อก Facebook (หรืออื่นๆที่เป็นCloud) ต้องลง Squid แยกไว้อีกServerนึง(Serverนี้ต้องเป็นDMZ ไม่อยู่ใต้Interface LAN) แล้วตั้งpfSenseบล็อก80ที่ Interface Lan เพื่อบังคับให้ลูกช่ายให้ Add Proxy ไปที่ เครื่องSquidที่เราเตรียมไว้... พอเราตั้งค่าในBrowserให้ใช้Proxy ทั้งhttpและhttps จะถูกเรียกผ่านProxyเครื่องนั้นทั้งหมด squidก็จะกรองได้ทั้งhttpและhttps... แต่(ก็มีแต่อีก)วีธีแบบนี้ต้องเซตดีๆ เพราะถ้าเราตั้งProxyเป็นServerเครื่องอื่น(ที่ไม่ไช่เครื่องpfSense) มันจะมีปัญหาในกรณีที่เราใช้ pfSense ทำ CaptivePortal ครับ
อนึง..ปัญหาจุกจิก พวกนี้พอจะมีความหวังกับ pfSense 2.1 ครับ (แต่ตอนนี้มันDevอยู่ มีข่าวฝรั่งลือว่า จะออกก่อนคริสมาส)
อะสอง..ปัญหาแบบนี้ ก็พบกับ ClearOS6 ครับ... แต่ ClearOS6(หรือLinuxอื่น)จะใช้วิธีคอนฟิกตรงๆบน iptables ได้ครับ (ซึ่งเราดัดแปลงแบบนี้บนpfSenseไม่ได้)
หมายเหตุ..
เราอยากคาดหวังกับ package Squid ของpfSenseมากนักนะครับ... ถ้าคุณต้องตั้งค่าSquid/squidguardซับซ้อน ต้องทำACL/ทำบัญชีผู้ใช้ ถ้าต้องจัดหนักกับSquid ผมแนะนำให้คุณลง SquidแยกServerอีกเครื่องไปเลย จะทำงานได้ง่ายกว่า ลดปัญหาที่ไร้ที่มา(ปัญหาที่งงโดยไม่สมเหตุสมผล)จะลดลงได้เยอะครับ
ลองใช้เครื่องมือ Whois it tool kit ที่เกี่ยวกับ CIDR ที่เป็น prefix ของ Facebook และ UltraSurf ในอินเตอร์เน็ทมีให้ใช้เยอะเลยลองใช้ Google ค้นหาดูนะ
ถ้าคุณดอกไม้สนใจเกี่ยวกับ pfSense 2.1 tutorial สมัครได้ที่: http://2012.eurobsdcon.org/register
EuroBSDcon 2012 Warsaw, Poland : pfSense 2.1 tutorials 18-19 OctoberLast edited by Noppy; 3 Oct 2012, 23:01:19.
Comment
-
Originally posted by Dokmai View Postถ้าหมายถึง ขาLAN#443 ไป ขาLAN#3128 ทำไม่ได้ครับ
ผมยังหาวิธีบังคับให้ pfsense Transparancy Squid จับ 443 ไม่ได้ครับ..
* ขออนุญาตินอกเรื่อง (หากท่านใดรู้โปรดสอนผมด้วย)
pfSense มันมีอีกปัญหานึงนะครับ(ปัญหาส่วนตัวตรงๆของผมเลยครับ) คือ FTP Passive Mode
ถ้าเรามี Public-IP หลายตัว แล้วเราเซต Virtual-IP ให้มัน 1:1 ไปเข้าServer(ทำแบบDMZ) มันจะเกิดปัญหาว่าใช้ FTP จากเน็ตนอก เข้าไปหา Server FTP ด้วย PassiveMode ไม่ได้... ซึ่งผมเจอปัญหานี้อยู่กับ pfSense 2.0 (แล้วผมยังมืด8ด้านเลย)
Comment
-
Originally posted by Noppy View Postให้ทำตามนี้นะ เอาอย่างง่ายๆก่อน เมื่อคล่องแล้วถึงค่อยดัดแปลงที่หลัง
ให้สร้าง Schedule ขึ้นมา 4 Schedules ดังนี้
สำหรับ Schedule นั้น ถ้าต้องการกำหนด วันจันทร์ทุกสัปดาห์ วันอังคารทุกสัปดาห์ วันพุธทุกสัปดาห์ วันพฤหัสทุกสัปดาห์ จนถึง วันศุกร์ทุกสัปดาห์ คุณจะต้องคลิกที่คำภาษาอังกฤษที่เป็น Mon, Tue, Wed, Thu, Fri
ให้ลองใช้วิธีการสร้างดังตัวอย่างข้างล่าง
สร้าง
Schedule ที่ 1 : ชื่อว่า "MorningWorkingTime" เริ่มเวลาทำงานตั้งแต่ 08:00 am - 11:30 am >คลิกปุ่ม Add Time > คลิกปุ่ม Save (เป็นการกำหนดช่วงทำงานตอนเช้าที่ไม่ให้มีการใช้ Facebook )
สร้าง
Schedule ที่ 2 : ชื่อว่า "LunchTime" เริ่มเวลาตั้งแต่ 11:30 am - 12:30 pm >คลิกปุ่ม Add Time > คลิกปุ่ม Save (เป็นการกำหนดช่วงพักเที่ยงสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
สร้าง
Schedule ที่ 3 : ชื่อว่า "AfternoonWorkingTime" เริ่มเวลาทำงานตั้งแต่ 12:30 pm - 15:30 pm) >คลิกปุ่ม Add Time > คลิกปุ่ม Save (เป็นการกำหนดช่วงทำงานตอนบ่ายที่ไม่ให้มีการใช้ Facebook )
สร้าง
Schedule ที่ 4 : ชื่อว่า "AfterWorkingTime" สิ้นสุดเวลาทำงานตั้งแต่ 15:30 pm - 0:00 pm) >คลิกปุ่ม Add Time > คลิกปุ่ม Save (เป็นการกำหนดช่วงหลังเลิกงานสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
หลังจากสร้าง Schedule เรียบร้อยแล้วต่อมาให้ทำการสร้างกฎไฟร์วอลล์เพื่อใช้กับ Schedule โดยไปที่คำสั่ง Firewall > Rules >คลิกที่แท็บ LAN ต่อจากนั้นให้ทำการสร้างกฎการ Block หรือ Reject ของ facebook ขึ้นมาก่อนดังนี้ (ข้อมูลที่ใช้อ้างอิงแทนได้ขอให้ดูขั้นตอนที่ 1 วิธีการ Alias ที่ชื่อ BlockFacebook เพื่อรวมไอพีแอดเดรสของ Facebook ไว้ทั้งหมด ที่หน้า 835 และ ขั้นตอนที่ 2 การสร้างกฎไฟร์วอลล์ในการบล็อก Facebook โดยการใช้ Alias ที่ชื่อ BlockFacebook ที่หน้า 837)
ทดลองสร้างกฎง่ายๆก่อนนะ
(ส่วนการใช้ การรวมกลุ่มของ LocalNetworkPorts, RemotePorts และ EmailPorts แทนที่ any ตรงที่ส่วนของ Destination port range ให้ใช้ Chapter 3 ที่หน้า 149 ถึง 171 ที่เกี่ยวกับการรวมกลุ่มของ LocalNetworkPorts, RemotePorts และ EmailPorts และการกำหนดกฎไฟร์วอลล์ให้กับกลุ่มเหล่านี้ ซึ่งสามารถใช้อ้างอิงในการกำหนดกฎไฟร์วอลล์ที่คุณต้องการได้)
1. กฎการบล็อก BlockFacebook นี้จะต้องอยู่ด้านบนสุดนะ
Action : Reject หรือ Block (แนะนำ Reject)
Interface : LAN
Protocol : TCP
Source : LAN subnet
Destination : Type : Single host or alias
Address: BlockFacebook
Destination port range from: HTTP
to: HTTPs
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
2. สร้างกฎอนุญาติ MorningWorkingTime : 08:00 am - 11:30 am ซึ่งกฎนี้จะต้องอยู่ด้านล่างต่อจากกฏการบล็อกของ BlockFacebook
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "MorningWorkingTime"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
3. สร้างกฎอนุญาติ AfternoonWorkingTime: 12:30 pm - 15:30 pm กฎนี้จะต้องอยู่ด้านล่างต่อจากกฏการบล็อกของ BlockFacebook
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "AfternoonWorkingTime"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
========================================================
ต้องใช้กฎ Floating ด้วยนะ
ต่อมาที่คำสั่ง Firewall > Rules >คลิกที่แท็บ floating ต่อจากนั้นให้ทำการสร้างกฎอนุญาติหรือยกเว้นให้สามารถใช้ facebook และอินเตอร์เน็ตได้ทั้งหมด
1. กฎ Lunch Time: 11:30 am - 12:30 pm (เป็นการกำหนดช่วงพักเที่ยงสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
Action : Pass
Quick : ให้ใส่เครื่อหมายถูกที่หน้าคำว่า Apply the action immediately on match.
Interface : LAN
Direction : any
TCP/IP Version : IPv4
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "LunchTime"
2. กฎ AfterWorkingTime: 15:30 pm - 0:00 pm (เป็นการกำหนดช่วงหลังเลิกงานสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
Action : Pass
Quick : ให้ใส่เครื่อหมายถูกที่หน้าคำว่า Apply the action immediately on match.
Interface : LAN
Direction : any
TCP/IP Version : IPv4
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "AfterWorkingTime"
สำคัญมาก
จะต้องทำการเคลียร์ States table ของไฟร์วอลล์ทุกครั้งด้วยหลังจากที่มีการตั้งค่าคอนฟิกและแก้ใขค่าคอนฟิกต่างๆที่เกี่ยวกับ facebook หรือ กฎ floating rule โดยไปที่ Diagnostics > States > ที่แท็บ Reset states ต่อจากนั้นคลิกที่ปุ่ม Reset หรือ รีสตาร์ท pfsense ก็ได้ถ้าจำเป็น เพราะว่าถ้าไม่ทำการเคลียร์ States
table ของไฟร์วอลล์จะทำให้การบล๊อก facebook และกฏการใช้ของ Floating จะไม่เกิดผลบังคับใช้เนื่องจาก States table หรือ ตารางการเชื่อมต่อของไฟร์วอลล์ ยังคงการเชื่อมต่อกับ Facebook ที่ผู้ใช้ได้มีการเปิดใช้มาก่อน ก่อนที่ผู้ใช้จะทำการตั้งค่าการบล็อก facebook อีกที่หนึ่ง ดังนั้นเมื่อมีการคอนฟิกและแก้ไขค่า
คอนฟิกต่างๆของไฟร์วอลล์ที่เกี่ยวกับ facebook หรือ กฎ floating rule จึงจำเป็นต้องเคลียร์ค่า States table ของไฟร์วอลล์ทุกครั้ง
ซึ่งช่วงเริ่มเวลาต่อกันแต่ละช่วงของ Schedule ของ pfSense จะใช้เวลาอัปเดทประมาณ 15 หรือ 20 วินาที ผมคิดว่านะประมาณนั้น
ถ้าได้ผลยังไงช่วงบอกผลตอบกลับมาด้วยจะขอบคุณมาก
สำหรับการใช้แพ็กเก็จต่างๆนั้นจากการทดสอบหลายๆแพ็กเก็จยังมีปัญหาอยู่เยอะกับ pfSense ถ้าคุณลองดูที่ pfSense forum ในแต่ละวัน ถ้ายังไงพยายามติดตั้งแพ็จเก็จเท่าที่จำเป็นจริงๆนะ
Comment
-
"คุณ yesindeed และ ผู้ที่ต้องการใช้งานในลักษณะนี้ลองทดสอบดูนะ ไม่ต้องใช้กฎ Floating Rules"
yesindeed : ที่ทำเป็นระบบโรงเรียนนะครับ คือจะบล็อก facebook ช่วงเวลา 08:30 - 11:30 และ 12:30-15:30 น. โดยใช้ rule+Schedules เพื่อให้ทั้ง ครู และ นักเรียนใช้เป็นเวลาแค่พักกลางวันกับเลิกเรียนนะครับ ตอนนี้ก็ใช้แบบที่ท่านแนะนำมาครับ แต่ติดตรงช่วงเวลาสมมุติว่าตอน 12:25 น. มีเครื่องใช้ facebook อยู่ พอเลยกำหนด 12:30 เครื่องนั้นก็ยังเข้า facebook ได้อยู่ มีวิธีการไหนที่จะตัดการเชื่อมต่อจาก server มั้ยครับ ขอบคุณครับ
การใช้กฎไฟร์วอลล์ กับ Schedule + บล็อกและไม่บล็อก Facebook เป็นบางช่วง
ให้ทำตามตัวอย่างนี้นะ เอาอย่างง่ายๆก่อน เมื่อคล่องแล้วถึงค่อยดัดแปลงที่หลัง
แนะนำ:
ก่อนลงมือทำให้ทำการตรวจเช็คและตั้งค่าเวลาของ Computer ให้ถูกต้องตรงกันกับ Time Zone ของผู้ใช้ด้วย
ให้สร้าง Schedule ขึ้นมา 4 Schedules ดังนี้
สำหรับ Schedule นั้น ถ้าต้องการกำหนด วันจันทร์ทุกสัปดาห์ วันอังคารทุกสัปดาห์ วันพุธทุกสัปดาห์ วันพฤหัสทุกสัปดาห์ จนถึง วันศุกร์ทุกสัปดาห์ คุณจะต้องคลิกที่คำภาษาอังกฤษที่เป็น Mon, Tue, Wed, Thu, Fri
ให้ลองใช้วิธีการสร้างดังตัวอย่างข้างล่าง
สร้าง
Schedule ที่ 1 : ชื่อว่า "LearningMorning" เริ่มเวลาทำงานตั้งแต่ 08:00 am - 11:30 am >คลิกปุ่ม Add Time > คลิกปุ่ม Save
(เป็นการกำหนดช่วงเรียนตอนเช้าที่สามารถใช้ Internet ได้ แต่เพียงแค่บล็อก Facebook อย่างเดียว )
LearningMorning.png
สร้าง
Schedule ที่ 2 : ชื่อว่า "LunchBreak" เริ่มเวลาตั้งแต่ 11:30 am - 12:30 pm >คลิกปุ่ม Add Time > คลิกปุ่ม Save
(เป็นการกำหนดช่วงพักเที่ยงสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดที่รวมทั้ง Facebook หรืออะไรก็แล้วแต่)
LunchBreak.png
สร้าง
Schedule ที่ 3 : ชื่อว่า "LearningAfternoon " เริ่มเวลาทำงานตั้งแต่ 12:30 pm - 15:30 pm) >คลิกปุ่ม Add Time > คลิกปุ่ม Save
(เป็นการกำหนดช่วงเรียนตอนบ่ายที่สามารถใช้ Internet ได้ แต่เพียงแค่บล็อก Facebook อย่างเดียว )
LearningAfternoon.pngLast edited by Noppy; 7 Oct 2012, 14:41:31.
Comment
-
ต่อนะ.....
สร้าง
Schedule ที่ 4 : ชื่อว่า "AfterSchool" สิ้นสุดเวลาทำงานตั้งแต่ 15:30 pm - 23:59 pm) >คลิกปุ่ม Add Time > คลิกปุ่ม Save
(เป็นการกำหนดช่วงพักเที่ยงสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดที่รวมทั้ง Facebook หรืออะไรก็แล้วแต่)
AfterSchool.png
สรุป Schedule ทั้งหมดที่สร้าง
LearningMorning : 8:00-11:30 am
LunchBreak : 11:30-12:30 pm
LearningAfternoon : 12:30-15:30 pm
AfterSchool : 15:30-23:59 pm
ดังนั้นตั้งแต่ 0:00-7:59 am (เทียงคืน 24:00 นาฬิกา จนถึงตอนเช้า 7:59 นาฬิกา )จะไม่สามารถใช้อินเตอร์เน็ตได้
MorningLunchAfternoonAfterschool.png
หลังจากสร้าง Schedule เรียบร้อยแล้วต่อมาให้ทำการสร้างกฎไฟร์วอลล์เพื่อใช้กับ Schedule โดยไปที่คำสั่ง Firewall > Rules >คลิกที่แท็บ LAN ต่อจากนั้นให้ทำการสร้างกฎการ Block หรือ Reject ของ facebook ขึ้นมาก่อนดังนี้ (ข้อมูลที่ใช้อ้างอิงแทนได้ขอให้ดูขั้นตอนที่ 1 วิธีการ Alias ที่ชื่อ BlockFacebook เพื่อรวมไอพีแอดเดรสของ Facebook ไว้ทั้งหมด ที่หน้า 835 และ ขั้นตอนที่ 2 การสร้างกฎไฟร์วอลล์ในการบล็อก Facebook โดยการใช้ Alias ที่ชื่อ BlockFacebook ที่หน้า 837)
สร้างไฟร์วอลล์
ทดลองสร้างกฎง่ายๆก่อนนะ
(ส่วนการใช้ การรวมกลุ่มของ LocalNetworkPorts, RemotePorts และ EmailPorts แทนที่ any ตรงที่ส่วนของ Destination port range ให้ใช้ Chapter 3 ที่หน้า 149 ถึง 171 ที่เกี่ยวกับการรวมกลุ่มของ LocalNetworkPorts, RemotePorts และ EmailPorts และการกำหนดกฎไฟร์วอลล์ให้กับกลุ่มเหล่านี้ ซึ่งสามารถใช้อ้างอิงในการกำหนดกฎไฟร์วอลล์ที่คุณต้องการได้)
1. กฎการบล็อก Facebook นี้จะต้องอยู่ด้านบนของกฎ "LearningMorning" และ " LearningAfternoon นะ
Action : Reject หรือ Block (แนะนำ Reject)
Interface : LAN
Protocol : TCP
Source : LAN subnet
Destination : Type : Single host or alias
Address: FacebookBlocking
Destination port range from: HTTP
to: HTTPs
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
2. สร้างกฎอนุญาติ LearningMorning : 08:00 am - 11:30 am ซึ่งกฎนี้จะต้องอยู่ด้านล่างต่อจากกฏการบล็อกของ FacebookBlocking
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "LearningMorning"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
3. สร้างกฎอนุญาติ LearningAfternoon : 12:30 pm - 15:30 pm กฎนี้จะต้องอยู่ด้านล่างต่อจากกฏการบล็อกของ FacebookBlocking
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "LearningAfternoon"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
==========================================================================
สำหรับกฎไฟร์วอลล์ 2 กฎต่อไปนี้จะต้องอยู่บนสุดหรืออยู่เหนือกฎการบล็อก "FacebookBlocking"
ต่อมาที่คำสั่ง Firewall > Rules >คลิกที่แท็บ floating ต่อจากนั้นให้ทำการสร้างกฎอนุญาติหรือยกเว้นให้สามารถใช้ facebook และอินเตอร์เน็ตได้ทั้งหมด
สร้าง....
4. กฎ LunchBreak: 11:30 am - 12:30 pm (เป็นการกำหนดช่วงพักเที่ยงสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "LunchBreak"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
สร้าง...
5. กฎ AfterSchool: 15:30 pm -23:59 pm (เป็นการกำหนดช่วงหลังเลิกงานสามารถเล่นอินเตอร์เน็ตได้ทั้งหมดไม่ว่าจะเป็น Facebook หรืออะไรก็แล้วแต่)
Action : Pass
Interface : LAN
Protocol : TCP/UDP
Source : LAN subnet
Destination : Type = Any
Destination port range from: any
to: any
ตรงที่ Advanced Features
Schedule : ที่ช่องดร็อปดาวน์ลิส เลือก Schudule ที่เราทำการสร้างไว้ "AfterSchool"
ส่วนออ๊ปชั่นที่เหลือปล่อยเป็นค่าดีฟอล์ตไม่ต้องเปลี่ยนแปลง
สรุปกฏไฟร์วอลล์
LAN Firewall rulesNF.png
ทำการเคลียร์ States table ของไฟร์วอลล์ด้วยหลังจากที่มีการตั้งค่าคอนฟิกและแก้ใขค่าคอนฟิกต่างๆโดยไปที่ Diagnostics > States > ที่แท็บ Reset states
ต่อจากนั้นคลิกที่ปุ่ม Reset หรือ รีสตาร์ท pfsense ก็ได้ถ้าจำเป็นLast edited by Noppy; 6 Dec 2012, 05:05:27.
Comment
-
ต่อนะ..
ติดตั้ง Cron แพ็กเก็จ
1.ไปที่คำสั่ง System > Packages >คลิกที่แท็บ Available Packages เสร็จแล้วไปที่ Cron แพ็กเก็จ คลิกที่ปุ่มเครื่องหมาย + ที่อยู่ทางด้านขวามือเพื่อติดตั้ง
2.หลังที่ติดตั้ง Cron เสร็จแล้ว จะต้องทำการแก้ไข Crontab โดยไปที่คำสั่ง Services > คลิกที่ Cron จะปรากฎดังรูปข้างล่าง เสร็จแล้วคลิกที่ปุ่มแก้ไขที่เป็นตัวอักษร e ที่อยู่ทางด้านขาวมือ ที่ทำกรอบสี่เหลี่ยมไว้
Cron2.png
3 ให้ใส่เครื่องหมาย * แทนที่ 0,15,30,45 เสร็จแล้วคลิกที่ปุ่ม Save จะได้ดังรูปล่าง
Cron3.png
4. ดังรูปข้างล่างคือการแก้ไข Cron เสร็จเรียบร้อยแล้ว
Cron4.png
สรุปการทำงาน Schedule
ซึ่งช่วงเริ่มเวลาต่อกันแต่ละช่วงของ Schedule ของ pfSense จะใช้เวลาอัปเดทประมาณ 1 นาที ดังนี้
LearningMorning > จาก 8:00-11:30 am หลังจากนั้นเมื่อเวลาผ่านไป 1 นาทีคือ 11.31am ก็จะเริ่มต้นตัดที่เวลาขึ้นต้น 11:32 am
LunchBreak > 11:30-12:30 pm หลังจากนั้นเมื่อเวลาผ่านไป 1 นาทีคือ 12:31pm ก็จะเริ่มต้นตัดที่เวลาขึ้นต้น 12:32 pm
LearningAfternoon > 12:30-15:30 pm หลังจากนั้นเมื่อเวลาผ่านไป 1 นาทีคือ 15:31pm ก็จะเริ่มต้นตัดที่เวลาขึ้นต้น 15:32 pm
AfterSchool > 15:30-23:59 pm หลังจากนั้นเมื่อเวลาผ่านไป 1 นาทีคือ 0:00 am ก็จะเริ่มต้นตัดที่เวลาขึ้นต้น 0:01 am
จำไว้ว่า การใช้ไฟร์วอลล์แบบ Schedule นี้ กับ Cron แพ็จเก็จ ถ้าผู้ใช้ปิด (Disable) การใช้ไฟร์วอลล์ที่ใช้กับ Schedule ทั้งหมดชั่วคราว
ข้อย้ำอีกที่ว่า ถ้า " ปิดการใช้ไฟร์วอลล์ที่ใช้กับ Schedule ทั้งหมด " แบบชั่วคราว จะเป็นการลบค่าที่ได้มีการแก้ไขไว้ที่ Cron (*)ก่อนหน้านี้
ซึ่งหลังจากนั้นถ้าผู้ใช้ทำการเปิดใช้ไฟร์วอลล์ที่ใช้กับ Schedule ทั้งหมดอีกครั้ง ดังนั้นที่ส่วนของ Cron ก็จะกลับมาใช้ค่าดีฟอลต์เดิมทันที่คือ 0,15,30,45
ดังนั้นผู้ใช้จะต้องกลับไปแก้ไขอีกอีกครั้งให้เป็น "*"
แต่ถ้าผู้ใช้ไม่มีการปิดไฟร์วอลล์ที่ใช้กับ Schedule ทั้งหมดแบบชั่วคราว ซึ่งไม่ว่าเราจะทำการรีบูต pfSense หรือไม่รีบูตก็ตาม
ค่าที่เราแก้ไขไว้ที่ Cron จะไม่มีการเปลี่นแปลงเป็นค่าดีฟอลต์เดิม
ถ้าได้ผลยังไงช่วยบอกผลตอบกลับมาด้วยจะขอบคุณมาก
Noppadol S. ButerLast edited by Noppy; 8 Oct 2012, 21:14:48.
Comment
Comment