以前、ウクライナのサイトをブロック すること 、およびそれをバイパスする方法 、および実際にこの問題を解決するための優れたZaborona.Helpリソースについて書かれていました( zhovner敬意と感謝!)
以下は、ウクライナで働く他のユーザーに役立つかもしれない個人的な実際の経験です。 残りはすべて、理論的な側面にのみ関心があるかもしれません。
そのため、ルーターを介して機能する小さなネットワークがあります。 私の特定の例では、Asusルーターは最新バージョンのカスタムMerlinファームウェアで実行されています。 このルーターの設定の説明はここに示されており、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.5Asusルーター用のZaborona.Helpの元の指示では、追加のDNS設定は示されていません( Merlinでも元のファームウェアでもありません) が、同じDD WRT用のものがあります。 同時に、Windowsクライアントで実行する場合の問題を解決するオプションblock-outside-dns設定は、* nixおよびルーターファームウェアでは明らかに動作しません。
DNS:dns-5.la.net.ua
住所:194.50.85.5
www.yandex.ru
住所: 194.50.85.44
明らかな解決策は、プロバイダーの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サーバーは無視されます-問題の解決策全体が設定を「厳密」に切り替えることであるように見えます。この場合、VPNからのDNSが最優先され、VPNからの回答がない場合にのみプロバイダーDNSが使用されます。イントラネットリソース。 おそらくこれはTomatoで機能しますが、現時点では、Merlinの場合、このオプションはリダイレクトトラフィックのポリシー(リダイレクトインターネットトラフィック-ポリシールール)の割り当てに対してのみ実際に機能します。
Relaxed = VPNが提供するDNSサーバーによって送信されたDNSサーバーは、現在使用されているDNSサーバーのリストの先頭に追加されます。
Strict = VPNが提供するDNSサーバーによって送信されたDNSサーバーは、現在使用されているDNSサーバーのリストの先頭に追加され、順番に使用されます(既存のDNSサーバーは、VPNが提供するDNSサーバーが応答しない場合にのみ使用されます)
Exclusive = VPNが提供するDNSサーバーのみが使用されます
わかりました、私は二重の仕事をしようとしました(現在、ルーティングは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でルーター上で自動的に起動されました。 この場合、すべてが機能します。
二重の感覚があります-問題は松葉杖を介して解決されます:
- 何らかの理由で、MerlinファームウェアのAccept DNS Configurationオプションは理解できない方法で動作します。リダイレクトを設定しないと、役に立たなくなります。
- zaborona.help/ips.txtは常に関連があると信じたいです。
PS Zaborona.Helpの管理者は昨日、設定に関する問題を通知されましたが、応答はなく、何も変更されていません。 Merlinファームウェアの作成者にもAccept DNS Configurationの問題が通知されており、反応はありません。
PPS PMで私にナンセンスを書くのをやめ、カルマでマイナスで脅かすなど、政治化された読者への大きな要求。 ITに関係のない個別のリソースがあります。 ありがとう