Squid Block วิทยุ ทีวี

Monday, April 11, 2011
ไม่รู้ว่าถามแปลงหรือ แบบทึ่มๆ ไปหรือเปล่าเลยไม่มีใครเข้าใจเลย
ถ้า  block ตามนี้แล้วมันจะมีผลกับ service อื่น ๆหรือเปล่า

ตัวอย่างแรก  block port
------------------------
1. Microsoft Media Streaming ต้อง block protocal mms ที่ port 7070
2. Real Helix server ต้อง block rudp ที่ port 154
3. Shoutcase Server ต้อง block default port 8000
4. HTTP streaming block ที่ squid ด้วย access list *.mp3 ,*.wmv ,*.rm

อีกแบบครับ ลองแล้ว (ไม่ได้ครับ )
------------------------------------------------------------------------------------------
> ยกตัวอย่างนะ
> สร้างไฟล์ radio และเก็บไว้ที่ /usr/local/squidGuard/db/blacklist/
> ในไฟล์ radio จะมี . ของนามสกุลที่ต้องการ block ดังนี้
> (mov|au|avi|m3u|mp2|mp3|mpeg|mpg|ra|ram|rm|viv|vivo|vob|vqf|vbs|shs|pif)($|\?)
> หากต้องการ เพิ่มเติมนอกเหนือจากนี้ให้เพิ่มลงไปได้
>
> จากนั้นไปเพิ่มใน file /etc/squid/squid.conf
> acl RADIO url_regex "/usr/local/squidGuard/db/blacklist/radio"
> acl WORKTIME time M T W H F 9:00-18:00
>
> http_access deny RADIO WORKTIME
>
> ตรง WORKTIME เป็นการกำหนดช่วงเวลาที่ block
> แล้วสั่ง restart squid เป็นอันว่า ใช้งานได้แล้วครับ

มีวิธีอื่นไหมครับ เจ้านายเขา รอคำตอบนะครับ


ถามตอบของคุณหนอนน้อย จากนิตยสาร Quick Linux (Oct-Nov 2002)

การกำหนด bandwidth ในการ download โปรแกรมหรือการใช้ข้อมูลผ่าน squid นั้นจะใช้
Feature ที่ชื่อว่า Delay Pools ซึ่งตอนแรกที่เราได้ทำการ configure และ install ไปนั้น เราได้ทำไปแล้ว
ซึ่งจะแบ่งการกำหนดออกเป็น 3 ลักษณะดังนี้

แบบแรก : กำหนดการ download จาก ตัวอักษรหรือคำจาก website

acl magic_words url_regx -i .exe
delay_pools 1
delay_class 1 1
delay_parameters 1 4000/4000
delay_access 1 allow magic_words

อธิบายได้ดังนี้
magic_world เป็นตัวแปลบออกว่าถ้ามีนามสกุล .exe (ส่วน -i คือเป็นตัวบออกว่าเป็น
case-insensitive) ให้ download มาด้วยความเร็วไม่เกิน 32 Kbit/sec ก็ประมาณ 4 Kbyte/sec

แบบสอง : กำหนดให้ขนาด bandwidth ให้กับคนที่ใช้ภายใน network

acl a_ll src 0.0.0.0/0.0.0.0
delay_pool_count 1
delay_class 1 2
delay_parameters 1 12500/12500 2500/2500
delay_access 1 allow a_ll

อธิบายได้ดังนี้
จากตัวอย่างข้างต้นสมมติว่าคุณมี Lease Line ขนาด 128K และต้องการจะเหลือไว้สักนิด
สำหรับ SMTP server ซึ่งเป็น IP จริงไม่ได้ต่อผ่านกับ gateway ตัวนี้ และให้ใช้สำหรับ NAT ภายใน
องค์กร 100Kbit/sec เพื่อให้ทุกคน share กันใช้เท่าๆกัน และต้องการจะให้แต่ละคนใช้ Bandwidth
ได้ไม่เกิน 2.5 Kbyte/sec (สังเกตุดีๆ นะครับหน่วยไม่เหมือนกัน เพื่อง่ายต่อการเข้าใจ ควรตั้งใจอ่าน
ทุกตัวอักษรครับ)

แบบสาม : กำหนดขนาด bandwidth ให้กับ group network

acl a_ll src 0.0.0.0/0.0.0.0
delay_class 1 3
delay_parameters 1 56000/56000 18750/18750 500/500
delay_access 1 allow all

อธิบายได้ดังนี้
ถ้าคุณมี Lease Line ขนาด 512K และต้องการเหลือ Bandwidth สำหรับ SMTP ไว้
8Kbyte/sec ใช้ภายใน network ไม่เกิน 448 Kbit/sec และแบ่งให้แต่ละ class ไม่เกิน 150 Kbit/sec
และให้แต่ละ IP ไม่เกิน 4 Kbit/sec (หน่วยไม่ผิดนะครับ ถ้าเป็น Kbyte เอา 8 หารจะเป็น Kbit ครับ)


