MikroTik&OpenWRT&DNSCrypt

このクエストのソリューションはこの記事に触発されています



この記事は、MikroTikが製造したホームルーターを使用するユーザーを対象としています。したがって、コンパイルとアセンブリに直接関連する瞬間は省略され、MikroTikの例は写真にあります。



つまり、問題のステートメントは次のとおりです。MetaROUTERで仮想マシン(ゲスト)としてOpenWRTの簡易バージョンを作成し、外部DNSサーバーとの暗号化されたデータ交換に使用されるDNS + DNSCryptバンドルを既に作成します。



DNSCryptサポート付きのソースコードLEDE(OpenWRT)を使用してこの問題を標準的な方法で解決するために、Mikrotik MetaROUTERの下でFreeBSDKDEにパッチを適用することはできず、パッチのコンパイルまたはコンパイルに失敗したか、ビルドが不安定になります、IMHO。



連続近似の方法で問題を解決することができました-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」の省略



エラーがなかった場合、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モデルでテストされました。



All Articles