iptables를 사용하여 빠르게 실패하는 방법은 무엇입니까?

iptables를 사용하여 빠르게 실패하는 방법은 무엇입니까?

에서 영감을 받다렌즈콩내가 직접 하나를 설정했습니다.

할 수 있는 작업:

  1. Pi-hole은 내 로컬 네트워크의 Raspberry Pi 가상 어댑터에 개인 IP로 구성됩니다.
  2. 알려진 스팸/피싱/광고 서버 이름 목록을 가져옵니다.
  3. dnsmasq를 로컬 DNS로 사용하여 이러한 서버 이름을 로컬 IP(일명 Pi-hole)로 확인하세요.
  4. Pi-hole에서 lighttpd는 피싱 사이트나 광고 대신 빈 HTML 페이지와 픽셀 이미지를 제공합니다.
  5. 내 데스크탑/스마트폰/태블릿의 모든 브라우저가 원치 않는 콘텐츠를 제거합니다.

이 접근 방식의 장점은 동일한(원본) 대상 IP의 VirtualHosts와 같은 항목에 영향을 미치지 않는다는 것입니다. 단지 이름으로 호스트를 차단합니다. 단점은 집에서만 쓸 수 있다는거..

이 설정은 약 160만 개의 사이트 중 99%에서 작동하지만 일부 사이트는 https 또는 다른 포트를 사용하여 8080콘텐츠를 제공합니다. 빈 콘텐츠는 포트에서만 제공되므로 80이러한 사이트는 예를 들어 다음이 나올 때까지 영원히 기다려야 합니다. 파이어폭스는 포기했습니다.

항상 작동하도록 하려면 요청 장치에 대한 콘텐츠 제공을 중지하고 lighttpd를 제거하고 몇 가지 간단한 iptables 규칙을 추가하여 Pi-hole에 대한 연결이 빠르게 실패하도록 하고 싶습니다.

요청하는 당사자가 가능한 한 빨리 포기하도록 하려면 어떻게 해야 합니까? (즉, 이 특정 호스트에 대한 규칙은 무엇이어야 하는지를 의미합니다.)

좋은 방법에 대한 제안이 있나요?

답변1

DROP이것을 체인 iptables의 기본 작업 으로 설정한 것 같습니다 INPUT. 으로 변경하면 REJECT빨리 실패합니다.

답변2

별다른 성공을 거두지 못한 채 이리저리 돌아다니다 가 iptables완전히 다른 접근 방식을 취했습니다.

스팸/피싱/광고 서버 이름에 대한 모든 DNS 쿼리는 0.0.0.0으로 응답합니다. 예: 브라우저는 이를 라우팅할 수 없는 것으로 감지하고 빠르게 실패합니다.

관련 정보