현대 인터넷은 상당히 성가신 곳입니다. 텍스트를 읽거나 비디오를 보는 것과 같은 순진한 활동이 광고로 더 잘 알려진 판촉 메시지로 인해 중단되는 경우가 많습니다. 광고가 관련성이 있고 시기적절하며 방해가 되지 않는다면 문제가 되지 않을 것입니다. 그러나 인공 지능, 딥 러닝 및 기타 유행어의 많은 "진보"에도 불구하고 문제가 되지 않습니다. 그러면 사생활이 보장됩니다.
광고 제공자와 광고 차단기 간의 전투가 계속되고 있습니다. 또한 점점 더 많은 사람들이 공격적인 직접 대면 광고 모델에 등을 돌리면서 서서히 확대되고 있습니다. 대부분의 경우 브라우저에서 광고 차단 확장 프로그램을 사용하면 모든 준비가 된 것입니다. 그러나 당신은 브라우저 회사와 그들이 허용하는 것의 자비에 있으며, 또한 이것이 모든 브라우저 및/또는 운영 체제에서 항상 작동하는 것은 아닙니다. 솔루션은 광고 서버에 대한 블록 네트워크 요청을 완료하는 것이며 이것이 Pi-Hole이 하는 일입니다. 검토해 봅시다.
시작하기
Pi-Hole은 인터넷 광고주를 위한 블랙홀입니다. 광고를 제공하는 것으로 식별된 도메인에 대한 DNS 요청을 차단하여 브라우징 세션 또는 해당 문제에 대한 모든 인터넷 활동에 광고가 포함되지 않도록 하는 소프트웨어 도구 세트입니다. 이것은 네트워크 수준 솔루션이므로 모든 시나리오에서 작동해야 합니다. 소음 감소 외에도 교통량 감소, 개인 정보 보호 개선 등의 이점도 있습니다.
이것은 나를 흥미롭게 만들었고 Pi-Hole을 설정하기로 결정했습니다. 이제 일반적으로 Pi-Hole은 가전 제품으로 사용하도록 설계되었습니다. 이름에서 알 수 있듯이 저렴한 Raspberry Pi 장치를 사용하고 Pi-Hole을 설치한 다음 네트워크 필터로 사용할 수 있습니다. 여기에 첫 번째 문제가 있습니다. Pi-Hole을 올바르게 구성하려면 네트워킹에 대한 이해가 필요합니다. 전반적으로 완전한 Pi-Hole 솔루션은 다음을 포함합니다.
- Pi-Hole 소프트웨어를 실행할 장치 설정 - 이것은 네트워크의 전용 시스템이거나 Linux를 실행하는 모든 시스템에서 Pi-hole을 구성할 수 있습니다. 예를 들어 두 대의 Linux 노트북이나 데스크톱이 있는 경우 각각 고유한 네트워크 필터가 될 수 있습니다.
- 다음 단계는 Pi-Hole을 DNS 서버로 구성하는 것입니다. 기본적으로 IP 주소가 아닌 도메인 이름을 사용하여 탐색합니다. 인간은 1.2.3.4와 같은 일련의 숫자보다 dedoimedo.com 또는 example.com과 같은 것을 기억하는 것이 훨씬 더 쉽다는 것을 알게 됩니다. 이는 사람이 읽을 수 있는 이름을 숫자로 변환하는 DNS(도메인 이름 시스템) 확인 서비스를 통해 수행됩니다. Pi-Hole은 이 시점에서 필터링 규칙을 적용할 수 있습니다. 인터넷 광고주 중 하나에 속하는 것으로 간주되는 주소에 대한 요청을 식별하면 이 요청을 삭제할 수 있으므로 해당 콘텐츠는 절대 제공되지 않습니다. 물론 여기에는 거짓 긍정도 포함될 수 있습니다.
- 마지막 단계는 Pi-Hole을 DNS 서버로 사용하도록 다른 시스템을 구성하는 것입니다. 여기서도 네트워킹에 대한 약간의 지식이 필요합니다. 그러나 이것은 실제로 모든 운영 체제에 적용됩니다. Pi-Hole 어플라이언스는 Linux여야 하지만 어떤 머신이든 어플라이언스를 사용하도록 DNS 구성을 변경할 수 있으며 그 시점부터 Pi-Hole이 네트워크 요청을 필터링하는 중개인이 됩니다.
따라서 위의 모든 작업에는 전문성이 필요하다는 점을 기억해야 합니다. 설정에서 이러한 성격의 솔루션을 아무렇게나 플러그 앤 플레이할 수는 없습니다. 하지만 괴상한 친구가 있다면 그들은 당신을 위해 이것을 할 수 있습니다. 이것이 얼마나 간단한지 복잡한지 계속 살펴보겠습니다.
설치 마법사
스크립트를 다운로드하여 실행했습니다. 비교적 따라하기 쉬운 텍스트 기반 마법사를 얻을 수 있습니다. 저는 이것을 KDE 네온에서 실행했고 시스템 리포지토리의 소프트웨어만 설치했으며 자체 구성 요소는 GitHub에서 가져왔습니다.
사용할 DNS를 Pi-Hole에 알려야 합니다. 예를 들어, 192.168.1.1 또는 192.168.2.1 등과 같이 일반적으로 Linux 시스템에서 사용하는 자체 라우터를 사용할 수 있습니다. 이제 systemd를 사용하면 상황을 이해하기가 조금 더 어렵지만 우리는 거기에 도달할 것입니다. 기존 인터넷 DNS(예:Google 또는 CloudFlare) 중 일부를 사용할 수도 있습니다. 맞춤 설정부터 시작하기로 결정했습니다.
다른 adblocker와 마찬가지로 Pi-Hole은 목록을 사용하여 광고를 차단합니다. 목록이 최신이 아니거나, 부정확하거나, 잘못 만들어진 경우 공백이나 오탐지가 발생하여 합법적인 도메인이 거부될 수 있기 때문에 이것이 솔루션의 가장 강력하고 약한 링크입니다. 그러나 그 문제에 있어서 이것은 브라우저 확장을 통한 광고 차단과 다르지 않습니다. 단, 좀 더 철저하고 따라서 공격적이라는 점만 다릅니다. 대부분의 브라우저 확장 프로그램은 타사 도메인에만 규칙을 적용하므로 예상 도메인이 작동하지 않을 가능성은 상대적으로 낮습니다. Pi-Hole은 누구나 쉽게 사용할 수 있도록 되어 있으며 이는 합법적인 사이트가 로드되지 않도록 막을 수 있음을 의미합니다.
웹 UI는 좋은 것 같습니다. 구성했습니다.
그리고 그게 다였다. 아마도 Pi-Hole이 설치 및 구성되었으며 지금 사용할 수 있습니다.
효과가 있었나요?
아니요. 인터넷 연결이 없었습니다. 이름 확인에 실패했습니다. 내 로컬 시스템인 네온은 자신을 DNS(또는 라우터를 사용하는 설치된 Pi-Hole)로 사용하고 있었지만 Pi-Hole이 해결 서비스를 제공하지 않는 것 같습니다.
이 시점에서 문제는 인터넷이 없기 때문에 온라인에 접속할 수 없기 때문에 답변을 검색하려면 다른 컴퓨터가 필요하다는 것입니다. Pi-Hole을 제거하려고 시도했는데 이것은 간단하고 깨끗한 솔루션이었고 연결이 즉시 복원되었습니다. 다시 설치했는데 같은 결과를 얻었습니다.
몇 가지 명령줄 확인을 시도하기로 결정했습니다. Pi-Hole에는 활성화, 비활성화, 이름 확인 서비스 시작, 상태 확인 등을 수행할 수 있는 몇 가지 명령이 있습니다. pihole-FTL이라는 것에 문제가 있는 것으로 나타났습니다. 글쎄요.
pihole enable
[i] 차단 활성화
[✗] pihole-FTL:프로세스를 찾을 수 없음
[✓] Pi-hole 활성화
pihole-FTL을 실행하려고 했지만 시작되지 않았습니다. 글쎄, 알고 보니 sudo가 필요했습니다. 온라인 설명서를 보면 설정 오류가 잘 설명되어 있지 않습니다. 따라서 구성의 첫 번째 장애물을 통과한 것 같습니다.
pihole-FTL
치명적:FTL 로그(/var/log/pihole-FTL.log) 열기 실패!
그것이 존재하고 네온 사용자가 쓸 수 있는지 확인하십시오
sudo pihole-FTL
FTL이 시작되었습니다!
하지만 여전히 인터넷이 없었습니다. DNS 서비스가 아직 다운된 것 같아서 다시 시작하려고 했습니다.
pihole restartdns
[✗] pihole-FTL.service 시작 실패:장치 pihole-FTL.service를 찾을 수 없습니다.
오류로 인해 FTL 서비스를 시작하기 위한 단위 파일이 없거나 중단된 것으로 파악되었습니다. 인터넷 검색을 해보니 서비스 파일을 변경해야 한다는 것을 알게 되었습니다. 즉, /etc/init.d/pihole-FTL에서 다음 위치에서 FTL을 호출하는 줄을 편집해야 했습니다.
su -s /bin/sh -c "/usr/bin/pihole-FTL" "$FTLUSER"
이 줄에:
/usr/bin/pihole-FTL
이후 Pi-Hole은 오류 없이 시작되었습니다.
sudo pihole restartdns
[✓] DNS 서비스 시작
Pi-Hole이 광고를 차단하지 않았습니다
연결이 있었지만 광고가 있었습니다. Pi-Hole은 필터링을 수행하지 않았습니다. 그래서 웹 UI에 액세스하여 거기에서 변경 및 조정할 수 있는지 확인하기로 결정했습니다. 하지만 Pi-Hole 주소로 가려고 했을 때 수신 대기 중인 웹 서버가 없었습니다. https://ip-address/admin 및 https://pi-hole/admin은 아무것도 하지 않았습니다.
명령줄에서 몇 가지 테스트를 더 수행한 결과 lighttpd 서비스가 실행되고 있지 않은 것으로 나타났습니다. 웹 UI가 없는 이유를 설명할 수 있습니다. 그래서 좀 더 마법을 부려야 할 때였고 다시 말하지만 이 주제에 대한 문서는 약간 부족했습니다. 더 많은 오류가 발생했습니다.
sudo systemctl restart lighttpd.service
제어 프로세스가 오류 코드와 함께 종료되었기 때문에 lighttpd.service에 대한 작업이 실패했습니다. 자세한 내용은 "systemctl status lighttpd.service" 및 "journalctl -xe"를 참조하십시오.
하지만 이번에는 인터넷이 있었기 때문에 온라인으로 검색할 수 있었고 곧 문제의 원인을 찾았습니다. 다음 스레드는 해결책을 나타내는 오류 로그에 아무 것도 없지만 올바른 대답으로 안내했습니다. 여기서 다시 한 번 systemd의 해독할 수 없는 복잡성을 지적하고 싶습니다. 바이너리 로그에서 정보를 검색해야 했는데 그 정보가 쓸모가 없었습니다.
나는 실제로 패키지 - gamin -가 종속성으로 바로 설치되지 않는 이유가 없습니다. 하지만 이것을 설치하고 나니 lighttpd가 제대로 시작되었고 웹 UI를 탐색할 수 있었습니다.
sudo apt-get 설치 게임
systemctl status lighttpd.service
● lighttpd.service - Lighttpd 데몬
로드됨:로드됨(/lib/systemd/system/lighttpd.service; 활성화됨; 공급업체 사전 설정:활성화됨)
활성:활성( 실행 중) 2019-05-09 15:34:03 CEST 목요일부터; 2초 전
프로세스:19060 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS)
메인 PID:19069 (lighthttpd )
작업:6(제한:4915)
CGroup:/system.slice/lighttpd.service
├─19069 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd .conf
├─19078 /usr/bin/php-cgi
├─19079 /usr/bin/php-cgi
├─19080 /usr/bin/php-cgi
├─19081 /usr/bin/php-cgi
└─19082 /usr/bin/php-cgi
웹 UI 로그인 및 비밀번호
하지만 여전히 광고가 차단되지 않았습니다. 그래서 로그인을 시도했고 또 다른 문제가 있다는 것을 깨달았습니다. 실제로 모든 로그와 세부 정보를 확인하고 변경할 수 있는 관리자 페이지에 액세스할 수 없었습니다. 다시 온라인 검색을 통해 명령줄에서 기본 비밀번호를 재설정해야 한다는 사실을 알게 되었습니다.
파이홀 -a -p
그런 다음 웹 UI 설정에 액세스할 수 있었습니다. 정말 훌륭하고 강력한 인터페이스입니다. Pi-Hole을 일시적으로 중지하는 기능을 포함하여 많은 옵션이 있으므로 문제가 발생하면 모든 것을 변경하는 대신 필터링을 일시 중지할 수만 있습니다. DNS 설정을 가지고 놀 필요가 없습니다.
차단 목록 채우기
그리고 인터페이스를 살펴보니 차단 목록이 모두 비어 있음을 깨달았습니다. 예, 이것은 메인 페이지에서 분명하지만 찾고 있는 것이 무엇인지 알아야 합니다. Pi-Hole이 목록을 업데이트하라는 메시지를 표시하지 않거나 실제로 설정의 일부로 이 작업을 수행하지 않는 이유는 무엇입니까? 명령줄에서 수동 업데이트를 실행했고 목록이 생성되었습니다.
파이홀 -g -f
알았어, 효과가 있었니?
네, 이제 드디어 작동했습니다! Pi-Hole은 이제 DNS 임무를 수행하고 있으며 트래픽도 필터링하고 있습니다. 나는 그것이 효과적이고 방해가되지 않는다고 말해야합니다. 내 생각이 맞다면 시스템이 더 적은 수의 쿼리를 처리하고 더 적은 콘텐츠를 제공해야 했기 때문에 네트워크 측면에서 약간의 성능 향상도 있었습니다. 실제로 순진한 브라우징에도 불구하고 모든 쿼리의 20%가 차단되었습니다. 많은 것 같습니다. 그러나 그것은 또한 현대 인터넷의 현재 상황을 강조합니다. 차단 목록에 100,000개가 넘는 도메인이 있다는 사실도 이 슬픈 이야기의 일부를 말해줍니다. 또한 부드러운 대기 시간 개선에 대해서도 설명합니다.
결론
하루가 끝나면 Pi-hole을 실행했지만 설정은 사소하지 않았습니다. 4~5개의 근본적인 문제가 있었고 설치 마법사가 제대로 작동하는지 확인하기 위해 별도의 검사를 거칠 수 있었기 때문에 이러한 문제는 발생하지 않아야 했습니다. 최초 실행의 일부는 서비스 점검일 수 있으며 문제가 있는 경우 FTL이 실행 중인지 확인하기 위한 일종의 자체 진단입니다. 웹 서비스에도 동일하게 적용됩니다. 그런 다음 암호 재설정 및 목록 업데이트가 있습니다. 이 모든 것이 경험을 훨씬 더 능률적으로 만들 것입니다.
제품으로서 Pi-Hole은 매우 훌륭하고 강력한 도구입니다. 작업을 매우 잘 수행하고 빠르고 효과적이며 견고하며 웹 UI가 멋지게 디자인되었습니다. 또한 제공해야 할 콘텐츠가 적고 해결해야 할 쿼리가 적기 때문에 트래픽 측면에서도 어느 정도 이득을 볼 수 있습니다. 따라서 중요한 항목에 대한 성능이 향상됩니다. 설정은 간단하지 않지만 달성 가능하며 네트워크 연결 방법에 많은 유연성이 있습니다. Pi-Hole을 독립형 시스템으로 사용하거나 가정의 모든 다른 장치에 서비스를 제공할 수 있습니다. 대체로 이것은 인터넷이 당신을 악당으로 만들 때 최후의 무기입니다. 테스트할 가치가 있지만 열역학의 두 번째 규칙을 기억하십시오. 사소함과 복잡함을 동시에 가질 수는 없습니다.
건배.