Настройка DNS over TLS и DNSSEC на Openwrt
Так как уже установили dnsmasq-full перейдем непосредственно к настройке всего остального
Установка stubby
Логинемся по ssh к OpenWRT и выполняем
Далее включаем ручной режим в /etc/config/stubby
Пример конфига, порт и серверы вольны менять как захотите.
Чтобы заработал DNSSEC добавил строку dnssec_return_status: GETDNS_EXTENSION_TRUE.
Собственный репозиторий OpenWRT на Gitlab-e
Данная статья поможет создать собственный репозиторий OpenWRT, со сборкой пакетов и хостингом их, средствами Gitlab Pages и CI/CD.
Cоздание пары ключей для подписи пакетов
- Клонируйте репозиторий usign и скомпилируйте его. Обратите внимание, для успешной компиляции требуется установленный cmake.
- Даем команду исполняемому файлу usign создать новую пару ключей и вводим соответствующий комментарий, чтобы позже можно было идентифицировать файл ключа.
./usign -G -c "My own OpenWRT repo" -s secret.key -p public.key
Ключи готовы, к ним вернемся позже.
Resolve Opennic доменов на OpenWRT
Настройка dnsmasq
Заходим на сайт Opennic для получения списка ближайших серверов. В моем случае это:
91.217.137.37 (ns5.ru)
176.126.70.119 (ns1.sto.se)
192.71.245.208 (ns2.lom.it)
195.10.195.195 (ns31.de)
Так как в прошлой статье установили и настроили dnsmasq для резолва .onion сайтов, то на OpenWRT просто редактируем /etc/dnsmasq.conf и добавляем следующие строки:
server=/bbs/chan/cyb/dyn/geek/gopher/indy/libre/neo/null/o/oss/oz/parody/pirate/lib/91.217.137.37
server=/bbs/chan/cyb/dyn/geek/gopher/indy/libre/neo/null/o/oss/oz/parody/pirate/lib/176.126.70.119
server=/bbs/chan/cyb/dyn/geek/gopher/indy/libre/neo/null/o/oss/oz/parody/pirate/lib/192.71.245.208
server=/bbs/chan/cyb/dyn/geek/gopher/indy/libre/neo/null/o/oss/oz/parody/pirate/lib/195.10.195.195
Где IP из указанного выше списка.
Перезапускаем dnsmasq
/etc/init.d/dnsmasq restart
Проверяем доступность того же Рутрекера
OpenWRT прозрачное проксирование в сеть Tor
Установка пакетов
opkg update
opkg install ipset tor tor-geoip dnsmasq-full
Настройка Tor-a
Отрываем на редактирование /etc/tor/torrc
cp /etc/tor/torrc /etc/tor/torrc.opkg
vim /etc/tor/torrc
И приводим конфиг к такому виду
User tor
PidFile /var/run/tor.pid
DataDirectory /var/lib/tor
ExcludeExitNodes {RU},{UA},{AM},{KG}
VirtualAddrNetwork 10.8.0.0/16
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 192.168.1.1:9040
SOCKSPort 192.168.1.1:9050
DNSPort 9053
Перезапускаем Tor
/etc/init.d/tor restart
Настройка firewall-a
Добавляем в /etc/config/firewall
config ipset
option name 'onion'
option storage 'hash'
option match 'dest_ip'
option timeout '86400'
config redirect
option name 'torify-onion'
option src 'lan'
option proto 'tcp'
option ipset 'onion'
option dest_port '9040'
option dest 'lan'
Перезагружаем firewall