LPIC-2 202 Implementing Squid as a Caching Proxy server
สารบัญ:
- การติดตั้ง Squid บน Ubuntu
- การกำหนดค่า Squid
- การตรวจสอบสิทธิ์ปลาหมึก
- การกำหนดค่าไฟร์วอลล์
- การกำหนดค่าเบราว์เซอร์ของคุณเพื่อใช้พร็อกซี
- Firefox
- Google Chrome
- ข้อสรุป
Squid เป็นพร็อกซีแคชที่มีคุณสมบัติครบถ้วนรองรับโปรโตคอลเครือข่ายยอดนิยมเช่น HTTP, HTTPS, FTP และอื่น ๆ Squid ส่วนใหญ่จะใช้สำหรับการปรับปรุงประสิทธิภาพของเว็บเซิร์ฟเวอร์โดยการแคชคำขอซ้ำการกรองปริมาณการใช้งานเว็บและการเข้าถึงเนื้อหาที่ จำกัด ทางภูมิศาสตร์
บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับขั้นตอนการตั้งค่า Squid Proxy บน Ubuntu 18.04 และกำหนดค่าเว็บเบราว์เซอร์ Firefox และ Google Chrome เพื่อใช้งาน
การติดตั้ง Squid บน Ubuntu
แพคเกจ Squid รวมอยู่ในที่เก็บ Ubuntu 18.04 ที่เป็นค่าเริ่มต้น หากต้องการติดตั้งให้ป้อนคำสั่งต่อไปนี้ในฐานะผู้ใช้ sudo:
sudo apt update
sudo apt install squid
เมื่อการติดตั้งเสร็จสิ้นบริการ Squid จะเริ่มต้นโดยอัตโนมัติ
ในการตรวจสอบว่าการติดตั้งสำเร็จและบริการ Squid กำลังทำงานอยู่ให้พิมพ์คำสั่งต่อไปนี้ซึ่งจะพิมพ์สถานะของบริการ:
sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…
การกำหนดค่า Squid
Squid สามารถกำหนดค่าได้โดยแก้ไข
/etc/squid/squid.conf
นอกจากนี้คุณยังสามารถใช้ไฟล์แยกต่างหากพร้อมตัวเลือกการกำหนดค่าซึ่งสามารถรวมไว้ได้โดยใช้คำสั่ง“ รวม”
ไฟล์การกำหนดค่าประกอบด้วยความคิดเห็นที่อธิบายถึงสิ่งที่แต่ละตัวเลือกการกำหนดค่าทำ
ก่อนทำการเปลี่ยนแปลงใด ๆ ขอแนะนำให้สำรองไฟล์การกำหนดค่าดั้งเดิม:
sudo cp /etc/squid/squid.conf{,.orginal}
ในการแก้ไขไฟล์ให้เปิดไฟล์ใน text editor ของคุณ:
sudo nano /etc/squid/squid.conf
โดยค่าเริ่มต้น Squid ได้รับการกำหนดค่าให้ฟังพอร์ต
3128
บนอินเทอร์เฟซเครือข่ายทั้งหมดบนเซิร์ฟเวอร์
# Squid normally listens to port 3128 http_port IP_ADDR:PORT
การรัน Squid บนทุกอินเตอร์เฟสและบนพอร์ตเริ่มต้นควรจะใช้ได้สำหรับผู้ใช้ส่วนใหญ่
ใน Squid คุณสามารถควบคุมวิธีที่ไคลเอ็นต์สามารถเข้าถึงเว็บรีซอร์สโดยใช้ Access Control Lists (ACLs)
โดยค่าเริ่มต้น Squid อนุญาตให้เข้าถึงได้จาก localhost เท่านั้น
หากไคลเอนต์ทั้งหมดที่จะใช้พร็อกซีมีที่อยู่ IP แบบคงที่คุณสามารถสร้าง ACL ที่จะรวม IP ที่ได้รับอนุญาต
แทนที่จะเพิ่มที่อยู่ IP ในไฟล์กำหนดค่าหลักเราจะสร้างไฟล์เฉพาะใหม่ที่จะเก็บ IP:
/etc/squid/allowed_ips.txt
192.168.33.1 # All other allowed IPs
เมื่อเสร็จแล้วให้เปิดไฟล์การกำหนดค่าหลักและสร้าง ACL ใหม่ที่ชื่อว่า
allowed_ips
(บรรทัดที่ไฮไลต์แรก) และอนุญาตให้เข้าถึง ACL นั้นโดยใช้คำสั่ง
http_access
(บรรทัดที่เน้นที่สอง):
#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all
ลำดับของกฎ
http_access
มีความสำคัญ ตรวจสอบให้แน่ใจว่าคุณเพิ่มบรรทัดก่อนที่
http_access deny all
http_access
directive นั้นทำงานในลักษณะเดียวกันกับกฎไฟร์วอลล์ Squid อ่านกฎจากบนลงล่างและเมื่อกฎตรงกับกฎด้านล่างจะไม่ถูกประมวลผล
เมื่อใดก็ตามที่คุณทำการเปลี่ยนแปลงไฟล์การกำหนดค่าคุณจะต้องเริ่มบริการ Squid ใหม่เพื่อให้การเปลี่ยนแปลงมีผล:
การตรวจสอบสิทธิ์ปลาหมึก
Squid สามารถใช้แบ็คเอนด์ต่าง ๆ รวมถึง Samba, LDAP และ HTTP การตรวจสอบสิทธิ์ขั้นพื้นฐานสำหรับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์
ในบทช่วยสอนนี้เราจะกำหนดค่า Squid ให้ใช้การตรวจสอบขั้นพื้นฐาน มันเป็นวิธีการรับรองความถูกต้องง่าย ๆ ที่สร้างขึ้นในโปรโตคอล
เราจะใช้
openssl
เพื่อสร้างรหัสผ่านและผนวก
username:password
จับคู่
username:password
กับไฟล์
/etc/squid/htpasswd
โดยใช้คำสั่ง
tee
ดังแสดงด้านล่าง:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
มาสร้างชื่อผู้ใช้“ josh” ด้วยรหัสผ่าน“
Sz$Zdg69
”:
printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM
ตอนนี้ผู้ใช้ถูกสร้างขึ้นในขั้นตอนต่อไปคือการเปิดใช้งานการรับรองความถูกต้องพื้นฐาน HTTP และรวมถึงไฟล์
htpasswd
เปิดการกำหนดค่าหลักและเพิ่มรายการต่อไปนี้:
#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all
บรรทัดที่ไฮไลต์สามบรรทัดแรกกำลังสร้าง ACL ใหม่ที่ชื่อการ
authenticated
และบรรทัดที่ไฮไลต์สุดท้ายคือการอนุญาตให้เข้าถึงผู้ใช้ที่พิสูจน์ตัวตน
เริ่มบริการ Squid:
การกำหนดค่าไฟร์วอลล์
สมมติว่าคุณกำลังใช้
UFW
เพื่อจัดการไฟร์วอลล์ของคุณคุณจะต้องเปิดพอร์ต teg Squid เพื่อเปิดใช้งานโปรไฟล์ 'Squid' ซึ่งรวมถึงกฎสำหรับพอร์ต Squid ที่เป็นค่าเริ่มต้น
sudo ufw allow 'Squid'
วิธีตรวจสอบประเภทสถานะ:
sudo ufw status
ผลลัพธ์จะมีลักษณะดังนี้:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6)
หาก Squid กำลังรันบนพอร์ตอื่นที่ไม่ใช่พอร์ตดีฟอลต์เช่น
8888
คุณสามารถอนุญาตทราฟฟิกบนพอร์ตนั้นด้วย:
sudo ufw allow 8888/tcp
การกำหนดค่าเบราว์เซอร์ของคุณเพื่อใช้พร็อกซี
เมื่อคุณตั้งค่า Squid แล้วขั้นตอนสุดท้ายคือการกำหนดค่าเบราว์เซอร์ที่คุณต้องการใช้
Firefox
ขั้นตอนด้านล่างเหมือนกันสำหรับ Windows, macOS และ Linux
-
ที่มุมบนขวาคลิกที่ไอคอนแฮมเบอร์เกอร์
☰
เพื่อเปิดเมนูของ Firefox:คลิกที่ลิงค์
⚙ Preferences
เลื่อนลงไปที่ส่วน
Network Settings
และคลิกที่ปุ่มการSettings…
หน้าต่างใหม่จะเปิดขึ้น
- เลือกปุ่มตัวเลือกการ
Manual proxy configuration
ป้อนที่อยู่ IP เซิร์ฟเวอร์ Squid ของคุณในฟิลด์HTTP Host
และ3128
ในช่องPort
เลือกช่องทำเครื่องหมายUse this proxy server for all protocols
OK
ปุ่มOK
เพื่อบันทึกการตั้งค่า
- เลือกปุ่มตัวเลือกการ
ณ จุดนี้ Firefox ของคุณได้รับการกำหนดค่าและคุณสามารถท่องอินเทอร์เน็ตผ่านทาง Squid proxy หากต้องการตรวจสอบให้เปิด
google.com
พิมพ์“ what is ip ของฉัน” และคุณควรเห็นที่อยู่ IP เซิร์ฟเวอร์ Squid ของคุณ
หากต้องการเปลี่ยนกลับเป็นการตั้งค่าเริ่มต้นให้ไปที่การ
Network Settings
เลือกปุ่มตัวเลือก
Use system proxy settings
และบันทึกการตั้งค่า
มีปลั๊กอินหลายตัวที่สามารถช่วยให้คุณกำหนดการตั้งค่าพร็อกซีของ Firefox เช่น FoxyProxy
Google Chrome
Google Chrome ใช้การตั้งค่าพร็อกซีของระบบเริ่มต้น แทนที่จะเปลี่ยนการตั้งค่าพร็อกซีของระบบปฏิบัติการคุณสามารถใช้ addon เช่น SwitchyOmega หรือเริ่มเว็บเบราว์เซอร์ Chrome จากบรรทัดคำสั่ง
ในการเปิดใช้งาน Chrome โดยใช้โปรไฟล์ใหม่และเชื่อมต่อกับเซิร์ฟเวอร์ Squid ให้ใช้คำสั่งต่อไปนี้:
Linux:
/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
macOS:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
Windows:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
โปรไฟล์จะถูกสร้างขึ้นโดยอัตโนมัติหากไม่มีอยู่ วิธีนี้คุณสามารถเรียกใช้ Chrome ได้หลายอินสแตนซ์ในเวลาเดียวกัน
หากต้องการยืนยันว่าพร็อกซีเซิร์ฟเวอร์ทำงานอย่างถูกต้องให้เปิด
google.com
แล้วพิมพ์“ what is ip ของฉัน” IP ที่แสดงในเบราว์เซอร์ของคุณควรเป็นที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ
ข้อสรุป
คุณได้เรียนรู้วิธีการติดตั้ง Squid บน Ubuntu 18.04 และกำหนดค่าเบราว์เซอร์ของคุณเพื่อใช้งาน
Squid เป็นหนึ่งในเซิร์ฟเวอร์แคชพร็อกซียอดนิยม มันช่วยปรับปรุงความเร็วของเว็บเซิร์ฟเวอร์และสามารถช่วยให้คุณ จำกัด การเข้าถึงของผู้ใช้อินเทอร์เน็ต
พร็อกซี UbuntuMicrosoft Tweaks Ad หลังจากที่ Apple บ่น

เรื่องราว "Laptop Hunter" ยังคงมีน้อยลงเล็กน้อย Apple-bashing
วิธีการติดตั้งและกำหนดค่า squid proxy บน centos 7

Squid เป็นพร็อกซีแคชที่มีคุณสมบัติครบถ้วนรองรับโปรโตคอลเครือข่ายยอดนิยมเช่น HTTP, HTTPS, FTP และอื่น ๆ บทช่วยสอนนี้อธิบายวิธีตั้งค่า Squid บน CentOS 7
วิธีการติดตั้งและกำหนดค่า squid proxy บน debian 10 linux

Squid เป็นพร็อกซีแคชที่มีคุณสมบัติครบถ้วนรองรับโปรโตคอลเครือข่ายยอดนิยมเช่น HTTP, HTTPS, FTP และอื่น ๆ ในบทช่วยสอนนี้เราจะอธิบายวิธีตั้งค่า Squid Proxy บน Debian Buster