##########################################################################

บทความจากเว็บไซด์ "มหาวิทยาลัยราชภัฏบุรีรัมย์"

ชื่อเรื่อง: Squid (Delay pools)

เรียบเรียงโดย :
1. นางสาวรัตนา โพธิบัติ
2. นางสาวลลิตา ธงชัย
3. นางสาววาสนา ช่างถม
4. นางสาวสกาวรัตน์ เขาแก้ว
5. นางสาวอุมา ชัยสุวรรณ์

เผยแพร่เมื่อ: 26 กุมภาพันธ์ 2547


Proxy
ทำหน้าที่เป็นที่พักข้อมูลที่ถูกดึงมาจาก Server ภายนอก ไม่ว่าจะเป็นภาพ , เสียง , เอกสาร ,
html เป็นต้น การใช้ Proxy server โดยทั่วไปผู้บริหารระบบจะทำการกำหนดให้เครื่อง client ในเครึอข่าย
ค้นหาไฟล์หรือข้อมูลจาก proxy server ก่อนที่จะไปค้นหา server ภายนอก เพื่อเป็นการประหยัด ช่องทาง
การจารจร เพื่อให้การเล่นอินเทอร์เน็ตจัดการได้เร็วขึ้นโดยการทำงานของ proxy server จะถูกจัดการโดย
โปรแกรม squid

Squid
คือโปรแกรมที่ทำหน้าที่เป็น Proxyและ Cache เซิร์ฟเวอร์ที่มีประสิทธิภาพสูง เราสามารถค่า
configuration ต่าง ๆ ของ squid เพื่อทำเป็น Proxy server เช่น การกำหนดขนาดของพื้นที่ที่ใช้ในการ
เก็บข้อมูล ทั้งในดีสก์และในแรม นอกจากนี้แล้ว เรายังสามารถทำการบริหารช่องทางที่เรียกว่า Bandwidth
โดยใช้ squid ได้อีกด้วยโดยใช้ delay pools

Delay pools
Delay pools ทำหน้าที่ใช้เพื่อควบคุมปริมาณการใช้Traffic หรือการวิ่งของข้อมูลเพื่อไม่ให้
Bandwidth เต็มหรือพูดอีกอย่างหนึ่งได้ว่าเป็นการทำ Traffic Shaper

การกำหนดค่า Squid

ใช้คำสั่ง# vi /etc/squid/squid.conf

http_port 8080 #เป็นตัวกำหนด squid เพื่อฟังการร้องขอมากจาก client โดยกำหนดมาที่ port 8080

# หลีกเลี่ยงการเก็บ cgi scripts ลงในแคช
acl QUERY urlpath_regex cgi-bin
no_cache deny QUERY

#ส่วนนี้ใช้ทำ transparent proxy
httpd_accel_host virtual httpd_accel_port 0
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

# ขนาดแรมที่มีอยู่จริงในเครื่องหาร 3
cache_mem 350 MB #กำหนดขนาดหรือการจองพื้นที่ใน Ram มาทำเป็น cache memory เพราะว่า CPU สามารถดึงข้อมูลใน Ram ได้เร็วกว่าใน Disk

# ที่เก็บ log files ถ้าไม่เก็บล็อกไฟล์ก็ /dev/null แทนไดเร็กทอรีนั้น ๆ
cache_dir diskd /cache 1000 16 256 Q1=72 Q2=64 #หมายเลข 1000 นี้เป็นขนาดดิสก์ที่ squid ที่จองไว้ใช้ทำดิสก์แคชมีขนาด 1000 เมกะไบต์
cache_access_log /var/log/squid/access.log #มีไว้เก็บข้อมูลการร้องขอ client สำหรับทุก ๆ http และ icpquery
cache_store_log /var/log/squid/store.log #แสดงถึง log-file ที่เก็บไว้ใน cache
cache_log /var/log/squid/cache.log #เก็บขนาดของ object ที่ถูกดาวโหลดเข้าใน server

# กำหนดวิธีการแทนที่ข้อมูลเดิมในแคช
cache_replacement_policy GDSF #เป็นวิธีการแทนที่ไฟล์ที่เก็บไว้ใน cache
dns_testnames 202.29.14.1
logfile_rotate 10 #กำหนดให้ logfile ทำงานแบบครบ 10 ไฟล์ค่อยแทนของเดิม

