## Настройка роутера на OpenWrt на точечную маршрутизацию по доменам, с использованием прозрачного прокси ### Создание файла с цепочкой маршрутизации для nftables Например файл /root/byedpi.nft ```shell set proxylist { type ipv4_addr flags interval timeout 4h } chain byedpi_prerouting { type nat hook prerouting priority -100; ip daddr @proxylist tcp dport {80, 443} redirect to 1080 } ``` ### Настройка firewall в openwrt В файле `/etc/config/firewall` нужно добавить ```shell config include option enabled '1' option type 'nftables' option path 'your-script-path' option position 'table-post' ``` #### Вам необходимо изменить `your-script-path` на ваш путь до файла с правилами nftables. В моём случае путь будет /root/byedpi.nft Теперь перезапустим firewall и убедимся, что он рабоет и не возвращает ошибок ```shell /etc/init.d/firewall restart ``` ### Добавление новой папки конфигурации для dnsmasq в OpenWRT: #### Вариант №1 Через добавление параметра в /etc/config/dhcp ```shell config dnsmasq option confdir '/etc/dnsmasq.d' /etc/init.d/dnsmasq restart /etc/init.d/dnsmasq status ``` Если статус `not running`, то лучше попробовать вариант 2 #### Вариант №2 Через uci ```shell uci set dhcp.@dnsmasq[0].confdir='/etc/dnsmasq.d' uci commit dhcp /etc/init.d/dnsmasq restart ``` ### Добавление списка доменов, которые будут идти через прозрачный прокси Файл /etc/dnsmasq.d/proxylist.conf Например для ускорения youtube ```shell #youtube nftset=/returnyoutubedislikeapi.com/4#inet#fw4#proxylist nftset=/youtube-nocookie.com/4#inet#fw4#proxylist nftset=/youtube-ui.l.google.com/4#inet#fw4#proxylist nftset=/youtube.com/4#inet#fw4#proxylist nftset=/youtubeembeddedplayer.googleapis.com/4#inet#fw4#proxylist nftset=/youtubei.googleapis.com/4#inet#fw4#proxylist nftset=/youtubekids.com/4#inet#fw4#proxylist nftset=/wide-youtube.l.google.com/4#inet#fw4#proxylist nftset=/yt-video-upload.l.google.com/4#inet#fw4#proxylist nftset=/ytimg.com/4#inet#fw4#proxylist nftset=/ytimg.l.google.com/4#inet#fw4#proxylist nftset=/yting.com/4#inet#fw4#proxylist nftset=/youtu.be/4#inet#fw4#proxylist nftset=/googlevideo.com/4#inet#fw4#proxylist nftset=/ggpht.com/4#inet#fw4#proxylist nftset=/suggestqueries.google.com/4#inet#fw4#proxylist nftset=/noifications-pa.googleapis.com/4#inet#fw4#proxylist nftset=/googleusercontent.com/4#inet#fw4#proxylist ``` Перезапустим dnsmasq, чтобы правила применились ```shell /etc/init.d/dnsmasq restart ``` Роутер настроен, теперь нужно убедиться что ваше устройство использует роутер, как dns серевер (Иначе работать не будет)