{"id":353373,"date":"2024-05-20T22:26:43","date_gmt":"2024-05-20T22:26:43","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=353373"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=353373","title":{"rendered":"<span>DNSTT. DNS \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0434\u043b\u044f \u043e\u0431\u0445\u043e\u0434\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/\" rel=\"noopener noreferrer nofollow\">dnstt <\/a>\u2014 \u044d\u0442\u043e DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c (VPN over DNS), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u044b DNS \u0447\u0435\u0440\u0435\u0437 HTTPS (DoH) \u0438 DNS \u0447\u0435\u0440\u0435\u0437 TLS (DoT). \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go.<\/p>\n<p>\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c:<\/p>\n<ol>\n<li>\n<p><strong>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 DNSTT<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 DNS \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u0430<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0442\u0443\u043d\u043d\u0435\u043b\u044f dnstt \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 dnstt \u043d\u0430 OpenWRT<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 tun2socks<\/strong><\/p>\n<\/li>\n<\/ol>\n<h2>1. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 DNSTT<\/h2>\n<p>DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c\u00a0\u2013 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043e\u0431\u043e\u0439\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0446\u0435\u043d\u0437\u0443\u0440\u0443. \u0426\u0435\u043b\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e DNS-\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c \u0438\u0445 \u043a\u0443\u0434\u0430-\u0442\u043e \u0435\u0449\u0435 \u2014 \u043f\u043e \u0441\u0443\u0442\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044f \u043a\u0430\u043a \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u043a\u0441\u0438. DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 UDP \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445 DNS-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442. \u041e\u0434\u043d\u0430\u043a\u043e DoH \u0438 DoT \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u2014 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u043e\u0431\u0449\u0430\u0435\u0442\u0435\u0441\u044c \u0441 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u043e\u043c, \u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f DNS \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. (\u0421\u0430\u043c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c.)<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d2e\/3b0\/9bc\/d2e3b09bc0d7907240e8a99ebdb62f0d.png\" alt=\"\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b dnstt\" title=\"\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b dnstt\" width=\"760\" height=\"271\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d2e\/3b0\/9bc\/d2e3b09bc0d7907240e8a99ebdb62f0d.png\"\/><\/p>\n<div><figcaption>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b dnstt<\/figcaption><\/div>\n<\/figure>\n<p>dnstt \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u044f. \u041f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 <a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#protocol\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430<\/a> \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 <a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#performance\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a>, \u0447\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u0438 DNS. (<strong>\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u043a\u043e\u043b\u043e 1.5 \u041c\u0431\u0438\u0442\/\u0441 \u043d\u0430 DOWN\/UP \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 DoH Google<\/strong>)<\/p>\n<p>dnstt \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 TUN\/TAP \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 SOCKS \u0438\u043b\u0438 HTTP, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 netcat \u043c\u0435\u0436\u0434\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c TCP \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c TCP. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/p>\n<p>DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438. \u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 DNS \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0441\u0438, \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0438 \u0445\u043e\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c UDP-\u043f\u0430\u043a\u0435\u0442\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 <strong>\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0430\u0448\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f <a href=\"http:\/\/example.com\" rel=\"noopener noreferrer nofollow\"><strong>example.com<\/strong><\/a><strong> (\u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u043c\u0435\u043d)<\/strong><\/p>\n<\/li>\n<li>\n<p>IPv4-\u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 <strong>203.0.113.2<\/strong>.<\/p>\n<\/li>\n<li>\n<p>IPv6-\u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 <strong>2001:db8::2 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)<\/strong><\/p>\n<\/li>\n<\/ul>\n<h2>2. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 DNS<\/h2>\n<p>\u0417\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u043c\u0435\u043d \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0442\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u0422\u0438\u043f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043c\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">A<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>203.0.113.2<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">AAAA<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>2001:db8::2<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">NS<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/t.example.com\" rel=\"noopener noreferrer nofollow\">t.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041c\u0435\u0442\u043a\u0438 \u00abtns\u00bb \u0438 \u00abt\u00bb \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c\u0438, \u043d\u043e \u043c\u0435\u0442\u043a\u0430 \u00abtns\u00bb \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441\u0443\u0431\u0434\u043e\u043c\u0435\u043d\u043e\u043c \u043c\u0435\u0442\u043a\u0438 \u00abt\u00bb (\u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u0441\u0443\u0431\u0434\u043e\u043c\u0435\u043d\u043e\u043c, \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0443\u043d\u043d\u0435\u043b\u044f). \u041c\u0435\u0442\u043a\u0430 \u00abt\u00bb \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 DNS-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e, \u0438 \u0447\u0430\u0441\u0442\u044c \u0435\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043c\u044f \u0434\u043e\u043c\u0435\u043d\u0430.<\/p>\n<h2>3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 Linux<\/h2>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 Debian 10 (amd64)<\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 <a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0server\" rel=\"noopener noreferrer nofollow\">Github<\/a>:<\/p>\n<pre><code class=\"bash\">wget https:\/\/github.com\/1andrevich\/dnstt\/releases\/download\/v0.20210424.0server\/dnstt-server-amd64-linux.zip -O dnstt-server.zip<\/code><\/pre>\n<p><em>\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438\u0437 <\/em><a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#performance\" rel=\"noopener noreferrer nofollow\"><em>\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430<\/em><\/a><\/p>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">unzip dnstt-server.zip<\/code><\/pre>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x dnstt-server-amd64-linux<\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447\u0438 \u0434\u043b\u044f \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044f:<\/p>\n<pre><code class=\"bash\">.\/dnstt-server-amd64-linux -gen-key -privkey-file server.key -pubkey-file server.pub<\/code><\/pre>\n<p>127.0.0.1:8000 \u2014 \u044d\u0442\u043e TCP-\u0430\u0434\u0440\u0435\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 (\u00ab\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00bb \u043d\u0430 \u0441\u0445\u0435\u043c\u0435).<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440:<\/p>\n<pre><code class=\"bash\">.\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<p>\u0422\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 UDP-\u043f\u043e\u0440\u0442 53. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u0435\u0433\u043e \u043a \u043f\u043e\u0440\u0442\u0443 53 (-udp :53), \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root. \u041b\u0443\u0447\u0448\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u043e\u0440\u0442\u0430 53. \u0412 Linux \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u044f\u0442 \u043f\u043e\u0440\u0442 53 \u043d\u0430 \u043f\u043e\u0440\u0442 5300:<\/p>\n<pre><code class=\"bash\">sudo iptables -I INPUT -p udp --dport 5300 -j ACCEPT sudo iptables -t nat -I PREROUTING -i enp1s0 -p udp --dport 53 -j REDIRECT --to-ports 5300 sudo ip6tables -I INPUT -p udp --dport 5300 -j ACCEPT sudo ip6tables -t nat -I PREROUTING -i enp1s0 -p udp --dport 53 -j REDIRECT --to-ports 5300<\/code><\/pre>\n<p><em>\u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b iptables \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043f\u0430\u043a\u0435\u0442\u043e\u043c<\/em><a href=\"https:\/\/linuxconfig.org\/how-to-make-iptables-rules-persistent-after-reboot-on-linux\" rel=\"noopener noreferrer nofollow\"><em> iptables-persistent<\/em><\/a><em> \u0438\u043b\u0438 \u0438\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c<\/em><\/p>\n<p>\u0412\u043f\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e <strong>enp1s0<\/strong> \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043e\u043d \u0434\u0440\u0443\u0433\u043e\u0439 (eth0, enp2s0 \u0438 \u0442.\u0434.)<\/p>\n<p>\u0412\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 127.0.0.1:8000, \u043a \u0447\u0435\u043c\u0443 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u0433 \u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u0446\u0435\u043b\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Ncat \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b:<\/p>\n<pre><code class=\"bash\">sudo apt install ncat ncat -l -k -v 127.0.0.1 8000<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e dnstt-server \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b DNS \u0434\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e 1232 \u0431\u0430\u0439\u0442\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u043c\u0438 \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u044b (\u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445), \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u043f\u0440\u0435\u0434\u0435\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0446\u0438\u044e -mtu, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -mtu 512.<\/p>\n<h2>4. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0430 OpenWRT<\/h2>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u00a0<strong>\u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0441 128 \u041c\u0411 RAM (256 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0438 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0431\u043e\u043b\u0435\u0435 16 \u041c\u0431<\/strong> <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441 <a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0\" rel=\"noopener noreferrer nofollow\">Github <\/a>\u0444\u0430\u0439\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u043e\u0443\u0442\u0435\u0440\u0430<\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443:<\/p>\n<pre><code class=\"bash\">grep \"OPENWRT_ARCH\" \/etc\/os-release | awk -F '\"' '{print $2> }'<\/code><\/pre>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0435\u0433\u043e \u0432\u0438\u0434\u0430 (\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 TP-Link Archer C6U):<\/p>\n<pre><code class=\"bash\">mipsel_24kc<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0438\u0449\u0435\u043c \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b MIPS &#8212;\u00a0<a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0\" rel=\"noopener noreferrer nofollow\">Release v0.20210424.0 Binary Client \u00b7 1andrevich\/dnstt (github.com)<\/a>  <\/p>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Github \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f Mips \u0438 mipsle \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u0432\u0435\u0440\u0438\u0442\u0441\u044f \u0441\u00a0<a href=\"https:\/\/openwrt.org\/toh\/hwdata\/start\" rel=\"noopener noreferrer nofollow\">OpenWRT Table of Hardware Wiki<\/a>\u00a0\u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/p>\n<p>\u0414\u043b\u044f TP-Link Archer C6U &#8212; \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 mipsle (\u043e\u043d \u0436\u0435 mipsel)<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd5\/770\/7d8\/dd57707d88acb3128e6307bc80fb3e52.png\" width=\"329\" height=\"298\" data-src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd5\/770\/7d8\/dd57707d88acb3128e6307bc80fb3e52.png\"\/><\/figure>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wget:<\/p>\n<pre><code class=\"bash\">cd \/tmp wget https:\/\/github.com\/1andrevich\/dnstt\/releases\/download\/v0.20210424.0\/dnstt-client-mipsle-softfloat-linux.zip -O dnstt-client.zip<\/code><\/pre>\n<p>\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f mipsle-softfloat, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>,<strong><em>\u00a0<\/em><\/strong>\u0442\u043e \u0441\u0432\u0435\u0440\u044c\u0442\u0435\u0441\u044c \u0435\u0449\u0451 \u0440\u0430\u0437 \u0441\u00a0<a href=\"https:\/\/openwrt.org\/toh\/hwdata\/start\" rel=\"noopener noreferrer nofollow\">OpenWRT wiki<\/a>\u00a0\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e hardfloat.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0444\u0430\u0439\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c, \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 unzip \u0432 \u041e\u0417\u0423 (\u043e\u043d \u0443\u0434\u0430\u043b\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430)<\/p>\n<pre><code class=\"bash\">opkg update opkg install unzip -d ram<\/code><\/pre>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0441 dnstt-client<\/p>\n<pre><code class=\"bash\">\/tmp\/usr\/bin\/unzip dnstt-client.zip -d \/tmp\/dnstt-client<\/code><\/pre>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x \/tmp\/dnstt-client\/ddnstt-client-mipsle-softfloat-linux<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0442\u043e \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0447\u0430\u043b\u0443\u00a0<strong>\u043f.3<\/strong><\/p>\n<p>\u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0438\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 <strong>server.pub<\/strong> \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0447\u0435\u0440\u0435\u0437 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/curl\/curl\/wiki\/DNS-over-HTTPS#publicly-available-servers\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 DNS over HTTPS (DoH)<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u043f\u0446\u0438\u044e -doh:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -doh https:\/\/doh.example\/dns-query -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/dnsprivacy.org\/public_resolvers\/\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 DNS over TLS (DoT)<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 -dot:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -dot dot.example:853 -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bba\/015\/737\/bba015737e08b732468f5931032cd6f9.png\" alt=\"\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435\" title=\"\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435\" width=\"735\" height=\"48\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bba\/015\/737\/bba015737e08b732468f5931032cd6f9.png\"\/><\/p>\n<div><figcaption>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/figcaption><\/div>\n<\/figure>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/033\/96f\/d0a\/03396fd0a6d480aadde92d0cdc3bc84d.png\" alt=\"\u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435\" title=\"\u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435\" width=\"393\" height=\"38\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/033\/96f\/d0a\/03396fd0a6d480aadde92d0cdc3bc84d.png\"\/><\/p>\n<div><figcaption>\u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043d\u0430 <strong>\u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/strong>:<\/p>\n<h4>Ncat HTTP-\u043f\u0440\u043e\u043a\u0441\u0438<\/h4>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0436\u0438\u043c HTTP-\u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ncat. \u041d\u043e \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 Ncat \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442 \u0438\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043f\u043e\u0440\u0442\u0430\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/p>\n<pre><code class=\"bash\">tunnel-server$ ncat -l -k --proxy-type http 127.0.0.1 8000 tunnel-server$ .\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<h4>SSH SOCKS-\u043f\u0440\u043e\u043a\u0441\u0438<\/h4>\n<p>OpenSSH \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 SOCKS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 SOCKS \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d sshd.<\/p>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0445\u043e\u0441\u0442\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0446\u0438\u044e -D, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c SOCKS \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 8000. \u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043f\u043e\u0440\u0442 8000. \u041f\u0443\u0441\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 7000.<\/p>\n<pre><code class=\"bash\">tunnel-server$ ssh -N -D 127.0.0.1:8000 -o NoHostAuthenticationForLocalhost=yes 127.0.0.1 #\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/code><\/pre>\n<pre><code class=\"bash\">tunnel-server$ .\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<p>\u0414\u043b\u044f HTTP \u0438 SOCKS \u041f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -doh https:\/\/doh.example\/dns-query -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<h2>5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 tun2socks<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u0442\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 systemd (\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Ubuntu, Debian \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043d\u0438\u0445)<\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u0432 \/usr\/bin<\/p>\n<pre><code class=\"bash\">sudo cp dnstt-server-amd64-linux \/usr\/bin\/dnstt-server<\/code><\/pre>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c server.key \u0438 server.pub \u0432 \/etc\/ssl\/dnstt-server<\/p>\n<pre><code class=\"bash\">sudo mkdir \/etc\/ssl\/dnstt-server sudo cp server.key \/etc\/ssl\/dnstt-server\/server.key sudo cp server.pub \/etc\/ssl\/dnstt-server\/server.pub<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043b\u0443\u0436\u0431\u0443 systemd:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/systemd\/system\/dnstt-service.service<\/code><\/pre>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 <strong>\/etc\/systemd\/system\/dnstt-service.service<\/strong>:<\/p>\n<pre><code class=\"bash\">[Unit] Description=dnstt-server After=network.target StartLimitIntervalSec=0  [Service] Type=simple #Service variables Environment=SSH_PORT=\"22\" Environment=PORT=\":5300\" Environment=DOMAIN=\"t.example.com\" Environment=KEY=\"\/etc\/ssl\/dnstt-server\/server.key\" Environment=PUB=\"\/etc\/ssl\/dnstt-server\/server.pub\" ExecStart=\/usr\/bin\/dnstt-server -udp $PORT -privkey-file $KEY $DOMAIN 127.0.0.1:8000 #For HTTP-Proxy (Uncomment) ExecStartPost=\/bin\/sh -c '\/usr\/bin\/ncat -l -k --proxy-type http 127.0.0.1 8000 >> \/var\/log\/dnstt-server.log' #For SSH SOCKS Proxy (Uncomment) #ExecStartPost=\/usr\/bin\/ssh -p$SSH_PORT -i ~\/.ssh\/id_rsa -N -f -D  127.0.0.1:8000 -o NoHostAuthenticationForLocalhost=yes 127.0.0.1 # optional items below Restart=always  [Install] WantedBy=multi-user.target<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443:<\/p>\n<pre><code class=\"bash\">sudo systemctl daemon-reload sudo systemctl enable dnstt-service.service sudo systemctl start dnstt-service.service<\/code><\/pre>\n<p>C \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u043a\u043e\u043d\u0447\u0435\u043d\u043e.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 <strong>\u043a\u043b\u0438\u0435\u043d\u0442\u0430<\/strong>.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043b\u0443\u0436\u0431\u0443 \u0434\u043b\u044f <strong>dnstt-client<\/strong> \u0432 OpenWRT.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0451\u043c \u0444\u0430\u0439\u043b <strong>\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux<\/strong> \u0432 <strong>\/usr\/bin\/ (\u041f\u0417\u0423)<\/strong><\/p>\n<pre><code class=\"bash\">cp \/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux \/usr\/bin\/dnstt-client<\/code><\/pre>\n<p>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 <strong>server.pub<\/strong>, \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0444\u0430\u0439\u043b \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 <strong>\/etc\/ssl\/dnstt<\/strong><\/p>\n<pre><code class=\"bash\">mkdir \/etc\/ssl\/dnstt cp \/tmp\/server.pub \/etc\/ssl\/dnstt\/server.pub<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b\u00a0<strong>\/etc\/init.d\/dnstt-client<\/strong>\u00a0\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438\u00a0<a href=\"https:\/\/docs.altlinux.org\/ru-RU\/archive\/2.3\/html-single\/junior\/alt-docs-extras-linuxnovice\/ch02s10.html\" rel=\"noopener noreferrer nofollow\"><strong>vi<\/strong><\/a>:<\/p>\n<pre><code class=\"bash\">#!\/bin\/sh \/etc\/rc.common  USE_PROCD=1  # starts after network starts START=98 #Number in rc.d queue # stops before networking stops STOP=90  PROG=\/usr\/bin\/dnstt-client DOMAIN=\"t.example.com\" PUB=\"\/etc\/ssl\/dnstt\/server.pub\" DOH=\"https:\/\/cloudflare-dns.com\/dns-query\" DOT=\"cloudflare-dns.com\" DOT_PORT=\"853\"  start_service() {   procd_open_instance   procd_set_param user root #For DNS over HTTPS   procd_set_param command \"$PROG\" -doh \"$DOH\" -pubkey-file \"$PUB\" \"$DOMAIN\" 127.0.0.1:7000 #For DNS over TLS   #procd_set_param command \"$PROG\" -dot \"$DOT\":\"$DOT_PORT\" -pubkey-file \"\"$PUB\" \"\"$DOMAIN\" 127.0.0.1:7000   procd_set_param stdout 1   procd_set_param stderr 1   procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}   procd_close_instance   echo \"dnstt-client is working!\" } stop_service() {   service_stop $PROG   echo \"dnstt-client has stopped!\" }  reload_service() {   stop   sleep 5s   echo \"dnstt-client restarted!\"   start }<\/code><\/pre>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c:<\/p>\n<pre><code class=\"bash\">chmod +x \/etc\/init.d\/dnstt-client<\/code><\/pre>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a:<\/p>\n<pre><code class=\"bash\">ln -s \/etc\/init.d\/dnstt-client \/etc\/rc.d\/S98dnstt-client<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">\/etc\/init.d\/dnstt-client start<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c <strong>tun2socks<\/strong>.<\/p>\n<p>\u0418\u0449\u0435\u043c \u043f\u0430\u043a\u0435\u0442 <strong>tun2socks<\/strong> \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b MIPS &#8212; mipsle softfloat (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 <strong>\u043f.3<\/strong>) &#8212;\u00a0<a href=\"https:\/\/github.com\/xjasonlyu\/tun2socks\/releases\/tag\/v2.5.1\" rel=\"noopener noreferrer nofollow\">Release v2.5.1 \u00b7 xjasonlyu\/tun2socks (github.com)<\/a>.<\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wget:<\/p>\n<pre><code class=\"bash\">cd \/tmp wget https:\/\/github.com\/xjasonlyu\/tun2socks\/releases\/download\/v2.5.1\/tun2socks-linux-mipsle-softfloat.zip -O tun2socks.zip<\/code><\/pre>\n<p>\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f mipsle-softfloat, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>,<strong><em>\u00a0<\/em><\/strong>\u0442\u043e \u0441\u0432\u0435\u0440\u044c\u0442\u0435\u0441\u044c \u0435\u0449\u0451 \u0440\u0430\u0437 \u0441\u00a0<a href=\"https:\/\/openwrt.org\/toh\/hwdata\/start\" rel=\"noopener noreferrer nofollow\">OpenWRT wiki<\/a>\u00a0\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e hardfloat.<\/p>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0441 <strong>tun2socks<\/strong><\/p>\n<pre><code class=\"bash\">\/tmp\/usr\/bin\/unzip tun2socks.zip -d \/tmp\/tun2socks<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0447\u0442\u043e unzip \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d ( <code>opkg install unzip -d ram<\/code>)<\/p>\n<p>\u0423\u0431\u0435\u0434\u0438\u043c\u0441\u044f \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"bash\">ls \/tmp\/tun2socks<\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b70\/69c\/129\/b7069c1296308b72e368e0bddb6f32ab.png\" width=\"331\" height=\"33\" data-src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b70\/69c\/129\/b7069c1296308b72e368e0bddb6f32ab.png\"\/><\/figure>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<pre><code class=\"bash\">\/tmp\/tun2socks\/tun2socks-linux-mipsle-softfloat --help<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0442\u043e \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0447\u0430\u043b\u0443\u00a0<strong>\u043f.4<\/strong>.<\/p>\n<p>\u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438\u00a0<a href=\"https:\/\/github.com\/xjasonlyu\/tun2socks\/wiki\/Examples#linux\" rel=\"noopener noreferrer nofollow\">tun2socks<\/a>\u00a0\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 ip \u0430\u0434\u0440\u0435\u0441 (\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432 dev <strong>tun3<\/strong>).<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u00a0<strong>\/etc\/config\/network<\/strong>\u00a0\u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:<\/p>\n<pre><code class=\"bash\">config interface 'tunnel'         option device 'tun3'         option proto 'static'         option ipaddr '172.16.11.1'         option netmask '255.255.255.252'<\/code><\/pre>\n<p><em>\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d 172.16.11.0\/30 \u0432\u044b\u0431\u0440\u0430\u043d \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0447\u0430\u0441\u0442\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432<\/em><\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0437\u043e\u043d\u0443 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0432\u00a0<strong>\/etc\/config\/firewall<\/strong><\/p>\n<pre><code class=\"bash\">config zone         option name 'dnsproxy'         option forward 'REJECT'         option output 'ACCEPT'         option input 'REJECT'         option masq '1'         option mtu_fix '1'         option device 'tun3'         option family 'ipv4'  config forwarding         option name 'lan-dnsproxy'         option dest 'dnsproxy'         option src 'lan'         option family 'ipv4' <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u0435\u0442\u044c<\/p>\n<pre><code class=\"bash\">\/etc\/init.d\/network restart<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044f\u00a0<strong>tun2socks<\/strong>:<\/p>\n<pre><code class=\"bash\">\/tmp\/tun2socks\/tun2socks-linux-mipsle-softfloat -device tun3 -proxy http:\/\/127.0.0.1:7000 -loglevel debug<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0441 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c:<\/p>\n<p>\u0413\u0434\u0435\u00a0<strong>tun3<\/strong>\u00a0\u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044f.<\/p>\n<p>proxy &#8212; \u0430\u0434\u0440\u0435\u0441 http \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 <strong>7000<\/strong>.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430:<\/p>\n<pre><code class=\"bash\">ping -n 172.16.11.2<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043a \u0441\u0430\u0439\u0442\u0443\u00a0<a href=\"http:\/\/ipecho.net\/\" rel=\"noopener noreferrer nofollow\">ipecho.net<\/a>\u00a0(\u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044f tun2socks, \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435).<\/p>\n<pre><code class=\"bash\">ip route add 34.160.111.0\/24 dev tun3<\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u0441\u0430\u0439\u0442\u0443 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043b\u043e\u0433\u0438:<\/p>\n<pre><code class=\"bash\">wget -qO- http:\/\/ipecho.net\/plain | xargs echo<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u0435\u0440\u043d\u0451\u0442 IP \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438 DNSTT.<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c tun2socks \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442:<\/p>\n<pre><code>ip route del 34.160.111.0\/24<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0451\u043c \u0444\u0430\u0439\u043b \u0432 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/p>\n<pre><code class=\"bash\">mv \/tmp\/tun2socks\/tun2socks-linux-mipsle-softfloat \/usr\/bin\/tun2socks<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u043b\u0443\u0436\u0431\u0443, \u0447\u0442\u043e\u0431\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0440\u043e\u0443\u0442\u0435\u0440\u0430.<\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u00a0<strong>\/etc\/init.d\/tun2socks<\/strong>\u00a0\u0432\u043d\u043e\u0441\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438\u00a0<a href=\"https:\/\/docs.altlinux.org\/ru-RU\/archive\/2.3\/html-single\/junior\/alt-docs-extras-linuxnovice\/ch02s10.html\" rel=\"noopener noreferrer nofollow\"><strong>vi<\/strong><\/a>:<\/p>\n<pre><code class=\"bash\">vi \/etc\/init.d\/tun2socks<\/code><\/pre>\n<pre><code class=\"bash\">#!\/bin\/sh \/etc\/rc.common USE_PROCD=1 # starts after network starts START=99 #Number in rc.d queue # stops before networking stops STOP=89 PROG=\/usr\/bin\/tun2socks IF=\"tun3\" HOST=\"127.0.0.1\" PORT=\"7000\" start_service() { procd_open_instance procd_set_param user root #For HTTP Proxy procd_set_param command \"$PROG\" -device \"$IF\" -proxy http:\/\/\"$HOST\":\"$PORT\" # For SSH SOCKS Proxy #procd_set_param command \"$PROG\" -device \"$IF\" -proxy \"$HOST\":\"$PORT\"   procd_set_param stdout 1   procd_set_param stderr 1   procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5} procd_close_instance #ip route save default > \/tmp\/defroute.save  #Saves existing default route #ip route del default #Deletes existing default route echo \"tun2socks is working!\" } #ip route add default via 172.16.11.2 dev \"$IF\" #Creates default route through the proxy stop_service() { service_stop $PROG #ip route restore default &lt; \/tmp\/defroute.save #Restores saved default route echo \"tun2socks has stopped!\" } reload_service() { stop sleep 5s echo \"tun2socks restarted!\" start }<\/code><\/pre>\n<p>\u0413\u0434\u0435 IF &#8212; \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 tun3 (\u0432\u043c\u0435\u0441\u0442\u043e tun0) \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0442\u0443\u043d\u043d\u0435\u043b\u044f\u043c\u0438.<\/p>\n<p>PORT &#8212; \u041f\u043e\u0440\u0442 \u0442\u0443\u043d\u043d\u0435\u043b\u044f DNSTT-\u041a\u043b\u0438\u0435\u043d\u0442\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 7000).<\/p>\n<p><strong>\u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0435\u0441\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0432 DNSTT (\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e, \u0442.\u043a. DNSTT \u0432\u0441\u0451 \u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0435\u0436\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c), \u0443\u0431\u0435\u0440\u0438\u0442\u0435 # \u043f\u0435\u0440\u0435\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 22, 23 \u0438 26 \u0438 29.<\/strong> \u041f\u0435\u0440\u0435\u0434 \u044d\u0442\u0438\u043c \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 DNSTT \u0447\u0435\u0440\u0435\u0437 \u0448\u043b\u044e\u0437 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 <a href=\"https:\/\/habr.com\/ru\/articles\/748408\/\" rel=\"noopener noreferrer nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>).<\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430 (\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e) \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 <strong>ip-full<\/strong><\/p>\n<pre><code>opkg install ip-full<\/code><\/pre>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c:<\/p>\n<pre><code class=\"bash\">chmod +x \/etc\/init.d\/tun2socks<\/code><\/pre>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a:<\/p>\n<pre><code class=\"bash\">ln -s \/etc\/init.d\/tun2socks \/etc\/rc.d\/S99tun2socks<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">\/etc\/init.d\/tun2socks start<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b:<\/p>\n<pre><code class=\"bash\">ip a | grep 'tun3'<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u0432\u044b\u0434\u0430\u0441\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<pre><code class=\"bash\">tun3: &lt;POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500     inet 172.16.11.1\/30 brd 172.16.11.3 scope global tun3<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u043e\u0442\u0432\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0443\u0441\u0442\u044b\u043c.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0440\u043e\u0443\u0442\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u043a\u0441\u0438.<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (\u0443\u0431\u0440\u0430\u0442\u044c # \u043f\u0435\u0440\u0435\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, <strong>\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e<\/strong>), \u043b\u0438\u0431\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u043e\u0431\u0445\u043e\u0434 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a (<strong>\u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438<\/strong>)<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c:<\/p>\n<pre><code>wget -qO- http:\/\/ipecho.net\/plain | xargs echo<\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u0435\u0440\u043d\u0451\u0442 IP \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 DNSTT.<\/p>\n<p>\u0414\u043b\u044f \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0445\u043e\u0434\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0442\u0430\u043a\u0438\u0445 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432:<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/743572\/\" rel=\"noopener noreferrer nofollow\">\u0422\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u043e\u0431\u0445\u043e\u0434 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0435 OpenWrt c \u043f\u043e\u043c\u043e\u0449\u044c\u044e BGP \/ \u0425\u0430\u0431\u0440 (habr.com)<\/a>\u00a0\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e BGP (bird2).<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/440030\/\" rel=\"noopener noreferrer nofollow\">\u0422\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u043e\u0431\u0445\u043e\u0434 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a PKH \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0435 \u0441 OpenWrt \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e WireGuard \u0438 DNSCrypt \/ \u0425\u0430\u0431\u0440 (habr.com)<\/a>\u00a0(\u043f\u0443\u0442\u0451\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u0432 iptables, nftables).<\/p>\n<p>\u041f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0432\u0441\u0451 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e:<\/p>\n<ul>\n<li>\n<p> \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b<\/a> \u0434\u043b\u044f Linux, Windows, MacOS (Darwin)<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f Android \u043f\u043b\u0430\u0433\u0438\u043d \u043a TLS Tunnel <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.tlsvpn.dnstt&amp;hl=en_US\" rel=\"noopener noreferrer nofollow\">TLS Tunnel DNSTT Plugin &#8212; Apps on Google Play<\/a> (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u0441\u044f \u043a \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430)<\/p>\n<\/li>\n<li>\n<p>\u0434\u043b\u044f iOS \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u043d\u0430\u0448\u0451\u043b<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/757420\/\"> https:\/\/habr.com\/ru\/articles\/757420\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/\" rel=\"noopener noreferrer nofollow\">dnstt <\/a>\u2014 \u044d\u0442\u043e DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c (VPN over DNS), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u044b DNS \u0447\u0435\u0440\u0435\u0437 HTTPS (DoH) \u0438 DNS \u0447\u0435\u0440\u0435\u0437 TLS (DoT). \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go.<\/p>\n<p>\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c:<\/p>\n<ol>\n<li>\n<p><strong>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 DNSTT<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 DNS \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u0430<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0442\u0443\u043d\u043d\u0435\u043b\u044f dnstt \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 dnstt \u043d\u0430 OpenWRT<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 tun2socks<\/strong><\/p>\n<\/li>\n<\/ol>\n<h2>1. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 DNSTT<\/h2>\n<p>DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c\u00a0\u2013 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043e\u0431\u043e\u0439\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0446\u0435\u043d\u0437\u0443\u0440\u0443. \u0426\u0435\u043b\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e DNS-\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c \u0438\u0445 \u043a\u0443\u0434\u0430-\u0442\u043e \u0435\u0449\u0435 \u2014 \u043f\u043e \u0441\u0443\u0442\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044f \u043a\u0430\u043a \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u043a\u0441\u0438. DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 UDP \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0445 DNS-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442. \u041e\u0434\u043d\u0430\u043a\u043e DoH \u0438 DoT \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u2014 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u043e\u0431\u0449\u0430\u0435\u0442\u0435\u0441\u044c \u0441 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u043e\u043c, \u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f DNS \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. (\u0421\u0430\u043c \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c.)<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b dnstt<\/figcaption><\/div>\n<\/figure>\n<p>dnstt \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0442\u0443\u043d\u043d\u0435\u043b\u044f. \u041f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 <a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#protocol\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430<\/a> \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 <a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#performance\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a>, \u0447\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u0438 DNS. (<strong>\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u043a\u043e\u043b\u043e 1.5 \u041c\u0431\u0438\u0442\/\u0441 \u043d\u0430 DOWN\/UP \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 DoH Google<\/strong>)<\/p>\n<p>dnstt \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 TUN\/TAP \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 SOCKS \u0438\u043b\u0438 HTTP, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 netcat \u043c\u0435\u0436\u0434\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c TCP \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c TCP. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/p>\n<p>DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438. \u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 DNS \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0441\u0438, \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c DNS-\u0442\u0443\u043d\u043d\u0435\u043b\u044c, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0438 \u0445\u043e\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c UDP-\u043f\u0430\u043a\u0435\u0442\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 <strong>\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0430\u0448\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f <a href=\"http:\/\/example.com\" rel=\"noopener noreferrer nofollow\"><strong>example.com<\/strong><\/a><strong> (\u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u043c\u0435\u043d)<\/strong><\/p>\n<\/li>\n<li>\n<p>IPv4-\u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 <strong>203.0.113.2<\/strong>.<\/p>\n<\/li>\n<li>\n<p>IPv6-\u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 <strong>2001:db8::2 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)<\/strong><\/p>\n<\/li>\n<\/ul>\n<h2>2. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 DNS<\/h2>\n<p>\u0417\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u043c\u0435\u043d \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0442\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u0422\u0438\u043f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043c\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">A<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>203.0.113.2<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">AAAA<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>2001:db8::2<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">NS<\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/t.example.com\" rel=\"noopener noreferrer nofollow\">t.example.com<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"http:\/\/tns.example.com\" rel=\"noopener noreferrer nofollow\">tns.example.com<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041c\u0435\u0442\u043a\u0438 \u00abtns\u00bb \u0438 \u00abt\u00bb \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c\u0438, \u043d\u043e \u043c\u0435\u0442\u043a\u0430 \u00abtns\u00bb \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441\u0443\u0431\u0434\u043e\u043c\u0435\u043d\u043e\u043c \u043c\u0435\u0442\u043a\u0438 \u00abt\u00bb (\u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u0441\u0443\u0431\u0434\u043e\u043c\u0435\u043d\u043e\u043c, \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0443\u043d\u043d\u0435\u043b\u044f). \u041c\u0435\u0442\u043a\u0430 \u00abt\u00bb \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 DNS-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e, \u0438 \u0447\u0430\u0441\u0442\u044c \u0435\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043c\u044f \u0434\u043e\u043c\u0435\u043d\u0430.<\/p>\n<h2>3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 Linux<\/h2>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 Debian 10 (amd64)<\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 <a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0server\" rel=\"noopener noreferrer nofollow\">Github<\/a>:<\/p>\n<pre><code class=\"bash\">wget https:\/\/github.com\/1andrevich\/dnstt\/releases\/download\/v0.20210424.0server\/dnstt-server-amd64-linux.zip -O dnstt-server.zip<\/code><\/pre>\n<p><em>\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438\u0437 <\/em><a href=\"https:\/\/www.bamsoftware.com\/software\/dnstt\/#performance\" rel=\"noopener noreferrer nofollow\"><em>\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430<\/em><\/a><\/p>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">unzip dnstt-server.zip<\/code><\/pre>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x dnstt-server-amd64-linux<\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447\u0438 \u0434\u043b\u044f \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044f:<\/p>\n<pre><code class=\"bash\">.\/dnstt-server-amd64-linux -gen-key -privkey-file server.key -pubkey-file server.pub<\/code><\/pre>\n<p>127.0.0.1:8000 \u2014 \u044d\u0442\u043e TCP-\u0430\u0434\u0440\u0435\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 (\u00ab\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00bb \u043d\u0430 \u0441\u0445\u0435\u043c\u0435).<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440:<\/p>\n<pre><code class=\"bash\">.\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<p>\u0422\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 UDP-\u043f\u043e\u0440\u0442 53. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u0435\u0433\u043e \u043a \u043f\u043e\u0440\u0442\u0443 53 (-udp :53), \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root. \u041b\u0443\u0447\u0448\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u043e\u0440\u0442\u0430 53. \u0412 Linux \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u044f\u0442 \u043f\u043e\u0440\u0442 53 \u043d\u0430 \u043f\u043e\u0440\u0442 5300:<\/p>\n<pre><code class=\"bash\">sudo iptables -I INPUT -p udp --dport 5300 -j ACCEPT sudo iptables -t nat -I PREROUTING -i enp1s0 -p udp --dport 53 -j REDIRECT --to-ports 5300 sudo ip6tables -I INPUT -p udp --dport 5300 -j ACCEPT sudo ip6tables -t nat -I PREROUTING -i enp1s0 -p udp --dport 53 -j REDIRECT --to-ports 5300<\/code><\/pre>\n<p><em>\u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b iptables \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043f\u0430\u043a\u0435\u0442\u043e\u043c<\/em><a href=\"https:\/\/linuxconfig.org\/how-to-make-iptables-rules-persistent-after-reboot-on-linux\" rel=\"noopener noreferrer nofollow\"><em> iptables-persistent<\/em><\/a><em> \u0438\u043b\u0438 \u0438\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c<\/em><\/p>\n<p>\u0412\u043f\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e <strong>enp1s0<\/strong> \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043e\u043d \u0434\u0440\u0443\u0433\u043e\u0439 (eth0, enp2s0 \u0438 \u0442.\u0434.)<\/p>\n<p>\u0412\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 127.0.0.1:8000, \u043a \u0447\u0435\u043c\u0443 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u0433 \u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u0446\u0435\u043b\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Ncat \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b:<\/p>\n<pre><code class=\"bash\">sudo apt install ncat ncat -l -k -v 127.0.0.1 8000<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e dnstt-server \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b DNS \u0434\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e 1232 \u0431\u0430\u0439\u0442\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u043c\u0438 \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u044b (\u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445), \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u043f\u0440\u0435\u0434\u0435\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0446\u0438\u044e -mtu, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -mtu 512.<\/p>\n<h2>4. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0430 OpenWRT<\/h2>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u00a0<strong>\u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0441 128 \u041c\u0411 RAM (256 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0438 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0431\u043e\u043b\u0435\u0435 16 \u041c\u0431<\/strong> <\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441 <a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0\" rel=\"noopener noreferrer nofollow\">Github <\/a>\u0444\u0430\u0439\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u043e\u0443\u0442\u0435\u0440\u0430<\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443:<\/p>\n<pre><code class=\"bash\">grep \"OPENWRT_ARCH\" \/etc\/os-release | awk -F '\"' '{print $2> }'<\/code><\/pre>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0435\u0433\u043e \u0432\u0438\u0434\u0430 (\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 TP-Link Archer C6U):<\/p>\n<pre><code class=\"bash\">mipsel_24kc<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0438\u0449\u0435\u043c \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b MIPS &#8212;\u00a0<a href=\"https:\/\/github.com\/1andrevich\/dnstt\/releases\/tag\/v0.20210424.0\" rel=\"noopener noreferrer nofollow\">Release v0.20210424.0 Binary Client \u00b7 1andrevich\/dnstt (github.com)<\/a>  <\/p>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Github \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f Mips \u0438 mipsle \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u0432\u0435\u0440\u0438\u0442\u0441\u044f \u0441\u00a0<a href=\"https:\/\/openwrt.org\/toh\/hwdata\/start\" rel=\"noopener noreferrer nofollow\">OpenWRT Table of Hardware Wiki<\/a>\u00a0\u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/p>\n<p>\u0414\u043b\u044f TP-Link Archer C6U &#8212; \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 mipsle (\u043e\u043d \u0436\u0435 mipsel)<\/p>\n<figure class=\"\"><\/figure>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wget:<\/p>\n<pre><code class=\"bash\">cd \/tmp wget https:\/\/github.com\/1andrevich\/dnstt\/releases\/download\/v0.20210424.0\/dnstt-client-mipsle-softfloat-linux.zip -O dnstt-client.zip<\/code><\/pre>\n<p>\u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f mipsle-softfloat, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>,<strong><em>\u00a0<\/em><\/strong>\u0442\u043e \u0441\u0432\u0435\u0440\u044c\u0442\u0435\u0441\u044c \u0435\u0449\u0451 \u0440\u0430\u0437 \u0441\u00a0<a href=\"https:\/\/openwrt.org\/toh\/hwdata\/start\" rel=\"noopener noreferrer nofollow\">OpenWRT wiki<\/a>\u00a0\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e hardfloat.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0444\u0430\u0439\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c, \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 unzip \u0432 \u041e\u0417\u0423 (\u043e\u043d \u0443\u0434\u0430\u043b\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430)<\/p>\n<pre><code class=\"bash\">opkg update opkg install unzip -d ram<\/code><\/pre>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0441 dnstt-client<\/p>\n<pre><code class=\"bash\">\/tmp\/usr\/bin\/unzip dnstt-client.zip -d \/tmp\/dnstt-client<\/code><\/pre>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x \/tmp\/dnstt-client\/ddnstt-client-mipsle-softfloat-linux<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0442\u043e \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\u00a0<strong><em>&#171;line 1: syntax error: unexpected &#171;(&#187;\u00a0<\/em><\/strong>\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0447\u0430\u043b\u0443\u00a0<strong>\u043f.3<\/strong><\/p>\n<p>\u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0438\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 <strong>server.pub<\/strong> \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0447\u0435\u0440\u0435\u0437 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/curl\/curl\/wiki\/DNS-over-HTTPS#publicly-available-servers\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 DNS over HTTPS (DoH)<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u043f\u0446\u0438\u044e -doh:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -doh https:\/\/doh.example\/dns-query -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/dnsprivacy.org\/public_resolvers\/\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 DNS over TLS (DoT)<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 -dot:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -dot dot.example:853 -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/figcaption><\/div>\n<\/figure>\n<figure class=\"\">\n<div><figcaption>\u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043d\u0430 <strong>\u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/strong>:<\/p>\n<h4>Ncat HTTP-\u043f\u0440\u043e\u043a\u0441\u0438<\/h4>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0436\u0438\u043c HTTP-\u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ncat. \u041d\u043e \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 Ncat \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442 \u0438\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043f\u043e\u0440\u0442\u0430\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u043d\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/p>\n<pre><code class=\"bash\">tunnel-server$ ncat -l -k --proxy-type http 127.0.0.1 8000 tunnel-server$ .\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<h4>SSH SOCKS-\u043f\u0440\u043e\u043a\u0441\u0438<\/h4>\n<p>OpenSSH \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 SOCKS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 SOCKS \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d sshd.<\/p>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 SSH-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0445\u043e\u0441\u0442\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0446\u0438\u044e -D, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c SOCKS \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 8000. \u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043f\u043e\u0440\u0442 8000. \u041f\u0443\u0441\u0442\u044c \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 7000.<\/p>\n<pre><code class=\"bash\">tunnel-server$ ssh -N -D 127.0.0.1:8000 -o NoHostAuthenticationForLocalhost=yes 127.0.0.1 #\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/code><\/pre>\n<pre><code class=\"bash\">tunnel-server$ .\/dnstt-server-amd64-linux -udp :5300 -privkey-file server.key t.example.com 127.0.0.1:8000<\/code><\/pre>\n<p>\u0414\u043b\u044f HTTP \u0438 SOCKS \u041f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435:<\/p>\n<pre><code class=\"bash\">.\/tmp\/dnstt-client\/dnstt-client-mipsle-softfloat-linux -doh https:\/\/doh.example\/dns-query -pubkey-file server.pub t.example.com 127.0.0.1:7000<\/code><\/pre>\n<h2>5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 tun2socks<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u0442\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 systemd (\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Ubuntu, Debian \u0438 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043d\u0438\u0445)<\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u0432 \/usr\/bin<\/p>\n<pre><code class=\"bash\">sudo cp dnstt-server-amd64-linux \/usr\/bin\/dnstt-server<\/code><\/pre>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c server.key \u0438 server.pub \u0432 \/etc\/ssl\/dnstt-server<\/p>\n<pre><code class=\"bash\">sudo mkdir \/etc\/ssl\/dnstt-server sudo cp server.key \/etc\/ssl\/dnstt-server\/server.key sudo cp server.pub \/etc\/ssl\/dnstt-server\/server.pub<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043b\u0443\u0436\u0431\u0443 systemd:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/systemd\/system\/dnstt-service.service<\/code><\/pre>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 <strong>\/etc\/systemd\/system\/dnstt-service.service<\/strong>:<\/p>\n<pre><code class=\"bash\">[Unit] Description=dnstt-server After=network.target StartLimitIntervalSec=0  [Service] Type=simple #Service variables Environment=SSH_PORT=\"22\" Environment=PORT=\":5300\" Environment=DOMAIN=\"t.example.com\" Environment=KEY=\"\/etc\/ssl\/dnstt-server\/server.key\" Environment=PUB=\"\/etc\/ssl\/dnstt-server\/server.pub\" ExecStart=\/usr\/bin\/dnstt-server -udp $PORT -privkey-file $KEY $DOMAIN 127.0.0.1:8000 #For HTTP-Proxy (Uncomment) ExecStartPost=\/bin\/sh -c '\/usr\/bin\/ncat -l -k --proxy-type http 127.0.0.1 8000 >> \/var\/log\/dnstt-server.log' #For SSH SOCKS Proxy (Uncomment) #ExecStartPost=\/usr\/bin\/ssh -p$SSH_PORT -i ~\/.ssh\/id_rsa -N -f -D  127.0.0.1:8000 -o NoHostAuthenticationForLocalhost=yes 127.0.0.1 # optional items below Restart=always<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-353373","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=353373"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353373\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=353373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=353373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=353373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}