この記事は、MikroTikが製造したホームルーターを使用するユーザーを対象としています。したがって、コンパイルとアセンブリに直接関連する瞬間は省略され、MikroTikの例は写真にあります。
つまり、問題のステートメントは次のとおりです。MetaROUTERで仮想マシン(ゲスト)としてOpenWRTの簡易バージョンを作成し、外部DNSサーバーとの暗号化されたデータ交換に使用されるDNS + DNSCryptバンドルを既に作成します。
DNSCryptサポート付きのソースコードLEDE(OpenWRT)を使用してこの問題を標準的な方法で解決するために、Mikrotik MetaROUTERの
連続近似の方法で問題を解決することができました-OpenWRT AA 31411の既製の古いが安定したアセンブリ、リポジトリから配信されるパッケージの一部、個別にコンパイルされる部分、およびファイルで設定を変更するための少しを取る
そのため、既製のキット ( ここで OpenWRTアセンブリを個別に入手できます)を取り出し、FTPまたはクリップボード(エクスプローラーで、Files-> Paste routerにコピー)で解凍し、openwrt-mr-mips-rootfs-31411-basicファイルをMikroTikにアップロードします。 tar.gzおよびfiles.tar.gz
アセンブリをMetaROUTERにインポートして、新しいゲストを作成します(MetaROUTER-> Import Image):

ゲスト用の新しいethインターフェースを追加します。