#acl = Access List เป็นการตั้งส่วนควบคุมการใช้งาน Proxy/cache เซิร์ฟเวอร์
acl all src 0.0.0.0/0.0.0.0 #all เป็นชื่อ ที่กำหนดให้ต้นทางคือทุกเครื่อง
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255 # localhost เป็นชื่อคือต้นทางคือเครื่องตัวเอง
acl rinet src 202.29.14.0/255.255.255.0 # rinet เป็นชื่อ ที่ใช้กำหนดให้ต้นทางคือ ip ในเน็ตเวิร์คขององค์กร
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#อนุญาตหรือไม่อนุญาต acl ที่ตั้งไว้ http_access allow manager
http_access allow localhost
http_access allow rinet
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all

icp_access allow localhost
icp_access allow rinet
#ส่วน acl ก่อนการทำ Delay pools

acl magic_words1 url_regex -i 202.29.14.1
#กำหนด acl กลุ่มที่มีสิทธิ์ทุกอย่าง acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov #กำหนด acl กลุ่มที่ต้องควบคุม traffic คือไฟล์บางประเภทที่ใหญ่ ๆ

การกำหนดค่า Squid(Delay Pool)
# สำหรับ delay pool ที่คุณต้องการ --enable-delay-pools
delay_pools 2 #กำหนดให้มี 2 pool ที่ต้องใช้

#สมมุติมี link ขนาด 2Mbits ซึ่ง 2 mbits == 256 kbytes ต่อวินาที เราจะจำกัดให้ใช้ได้ไม่เกิน 5 KB/s ต่อโหนด
delay_class 1 2 #กำหนดให้ pool ที่ 1 เป็น class 2 ที่ถูกกำหนดค่าไว้ใน magic_word2 แบบจำกัด
delay_parameters 1 256000/256000 5000/256000
delay_access 1 allow magic_words2 #กลุ่มที่ดาวน์โหนดไฟล์ต่าง ๆ ที่กำนดไว้
delay_access 1 allow rinet #กลุ่มที่มี ip ต้นทางเป็นเครือข่ายภายใน

# -1/-1 หมายความว่าไม่มีการจำกัดขนาดของ traffic.
delay_class 2 2 #กำหนดให้ pool ที่ 2 เป็น class 2 ที่ถูกกำหนดค่าไว้ใน magic_word1 แบบไม่จำกัด
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow magic_words1

# ไม่จำกัดขนาด
reply_body_max_size 0 allow all


#ส่วน snmp เพื่อเอาไว้ใช้วัดการใช้งาน traffic
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all

# Change domain
cache_mgr noc@ribr.ac.th
cachemgr_passwd secret_password all
visible_hostname proxy1.ribr.ac.th
unique_hostname proxy1.ribr.ac.th
#******************************* End of squid.conf file *********************************

สร้าง Cache Directory

ใช้คำสั่ง#mkdir /cache

#cdmod 755 /cache/

#chown -R squid:squid /cache/

#mkdir /var/log/squid/

#chmod 755 /var/log/squid/

#chown -R squid:squid /cache/

#squid -z

#service squid start

ถ้าถูกต้องจะขึ้น[OK] ที่บรรทัด startting squid

ใช้คำสั่ง#tail -f/var/log/squid/access.log เพื่อติดตามการทำงานของ squid ูว่ามีการร้องขอใช้
proxy หรือยัง

ลองหาดาวน์โหลดไฟล์พวก .zip ดูว่าความเร็วในการดาวน์โหลดไม่เกิน 5 Kb จริงหรือไม่ ...
   

Howto: Installing Squid Proxy in pfSense

This summary is not available. Please click here to view the post.

คุณสมบัติของ pfSense

Sunday, April 10, 2011

pfSense ได้รวมเอาคุณสมบัติทั้งหมดของไฟร์วอลล์ในเชิงธุรกิจที่มีราคาแพง ข้างล่างเป็นคุณสมบัติของไฟร์วอลล์รุ่น 1.2.3 คุณสมบัติต่างๆสามารถจัดการได้ผ่านหน้าเว็บโดยไม่ต้องใช้คำสั่งที่เป็น command line ใดๆเลย
นอกจากนั้น ในส่วนของคุณสมบัติยังได้รวมข้อจำกัดของระบบเพื่อที่ผู้ใช้จะได้พึงระวัง จากประสบการณ์และการให้ความช่วยเหลือของผู้ใช้นับพันของเรา ทำให้เราเข้าใจเป็นอย่างดีว่าอะไรที่ซอฟต์แวร์ทำได้และทำไม่ได้ ทุกๆซอฟต์แวร์แพ็คเกจมีข้อจำกัด ที่ที่มีความเห็นแตกต่าง เราต้องสื่อสารกันให้เข้าใจ เรายินดีต้อนรับทุกๆคนที่ต้องการให้การช่วยเหลือเพื่อกำจัดข้อจำกัดเหล่านี้ ความแตกต่างหลายๆตัวเป็นเรื่องปกติสำหรับไฟร์วอลล์โอเพ่นซอร์สและไฟร์วอลล์ เชิงธุรกิจ ข้อจำกัดของรุ่น 1.2.3 ได้รับการแก้ไข้แล้วและจะอยู่ในบันทึกของไฟร์วอลล์รุ่นถัดไป

