Перехоплення DNS (DNS hijacking)

  • У цьому посібнику описано спосіб перехоплення DNS-трафіку в OpenWrt.
  • Можна комбінувати з VPN або шифруванням DNS для захисту DNS-запитів.
  • Замінити попередньо налаштований DNS-провайдер для клієнтів у LAN.
    • Запобігти витоку DNS-запитів під час використання VPN або шифрованого DNS.

Налаштуйте файрвол для перехоплення DNS-запитів:

  1. Перейдіть до LuCI → Network → Firewall → Port Forwards
  2. Натисніть Add і вкажіть:
    • Назва: Intercept-DNS
    • Обмежити сімейство адрес: IPv4 та IPv6
    • Протокол: TCP, UDP
    • Зона джерела: lan
    • Зовнішній порт: 53
    • Зона призначення: не вказується
    • Внутрішня IP-адреса: будь-яка
    • Внутрішній порт: будь-який
  3. Натисніть Save, потім Save and apply

Налаштуйте файрвол для перехоплення DNS-запитів:

# Перехоплення DNS
uci -q del firewall.dns_int
uci set firewall.dns_int="redirect"
uci set firewall.dns_int.name="Intercept-DNS"
uci set firewall.dns_int.family="any"
uci set firewall.dns_int.proto="tcp udp"
uci set firewall.dns_int.src="lan"
uci set firewall.dns_int.src_dport="53"
uci set firewall.dns_int.dest_port="53"
uci set firewall.dns_int.target="DNAT"
uci commit firewall
service firewall restart

Встановіть різні DNS-провайдери на клієнті та маршрутизаторі. Переконайтесь, що виявлений DNS-сервер збігається лише з тим, який налаштовано на маршрутизаторі.

Зберіть і проаналізуйте таку інформацію:

# Журнал і статус
service firewall restart
 
# Поточна конфігурація
nft list ruleset
 
# Постійна конфігурація
uci show firewall

Використовуйте banIP для блокування DoH-трафіку, змушуючи клієнтів у LAN використовувати незашифрований DNS.

Налаштуйте файрвол для блокування DoT-трафіку, змушуючи клієнтів у LAN використовувати звичайний DNS:

# Блокування DoT
uci -q delete firewall.dot_fwd
uci set firewall.dot_fwd="rule"
uci set firewall.dot_fwd.name="Deny-DoT"
uci set firewall.dot_fwd.src="lan"
uci set firewall.dot_fwd.dest="wan"
uci set firewall.dot_fwd.dest_port="853"
uci set firewall.dot_fwd.proto="tcp udp"
uci set firewall.dot_fwd.target="REJECT"
uci commit firewall
service firewall restart

Налаштуйте переспрямування DNS до локального DNS-сервера за допомогою Dnsmasq. Припускається, що локальний DNS-сервер у тій же підмережі. Налаштуйте файрвол, щоб уникнути циклічної маршрутизації.

# Файрвол
uci set firewall.dns_int.src_mac="!11:22:33:44:55:66"
uci commit firewall
service firewall restart

Не використовуйте Dnsmasq. Налаштуйте файрвол для перенаправлення DNS-трафіку на локальний DNS-сервер. Перенесіть DNS-сервер у окрему підмережу, щоб уникнути маскарадингу:

# Файрвол
uci set firewall.dns_int.name="Redirect-DNS"
uci set firewall.dns_int.family='ipv4'
uci set firewall.dns_int.dest_ip="192.168.2.2"
uci set firewall.dns_int.src_ip='!192.168.2.2'
uci commit firewall
service firewall restart
 
# Мережа
uci add_list network.lan.ipaddr="192.168.2.1/24"
uci commit network
service network restart
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/06/01 11:57
  • by vazaz