נמאס לכם להיות מופגזים בפרסומות בכל פעם שאתם גולשים באינטרנט או משתמשים באפליקציה לנייד? ובכן, יש פתרון פנטסטי בשם Pi-hole, שפועל בעצם כמסנן DNS חכם . החלק הכי טוב הוא שאתם לא צריכים להתקין כלום על כל מכשיר בבית; המערכת פועלת מליבת הרשת שלכם, מיירטת וחוסמת תוכן לא רצוי עוד לפני שהוא מגיע למסך שלכם.
כדי להגדיר את המערכת הזו, האפשרות החכמה ביותר כיום היא להשתמש ב-Docker. על ידי הצבת Pi-hole בתוך קונטיינר, אתם נמנעים מעומס של מערכת ההפעלה של המחשב שלכם, הופכים עדכונים לקלים להפליא, ומפיקים את המרב מהחומרה שלכם - בין אם זה Raspberry Pi, שרת ישן יותר, או אפילו מכונה וירטואלית שמריצה Ubuntu או Debian - ללא כל התנגשויות שירות.
דרישות מוקדמות והכנת האתר
לפני שצוללים פנימה, ראוי לציין ש-Pi-hole קל משקל במיוחד. כדי להריץ אותו בצורה חלקה, אתם צריכים רק כ -512 מגה-בייט של זיכרון RAM ובין 2 ל-4 ג'יגה-בייט של שטח דיסק. באשר למערכת ההפעלה, היא עובדת בצורה מושלמת עם הפצות המשתמשות ב-systemd או sysvinit, כגון דביאן, אובונטו, פדורה או מערכת ההפעלה Raspberry Pi.
נקודה קריטית היא הרשת. כדי שהמערכת תהיה יציבה, Pi-hole דורש כתובת IP סטטית . אם אינך רוצה לטרוח להגדיר את השרת באופן ידני, תוכל לשמור כתובת IP בנתב שלך כך שתמיד יקצה את אותה כתובת למחשב המארח את הקונטיינר.
פריסת Pi-hole באמצעות Docker
הדרך הקלה ביותר להגדיר זאת היא באמצעות קובץ docker-compose.yml . שיטה זו מאפשרת לך להגדיר את כל התצורה בבת אחת. חשוב למפות את הכרכים (כגון /etc/pihole ו- /etc-dnsmasq.d) לתיקיות מקומיות במארח שלך, כך שאם תעדכן את תמונת המכולה, לא תאבד את כל התצורות או הרשימות השחורות שלך.
בקובץ התצורה, שימו לב לפורטים. פורט 53 הוא לב ליבת ה-DNS וחייב להיות פנוי. אם אתם רואים שהקונטיינר לא מופעל, סביר להניח ש- systemd-resolved או dnsmasq משתמשים בפורט זה במארח. במקרים אלה, תצטרכו להשבית את השירות המתנגש או להגדיר גשר כדי לנתב מחדש את התעבורה.
אם תחליטו להשתמש ב-Pi-hole גם כשרת DHCP, זכרו להוסיף את יכולת NET_ADMIN במקטע cap_add של compose, ועדיף להשתמש במצב רשת המארח (network_mode: host) כדי להימנע מבעיות קישוריות.
הגדרה ראשונית וניהול גישה
ברגע שתבצע את הפקודה docker-compose up -dהמערכת תהיה פעילה. כדי לגשת ללוח הבקרה, התחבר לכתובת ה-IP של השרת שלך דרך הפורט שהקצית (80 כברירת מחדל, אם כי ניתן לשנות אותו ל-8080 או 89 כדי למנוע התנגשויות עם שרתי אינטרנט אחרים). אם לא הגדרת סיסמה במשתנה הסביבה... סיסמת אינטרנטהמערכת תיצור קובץ אקראי שתוכלו למצוא על ידי בדיקת היומנים באמצעות הפקודה docker logs pihole | grep random.
לשיפור האבטחה, עדיף לשנות את הסיסמה במהירות. ניתן לגשת למסוף המכולה באמצעות docker exec -it pihole /bin/bash והפעל את הפקודה פיהול -א -פ להגדיר סיסמה שקל לך לזכור אך קשה לאחרים.
סינון במעלה הזרם ואופטימיזציה של DNS
כדי להבטיח ש-Pi-hole ידע למי לפנות כאשר הוא אינו מזהה כתובת, עליך להגדיר שרת DNS במעלה הזרם. אפשרות חזקה מאוד היא Quad9 ; פשוט בחר את השרתים המסוננים שלו (כגון 9.9.9.9) בלשונית הגדרות DNS. זה מוסיף שכבה נוספת של אבטחה ופרטיות לגלישה שלך.
ליבו של Pi-hole הוא רשימות החסימה שלה. אם אתם רוצים להתחיל עם משהו מוצק, תוכלו להוסיף את הרשימה של StevenBlack . בכל פעם שאתם משנים את הרשימות, בין אם על ידי מחיקת ערכים באמצעות SQLite3 או הוספת כתובות URL חדשות, חיוני לעבור ל-Tools ולהפעיל את Update Gravity כדי שמסד הנתונים יתרענן והשינויים ייכנסו לתוקף.
טיפים למתקדמים: דומיינים מקומיים וניהולם
אם יש לכם מספר שירותים בבית, תוכלו ליצור שמות דומיין מקומיים כדי להימנע מהצורך לשנן כתובות IP. לשם כך, צור קובץ בשם local.list באמצעי האחסון Pi-hole המותקנים, תוך הגדרת פורמט ה-IP והדומיין. לאחר מכן, צור קובץ תצורה עבור dnsmasq שמפנה לרשימה זו והפעל מחדש את המכולה.
כדי לנהל את המערכת מבלי לגשת לאתר האינטרנט, ישנן פקודות שימושיות מאוד שניתן להריץ מהמארח. לדוגמה, כדי להוסיף דומיין לרשימה השחורה, השתמשו ב -`pihole -b mydomain.com` , או כדי להשבית סינון באופן זמני למשך 10 דקות, ניתן להשתמש ב -`pihole disable 10m` , וזה מאוד שימושי כאשר אתר אינטרנט לגיטימי נחסם בטעות.
שליטה על פרסום ביתי אפשרית לחלוטין על ידי שילוב חומרה צנועה עם הגמישות של Docker, הבטחת יציאה 53 פנויה ותצורה נכונה של אמצעי אחסון לשמירה על נתונים. לאחר שתתאים את ה-DNS בנתב שלך ותמטב את רשימות Gravity, תיהנה מרשת נקייה ומהירה בהרבה בכל המכשירים שלך.