คุณสมบัติ

Firewall

  • Filtering by source and destination IP, IP protocol, source and destination port for TCP and UDP traffic
  • สามารถจำกัดจำนวนการเชื่อมต่อ (Connection) ต่อ Rule ได้
  • สามารถ Filter โดยใช้ระบบปฏิบัติการเป็นเงี้อนไขได้ เช่น อนุญาตให้เครื่องคอมพิวเตอร์ที่เป็น Linux ใช้งานอินเตอร์เน็ตได้ แต่ไม่อนุญาตให้เครื่องที่เป็น Windows ใช้งานอินเตอร์เน็ต
  • สามารถเซ็ตแ่ต่ละ Rule ให้เก็บหรือไม่เก็บ Log ได้
  • มีความยืดหยุ่นสูงในการทำ Policy Routing โดยสามารถเลือก Gateway ของแต่ละ Rule ได้ (สำหรับ Load balancing, Fail Over, Multi-WAN  เป็นต้น)
  • สามารถตั้งชื่อกลุ่มของ IP, เน็ตเวิร์ค หรือ พอร์ต ได้ ทำให้เข้าใจง่ายและสะอาดต่อการจัดการ Rule ต่างๆ โดยเฉพาะอย่างยิ่งสำหรับระบบที่มีหลายๆ Public IP และมีเครื่องเซิร์ฟเวอร์หลายๆเครื่อง
  • มีความสามารถทำ Transparent Layer 2 สามารถทำ Bridge และ Filter ระหว่าง Interface ได้
  • สามารถทำ Package Normallization ได้ Scrubbing เป็นการ Normalize package ที่มีความกำกวม ไม่ให้มีการตีความที่กำกวมเกิดขึ้นที่ปลายทาง Scrub ยังทำการ Reassemble package เพื่อป้องกันไม่ให้บางระบบปฏิบัติการถูกโจมตี และ Drop package ที่มี Flag ผิดปกติ
  • เปิดการใช้งานเป็นค่าปกติ (Enabled by default)
  • สามารถปิดใช้งานได้ ถ้าจำเป็น
  • สามารถปิดการใช้งานไฟร์วอลล์ได้ ถ้าต้องการให้ไฟร์วอลล์ทำหน้าที่เป็น Router

State Table

State Table ของไฟร์วอลล์ เป็นการคงไว้ของการเชื่อมต่อของในเน็ตเิวิร์คของคุณ pfSense มีคุณสมบัติมากมายในการควบคุมอนูของ State Table ขอบคุณสำหรับความสามารถนี้ของ OpenBSD pf
  • สามารถปรับขนาดของ State Table ได้ -- มี pfSense หลายตัวที่มีการใช้งานอยู่มี State Table หลายแสน ขนาด State Table ปกติคือ 10,000 แต่สามารถเพิ่มได้อย่างอิสระตามต้องการ แต่ละ State จะให้หน่วยความจำประมาณ 1 กิโลไบต์ ฉะนั้น พึงระลึกอยู่เสมอถึงการใช้งาน อย่าเซ็ตค่าให้สูงจนเกินไป
  • ในแต่ละ Rule สามารถ
    • จำกัดจำนวนการเชื่อมต่อ (Connection) ต่อเครื่อง
    • จำกัดจำนวน state ต่อ Host
    • จำกัดการเชื่อต่อใหม่ (new connection) ต่อวินาที
    • กำหนดการหมดเวลาของ state (state timeout)
    • กำหนดชนิดของ state
  • State Type--pfSense หลากหลายตัวเลือกในการจัดการกับ State
    • Keep state ใข้ได้กับทุกโปรโตคอล เป็นค่าปกติสำหรับทุก Rule
    • Modulate state ใช้ได้เฉพาะกับโปรโตคอล TCP pfSense จะสร้าง Initial Sequence Number (ISN) ในนาม host
    • Synproxy state เป็นการเข้ามาเชื่อมต่อ Proxy โดยใช้โปรโตคอล TCP ใช้เพื่อป้องกันเซิร์ฟเวอร์จากการ spoof TCP SYN floods ตัวเลือกนี้ได้รวมอยู่ในอยู่ใน Keep state และ Modulate State
    • None ไม่รักษา State ใดๆของการเชื่อมต่อ  ซึ่งหายากมาก แต่ก็มีให้ใช้ เนื่องจากจะเป็นประโยชน์ข้อจำกัดบางสถานการณ์
  • State table optimization option - pf ได้เสนอตัวเลือก 4ตัวเลือกสำหรับ State Table Optimization
    • Normal - เป็นค่าปกติ
    • High latency - มีประโยชน์สำหรับ link ที่ช้า เช่น การเชื่อมต่อผ่านดาวเทียม สถานะการเชื่อมต่อมีอายุนานกว่าปกติ
    • Aggressive - สถานะการเชื่อมต่อมีอายุสั้น เพิ่มประสิทธิภาพการใช้ทรัพยากรของฮาร์ดแวร์ แต่จะ drop package ที่ดีไปด้วย
    • Conservative - พยายามที่จะหลีกเลี่ยงการ drop package ที่ดี เพื่อประหยัดค่าใช้จ่ายในการที่จะซื้อหน่วยความจำเพิ่มและใช้งาน CPU ให้เต็มประสิทธิภาพ