OpenWRT IPの起動を可能な限り簡素化するために、彼はMikroTikからDHCPを受け取ります。このため、ゲストintを追加することを示します。 (vif19を持っています)ブリッジ(bridge1を持っています)に、内部マスターintも含まれています。 ルーター(私の例では少し異なりますが、本質は変わりません)。 OpenWRTがアドレスを受信したら、ルーターのDHCPサーバー設定でそのアドレスを静的にし、このアドレスをDHCPサーバー設定でコンピューターのDNSサーバーアドレスとして指定します(IP-> DHCPサーバー->ネットワーク-> DNSサーバー)。
ゲストを作成した後、彼は無効になっています。 有効にし、コンソールを開き(ゲストを右クリック)、約75秒待機し、定期的にifconfigを起動して、ネットワークインターフェイスを上げてアドレスを取得する瞬間をキャッチします(次のようなもの)。
root@metarouter:/# ifconfig eth0 Link encap:Ethernet HWaddr 02:8D:A2:1D:9D:73 inet addr:172.16.1.247 Bcast:172.16.1.255 Mask:255.255.255.255 …
先に進む前に、OpenWRTのテスト-telnetを介した接続、何かの開始-ping、netstatなどをお勧めします。 OpenWRTがカーネルパニックに陥らないようにします。
すべてうまくいけば、「コンソール」で「dopilivanie」に進みます。
root@metarouter:/# cd /tmp root@metarouter:/tmp# wget ftp://admin:passwd@router/files.tar.gz (, router - IP Mikrotik) root@metarouter:/tmp# tar xzf files.tar.gz root@metarouter:/tmp cd files root@metarouter:/tmp/files# ./install.sh
install.shの結果(エラーなし)
PING 8.8.8.8(8.8.8.8):56データバイト
8.8.8.8から64バイト:seq = 0 ttl = 56 time = 13.374 ms
8.8.8.8から64バイト:seq = 1 ttl = 56 time = 15.320 ms
8.8.8.8から64バイト:seq = 2 ttl = 56 time = 12.756 ms
-8.8.8.8 ping統計-3パケット送信、3パケット受信、0%パケット損失
往復最小/平均/最大= 12.756 / 13.816 / 15.320ミリ秒
openwrt.wk.cz/trunk/mr-mips/packages/Packages.gzをダウンロードしています 。
openwrt.wk.cz/trunk/mr-mips/packages/Packages.gzを膨張させます。
/ var / opkg-lists / snapshotsの利用可能なパッケージのリストを更新しました。
libcap(2.22-1)をルートにインストールしています...
openwrt.wk.cz/trunk/mr-mips/packages/libcap_2.22-1_mr-mips.ipkをダウンロードしています 。
libcapの構成。
ルートへのntpdate(4.2.6p5-1)のインストール...
openwrt.wk.cz/trunk/mr-mips/packages/ntpdate_4.2.6p5-1_mr-mips.ipkをダウンロードしています 。
ntpdateの構成。
libsodium(1.0.16-1)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
libpthread(0.9.33-104)をルートにインストールしています...
openwrt.wk.cz/trunk/mr-mips/packages/libpthread_0.9.33-104_mr-mips.ipkをダウンロードしています 。
libpthreadの構成。
libsodiumの構成。
dnscrypt-proxy-resolvers(1.9.5 + git-20171001-2d43be3-8)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
dnscrypt-proxy-resolversの構成。
dnscrypt-proxy(1.9.5-8)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
dnscrypt-proxyの構成。
ルートへのrng-tools(5-1)のインストール...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
rng-toolsの構成。
24 Apr 11:22:24 ntpdate [2321]:タイムサーバーの調整91.203.172.2オフセット-0.010429秒
cp:ディレクトリ「etc / config」の省略
8.8.8.8から64バイト:seq = 0 ttl = 56 time = 13.374 ms
8.8.8.8から64バイト:seq = 1 ttl = 56 time = 15.320 ms
8.8.8.8から64バイト:seq = 2 ttl = 56 time = 12.756 ms
-8.8.8.8 ping統計-3パケット送信、3パケット受信、0%パケット損失
往復最小/平均/最大= 12.756 / 13.816 / 15.320ミリ秒
openwrt.wk.cz/trunk/mr-mips/packages/Packages.gzをダウンロードしています 。
openwrt.wk.cz/trunk/mr-mips/packages/Packages.gzを膨張させます。
/ var / opkg-lists / snapshotsの利用可能なパッケージのリストを更新しました。
libcap(2.22-1)をルートにインストールしています...
openwrt.wk.cz/trunk/mr-mips/packages/libcap_2.22-1_mr-mips.ipkをダウンロードしています 。
libcapの構成。
ルートへのntpdate(4.2.6p5-1)のインストール...
openwrt.wk.cz/trunk/mr-mips/packages/ntpdate_4.2.6p5-1_mr-mips.ipkをダウンロードしています 。
ntpdateの構成。
libsodium(1.0.16-1)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
libpthread(0.9.33-104)をルートにインストールしています...
openwrt.wk.cz/trunk/mr-mips/packages/libpthread_0.9.33-104_mr-mips.ipkをダウンロードしています 。
libpthreadの構成。
libsodiumの構成。
dnscrypt-proxy-resolvers(1.9.5 + git-20171001-2d43be3-8)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
dnscrypt-proxy-resolversの構成。
dnscrypt-proxy(1.9.5-8)をルートにインストールしています...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
dnscrypt-proxyの構成。
ルートへのrng-tools(5-1)のインストール...
HOLDまたはPREFERとマークされた同じ名前を提供する複数のパッケージ(libcおよびlibc)。 最新を使用します。
rng-toolsの構成。
24 Apr 11:22:24 ntpdate [2321]:タイムサーバーの調整91.203.172.2オフセット-0.010429秒
cp:ディレクトリ「etc / config」の省略
エラーがなかった場合、OpenWRTをオーバーロードします。
root@metarouter:/tmp/files# reboot
OpenWRTを再起動した後(〜75秒)、コンソールに移動してdnscrypt-proxyが開始されたことを確認します。
root@metarouter:/# netstat -anp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5353 0.0.0.0:* LISTEN 2150/dnscrypt-proxy …
DNSCryptの動作を確認します。たとえば、何かをカットしましょう。
root@metarouter:/# nslookup ya.ru Server: 127.0.0.1 Address 1: 127.0.0.1 localhost Name: ya.ru Address 1: 2a02:6b8::2:242 ya.ru Address 2: 87.250.250.242 ya.ru
コンピューターで、ネットワークintを再起動します。設定を確認し、OpenWRTのアドレスがDNSサーバーアドレスとして受信されていることを確認します。
その場合、タスクは完了したと見なすことができます。
ソリューションのパフォーマンスは、951/2011モデルでテストされました。