ウクライナでブロックをバイパスするためにルーターでVPN Zaboronaを使用する機能について

みなさんこんにちは。



以前、ウクライナのサイトをブロック すること 、およびそれをバイパスする方法 、および実際にこの問題を解決するための優れたZaborona.Helpリソースについて書かれていました( zhovner敬意と感謝!)



以下は、ウクライナで働く他のユーザーに役立つかもしれない個人的な実際の経験です。 残りはすべて、理論的な側面にのみ関心があるかもしれません。



そのため、ルーターを介して機能する小さなネットワークがあります。 私の特定の例では、Asusルーターは最新バージョンのカスタムMerl​​inファームウェアで実行されています。 このルーターの設定の説明はここに示されており、2018年の開始まで完全に機能していました:)



実際、多くのプロバイダーが新しいタイプのブロックを組織しました-現在、DNSレベルでは、内部リソースへの偽の解決が組織されています-合計pingパスで、リソースは開かれていません。 最も高度に構成されたDNS。これにより、内部ネットワークでのみ偽の解決が行われます。次に例を示します。



外部クエリの場合:

$ nslookup www.yandex.ru 194.50.85.5

DNS:dns-5.la.net.ua

住所:194.50.85.5



www.YANDEX.ru

アドレス:2a02:6b8:a :: a

77.88.55.50

5.255.255.77

77.88.55.60

5.255.255.50
ネットワーク内のクエリの場合:

$ nslookup www.yandex.ru 194.50.85.5

DNS:dns-5.la.net.ua

住所:194.50.85.5



www.yandex.ru

住所: 194.50.85.44
Asusルーター用のZaborona.Helpの元の指示では、追加のDNS設定は示されていません( Merlinでも元のファームウェアでもありません) が、同じDD WRT用のものがあります。 同時に、Windowsクライアントで実行する場合の問題を解決するオプションblock-outside-dns設定は、* nixおよびルーターファームウェアでは明らかに動作しません。



明らかな解決策は、プロバイダーのDNSを単にGoogleの(8.8.8.8、8.8.4.4)またはZaboronaが提案したものに置き換えることです。ヘルプ自体(74.82.42.42、77.88.8.8)問題、または完全に動作を停止します。



AsusのMerlinファームウェア(および場合によってはチェックしませんでした)には、「Accept DNS Configuration」というVPNクライアントを構成するオプションがあります。 著者の考えによると、

無効= VPN提供のDNSサーバーによって送信されたDNSサーバーは無視されます

Relaxed = VPNが提供するDNSサーバーによって送信されたDNSサーバーは、現在使用されているDNSサーバーのリストの先頭に追加されます。

Strict = VPNが提供するDNSサーバーによって送信されたDNSサーバーは、現在使用されているDNSサーバーのリストの先頭に追加され、順番に使用されます(既存のDNSサーバーは、VPNが提供するDNSサーバーが応答しない場合にのみ使用されます)

Exclusive = VPNが提供するDNSサーバーのみが使用されます
-問題の解決策全体が設定を「厳密」に切り替えることであるように見えます。この場合、VPNからのDNSが最優先され、VPNからの回答がない場合にのみプロバイダーDNSが使用されます。イントラネットリソース。 おそらくこれはTomatoで機能しますが、現時点では、Merlinの場合、このオプションはリダイレクトトラフィックのポリシー(リダイレクトインターネットトラフィック-ポリシールール)の割り当てに対してのみ実際に機能します。



わかりました、私は二重の仕事をしようとしました(現在、ルーティングはZaborona.Helpサーバーによって自動的に構成されていますが、大丈夫です-ルーターにも書き込みます)、簡単なスクリプトを使用しました:



#!/bin/sh # $1 is the VPN Client instance # Required # $2 is the LAN source/subnet # Optional - default is 'all' if [ -z "$1" ];then logger -st "($(basename $0))" $$ "Missing VPN Client arg1" exit 999 fi SRC='all' if [ ! -z "$2" ];then SRC=$2 fi for IP in $(curl https://zaborona.help/ips.txt -s | grep -v ":" | grep -v "^#" | grep .) do ip rule del from $SRC to $IP table ovpnc$1 prio 8000 2> /dev/null > /dev/null ip rule add from $SRC to $IP table ovpnc$1 prio 8000 done
      
      





コードは、OpenVPNクライアント接続イベント時にAccept DNS Configuration = Strictでルーター上で自動的に起動されました。 この場合、すべてが機能します。



二重の感覚があります-問題は松葉杖を介して解決されます:



  1. 何らかの理由で、MerlinファームウェアのAccept DNS Configurationオプションは理解できない方法で動作します。リダイレクトを設定しないと、役に立たなくなります。
  2. zaborona.help/ips.txtは常に関連があると信じたいです。


PS Zaborona.Helpの管理者は昨日、設定に関する問題を通知されましたが、応答はなく、何も変更されていません。 Merlinファームウェアの作成者にもAccept DNS Configurationの問題が通知されており、反応はありません。

PPS PMで私にナンセンスを書くのをやめ、カルマでマイナスで脅かすなど、政治化された読者への大きな要求。 ITに関係のない個別のリソースがあります。 ありがとう



All Articles