Network Address Translation (NAT)

  • การทำ Port forwarding แบบช่วงและแบบหลายๆ Public IP
  • 1:1 NAT สำหรับ IP เดียว หรือ สำหรับทั้ง Subnet
  • Outbound NAT
    • ค่า NATปกติสำหรับ Outbound trafic ทั้งหมด ถูก NAT ไปยัง IP ที่อยู่ฝั่ง WAN ในรูปแบบที่มีหลาย WaN ค่า NAT ปกติ จะถูก NAT ไปยัง IP ที่กำลังใช้งานฝั่ง WAN
    • การทำ  Outbound NAT ขั้นสูง ทำให้ค่า NAT ปกติถูกปิดการใช้งาน และเปิดการใช้งานการสร้าง NAT ที่มีความยืดหยุ่นมากขึ้นกว่าเดิม (คือสามารถกำหนด Rule ที่ไม่ให้ทำ NAT ได้)
  • NAT Reflextion - ในการตั้งค่าบางครั้ง เป็นไปได้ที่ Service ที่เข้าถึงโดย Public IP สามารถเข้าได้จากเน็ตเวิร์คข้างใน

NAT Limitations

  • ข้อจำกัดของ PPTP และ  GRE สถานะของ Tracking Code ใน pf สำหรับโปรโตคอล GRE สามารถ Track ได้เพียงแค่ 1 Session ต่อ  Public IP หมายความว่า ถ้าคุณใช้ PPTP VPN มีเพียงแค่หนึ่งเครื่องเท่านั้นที่สามารถเชื่อมต่อไปยัง PPTP Server ที่อยู่บนอินเตอร์เน็ต เครื่องหนึ่งพันเครื่องสามารถเชื่อมต่อกับหนึ่งพัน PPTP Server ที่แตกต่างกัน แต่เครื่องลูกข่ายหนึ่งเครื่องสามารถเชื่อมต่อกับ 1 PPTP Server เท่านั้น ดังนั้น ในการใช้งานจริงต้องใช้หลายๆ Public IP บนไฟร์วอลล์
  • ข้อจำกัดของ SIP โดยปกติ Trafic ของ TCP และ UDP ทั้งหมด นอกเหนือจาก SIP และ IP นำ Source Port มาเขียนใหม่ ข้อมูลเพิ่มเติมสามารถหาอ่านได้จาก Static port documentation เนื่องจากการเขียน Source Port ขึ้นมาใหม่นี้เอง ทำให้ pf สามารถติดตามได้ว่าคอมพิวเตอร์ภายในเครื่องใหนได้ทำการเชื่อมต่อไปยัง เครื่องเซิร์ฟเวอร์ภายนอก และ Trafic ของ SIPส่วนใหญ่ทั้งหมดใช้ Source port เหมือนกัน ฉะนั้น อุปกรณ์ SIP เพียงหนึ่งตัวเท่านั้นทีสามารถเชื่อมต่อไปยังเครื่อง Server ข้างนอกได้ ถ้าไม่แล้ว อุปกรณ์ SIP ของคุณต้องสามารถใช้ Port ที่เขียนขึ้นใหม่ได้ (ส่วนใหญ่ไม่สามารถทำได้) ดังนั้น คุณไม่สามารถใช้โทรศัพท์หลายเครื่องเชื่อมต่อไปยังเซิร์ฟเวอร์ข้างนอก เครื่องเดียวกันโดยไม่ใช้ public IPหนึ่งเบอร์ต่อหนึ่งอุปกรณ์ sipproxy package เป็นคำตอบสำหรับปัญหานี้ ใน pfSense 1.2.2 และใหม่กว่า
  • ข้อจำกัดของ NAT Reflextion - NAT Reflection สามารถใช้ช่วงของ port ได้ไม่เกิน 500 ports และไม่สามารถเป็น NAT 1:1 ได้

Redundancy

CARP จาก OpenBSD อนุญาตให้ทำ Hardware Failover ได้ ไฟร์วอลลสองตัวหรือมากกว่า สามารถตั้งค่าให้เป้น Failover Group ได้ ถ้า interface ใดบนเครื่องหลัก (primary) ใช้งานไม่ได้ หรือเครื่องหลักเปลี่ยนสถานะเป็น Offline ไฟร์วอลล์ตัวที่สองก็จะ Active ขึ้นมา pfSense ได้รวมความสามารถให้การทำ Synchronization Configuration เข้ามาด้วย ดังนั้น เมื่อคุณเปลี่ยนแปลงค่าต่างๆบนไฟร์วอลล์หลัก ค่าเหล่านั่นก็จะไปอยู่ในไฟร์วอลล์ตัวที่สองด้วยอัตโนมัติ
ด้วย pfSync ทำให้มั่นใจได้ว่า State ของไฟร์วอลล์จะถูก Replicate ไปยังทุกๆไฟล์วอลล์ทุกตัวที่ได้ตั้งค่าเป็น Failover หมายความว่า การเชื่อมต่อของคุณที่มีอยู่ยังคงมีต่อไปในกรณีไฟร์วอลล์หลักไม่สามารถทำงาน ได้ ซึ่งเป็นสิ่งสำคัญในการป้องกันการเกิดปัญหาของระบบเครือข่าย

Limitations

  • Backup Firewall ไม่ได้ทำงาน (active-passive failover) ขณะนี้ยังไม่มี active-active clustering
  • Failover ไม่สามาถทำงานได้ในทันที จะใช้เวลาประมาณ 5 วินาที เพื่อสลับการทำงานไปยังไฟร์วอลล์ตัวที่สอง ระหว่างนี้จะไม่มี Trafic ผ่านออกไป แต่ state ที่มีอยู่ยังคงรักษาไว้ และจะใช้งานได้หลังจาก Failover พร้อมทำงาน

Load Balancing

Outbound Load Balancing

Outbound Load Balancing ใช้สำหรับไฟร์วอลล์ที่หลายๆ WAN, Trafic ที่ตรงไปยัง gateway หรือ Load Balancing Pool จะเป็นไปตาม Rule ที่ตั้งค่าไว้

Inbound Load Balancing

Inbound Load Balancing ใช้เพื่อกระจายโหลดไปยังเซิร์ฟเวอร์หลายๆตัว ซึ่งใช้กันทั่วไปกับ web server, Mail server และเซิร์ฟเวอร์ออื่นๆ เครื่องเซิร์ฟเวอร์ที่ไม่ตอบสนองต่อการ ping หรือ port connection จะถูกเอาออกไปจาก pool

Limitations

การกระจายงานอย่างละเท่าๆกันไปยังเซิร์ฟเวอร์แต่ละตัวที่อยู่ใน pool การกระจายงานแบบไม่เท่ากันยังไม่สามารถทำได้ ณ เวลานี้

VPN

pfSense มีตัวเลือกสำหรับ VPN คือ IPSec, OpenVPN และ PPTP

IPsec

IPSec อนุญาตให้มีการเชื่อมต่อด้วยอุปกรณ์มาตราฐานที่สนับสนุน IPSec  ซึ่งส่วนใหญ่ใช้สำหรับการเชื่อมต่อแบบ site-to-site ไปยัง pfSense อีกตัว Open Source Firewalls (m0n0wall) หรือไฟร์วอลล์ในเชิงธุรกิจอื่นๆ (Cisco,Juniper) นอกจากนี้ยังสามารถใช้งานได้กับเครื่องลูกข่ายที่เป็นคอมพิวเตอร์แบบพกพาได้ ด้วย

Limitations

  • NAT-T ไม่สามารถใช้งานได้จนกระทั่งถึงเวอร์ชัน 2 หมายความว่า เครื่องลูกข่ายแบบพกพาไม่สามารถใช้งานได้หากมีการใช้ NAT ข้อจำกัดนี้มีผลกับเครื่องลูกข่ายแบบพกพาเท่านั้น การใช้ OpenVPN และ PPTP เป็นคำตอบที่ดีกว่า
  • ความสารมารถอื่นของ IPSec จะไม่สามารถใช้ได้เมื่อถึงไฟล์วอลล์รุ่นที่ 2 เช่น PDP, XAuth, NAT-T และอื่นๆ

OpenVPN

OpenVPN มีความยืดหยุ่น และใช้ SSL VPN ซึ่งสนับสนุนระบบปฏิบัติการของเครื่องลูกข่ายที่หลากหลายกว่า ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ OpenVPN

PPTP Server

PPTP เป็นที่นิยมกันมากเนื่องจากเกือบทุกระบบปฏิบัติการได้รวมเอา PPTP Client รวมถึงระบบปฏิบัติการวินโดว์ ตั้งแต่ วินโดว์ 9 OSR2 ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ Wikipedia
pfSense Server สามารถใช้ฐานข้อมูลใน pfSense หรือบน RADIUS Server RADIUS Accounting ก็ใช้งานได้เช่นเดียวกัน Firewall Rule บน PPTP interface สามารถควบคุม trafic ที่มาจากเครื่องลูกข่ายได้

Limitations

เนื่องจากข้อจำกัดของ pf NAT เมื่อเปิดใช้งาน PPTP Server PPTP Client ไม่สามารถใช้ Public IP เดียวกันสำหรับการเชื่อมต่อ PPTP ออกไปข้างนอก หมายความว่า ถ้าคุณมี Public IP เพียงตัวเดียว และใช้ PPTP Server เครื่องลูกข่ายภายในจะไม่สามารถใช้งานได้ ถ้าจะใช้ต้องมี Public IP ตัวที่สองแล้วทำ NAT ขั้นสูง (Advance Outbound NAT) สำหรับเครื่องลูกข่ายภายในอื่นๆ

PPPoE Server

PPoE Server
pfSense ก็มี PPoE Server ด้วย สามารถอ่านข้อมูลเพิ่มเติมได้ใน PPoE Protocal ดูได้ที่ Wikipedia สามารถทำ Autheticate กับรายชื่อผู้ใช้ใน pfSense ได้ การ Authenticate กับ RADIUS ก็สามารถทำได้เช่นเดียวกัน

Reporting and Monitoring

RRD Graphs

RRD Graphs ใน pfSense ทำหน้าเก็บประวัติข้อมูลของ
  • การทำงานของ CPU
  • Throughput
  • Firewall State
  • Throughput เดี่ยวๆของแต่ละ Interface
  • จำนวน Package ต่อวินาทีของ Interface ทั้งหมด
  • ระยะเวลาการตอบสนองของการ ping WAN
  • QoS

Real Time Information

ประวัติข้อมูลเป็นสิ่งสำคัญ แต่บางครั้งการได้เห็นข้อมูลข่าวสารขณะที่กำลังเกิดขึ้นจริง (real time) ก็สำคัญกว่า
SVG graphs สามารถแสดง Throughput ในขณะที่กำลังเกิดขึ้นของแต่ละ Interface
สำหรับ QoS คุณสามารถเห็นคิวของแต่ละ QoS ได้เลย

Dynamic DNS

Dynamic DNS Client ยอมให้คุณลงทะเบียน IP กับผู้ให้บริการ Dynamic DNS
  • DynDNS
  • DHS
  • easyDNS
  • No-IP
  • ODS.org
  • ZoneEdit

Limitations

  • ใช้ได้เฉพาะ WAN Interface หลายๆ WAN สามารถใช้ได้ในเวอร์ชั่น 2
  • สามารถอัปเดทได้เพียง 1 Account ต่อหนึ่งผู้ให้บริการ เวอร์ชั่น 2.0 ไม่จำกัดจำนวน Account
  • ใช้ได้เมื่อ pfSense กำหนด Public IP ให้กับ WAN interface ถ้าคุณมีโมเด็มซึ่งเป็นตัวรับ Public IP และกำหนด Private IP ให้กับ pfSense, Private IP นั้นก็จะถูกลงทะเบียนไว้กับผู้ให้บริการ ในเวอร์ชั่น 2.0 จะมีตัวเลือกให้ตรวจสอบ Public IP ก่อนที่จะลงทะเบียน IP กับผู้ให้บริการ

Captive Portal

Captive Portal อนุญาตให้คุณบังคับให้ Authenticate หรือทำการ Redirect ไปยังเว็บเพจเพื่อให้คุณคลิกเพื่อที่จะผ่านเน็ตเวิร์คออกไปได้ ซึ่งส่วนใหญ่ใช้กับ Hot Spot แต่ก็สามารถนำไปใช้ได้กับเน็ตเวิร์คขององค์กรเพื่อระดับความปลอดภัยบนเครือ ข่ายไร้สาย หรือ การเข้าถึงอินเตอร์เน็ต ข้อมูลเพิ่มเติมเกี่ยวกับเทคโนโลยีของ Captive Portal สามารถอ่านเพิ่มเติมได้ที่ Wikipedia รายการดังต่อไปนี้เป็นความสามารถของ Captive Portal ใน pfSense
  • Maximum concurrent connection -- จำกัดจำนวนการเชื่อมต่อต่อของ IP ของเครื่องลูกข่าย คุณสมบัตินี้เป็นการป้องกัน Denial of Service จากเครื่องลูกข่ายที่ส่ง trafic อย่างต่อเนื่องปราศจากการ authenticate หรือคลิกที่เว็บเพจที่ Redirect ไป
  • Idle timeout - ตัดการเชื่อมต่อเมื่อไม่มีการใช้งานในเวลาที่กำหนด
  • Hard timeout - ตัดการเชื่อมต่อโดยอัตโนมัติเมื่อถึงเวลาที่กำหนด
  • Logon pop up window - เป็น pop up window ที่มีปุ่ม log off
  • URL Redirection - หลังจากการ Authenticate หรือคลิกบนเว็บเพจเป็นที่เรียบร้อยแล้ว เราสามารถ Redirect ไปยังเว็บเพจที่เรากำหนดไว้ได้
  • MAC Filter - สามารถ filter โดยใช้ MAC Address
  • Authentication Option - มีสามตัวเลือกในการทำ authentication
    • No authentication - หมายความว่า ผู้ใช้เพียงแค่คลิกในหน้าที่ Redirect ไป โดยที่ไม่ต้องให้รหัสผ่านแต่อย่างใด
    • Local user manager - สามารถใช้ฐานข้อมูลผู้ใช้ใน pfSense ได้
    • RADIUS authentication - เป็นวิธีการที่แนะนำสำหรับผู้ใช้ในองค์กรและ ISP สามารถ Authenticate กับ Microsoft Active Directory และ RADIUS Server หลายๆตัว
  • ความสามารถของ RADIUS
    • บังคับให้ทำการ Re-authenticate
    • สามารถส่ง Accounting Update ได้
    • RADIUS MAC authentication อนุญาตให้ Captive Portal authenticate ไปยัง RADIUS server โดยใช้ MAC address ของเครื่องลูกข่ายเสมือนเป็น User Name และ password
    • อนุญาตให้ทำ Redundant RADIUS server ได้
  • HTTP or HTTPS - Portal page สามารถตั้งค่าให้เป็น HTTP หรือ HTTPS ได้
  • Pass-through MAC and IP Address - MAC และ IP address สามารถทำการบายพาสได้ เครื่องคอมพิวเตอร์ใดก็ตามที่ใช้ NAT port forwarding จะต้องทำการบายพาส
  • File Manager - อนุญาตให้อัปโหลดภาพเพื่อใช้ใน Portal Page ได้

Limitations

  • สามารถทำงานได้เพียงแค่หนึ่ง Interface
  • Reverse portal เช่น การ capture trafic จากอินเตอรืเน็ตและเข้าสู่เน็ตเวิร์คของคุณไม่สามารถทำได้
  • เฉพาะ IP และ  MAC Address เท่านั้นที่สามารถ Filter ได้ ไม่สามารถทำกับโปรโตคอลหรือพอร์ตได้
  • ปัจจุบันนี้ยังไม่สามารถใช้กับ Rule ที่มีหลายๆ WAN ได้ เราหวังว่าจะสามารถแก้ปัญหานี้ได้ในเวอร์ชัน 2.0

DHCP Server and Relay

pfSense ได้รวมเอา DHCP Server และ Relay เข้ามาด้วย

การแก้ไขปัญหา pfSense – Squid Proxy ทำงานช้า

Thursday, April 7, 2011
สาเหตุที่ pfSense + squid proxy ทำงานช้าเนื่องจาก pfSense ถูกตั้งค่าเริ่มต้นสำหรับทำหน้าที่เป็น Firewall Internet Gateway เมื่อเราลง package เสริมก็เลยอืดๆๆ อย่างที่เจอกัน ตอนนี้มีวิธีแก้แล้วครับ..
1. ใช้โปรแกรม Putty สำหรับ Remote ไปยัง Text Mode และเลือกข้อ 8 เพื่อเข้าสู่ Shell, จากนั้นเปิดไฟล์ด้วยคำสั่ง vi /boot/loader.conf ตามภาพเลย

2. ปรับแต่งค่างต่าง ๆ ตามนั้น การยกเลิกคำสั่งให้ใส่ เครื่องหมาย # ด้านหน้า
จริงๆ แล้ว kern.ipc.nmbclusters=”0″ จะลบทิ้งก็ได้นะ

Speed Test โดยไม่ผ่าน Proxy


Speed Test ผ่าน Proxy หลังจากปรับแต่งแล้ว


** ตอนนี้กำลังใช้อยู่ รู้สึกว่าเร็วขึ้นเยอะเลยครับพี่น้อง…. จับภาพ before + after มาดูบ้างนะ

 

Pfsense Thailand Copyright © 2011-2012 | Powered by Blogger