ウクライナのロックのスマートバイパス

画像

この記事では、無料のZaborona.Helpサービスを設定してウクライナのサイトブロックをバイパスする方法について説明します。



構成機能は、VPNを介してブロックされたネットワークへのトラフィックのみがルーティングされ、他のサイトが直接機能することです。 Windows、Linux、iOS、MacOS、Androidのすべての主要プラットフォームで動作します。



VPNはインターネットの速度に影響を与えず、他のサイトのIPを置き換えたり、オンラインゲーム、音声トラフィックなどの作業を妨げたりしません。



一般的なロックバイパスツールの課題





設定プロセスはOpenVPNを例として説明されており、数分で簡単に繰り返すことができます。



クライアント側の設定は単一の構成ファイルを使用して実行され、アドレスとパスワードの手動入力を必要としません。



サーバーの選択



VPNのサーバーは、プロバイダーとのネットワークレベルでの良好な接続性を備えている必要があります。これにより、遅延が最小限に抑えられ、このVPNを介してアクセスする予定のリソースも最小限に抑えられます。 米国、中国、日本のデータセンターは最良の選択ではありません。



Zaborona.helpサービスで選択したいくつかのオプションを次に示します。






Linode.comは、優れたチャネルを備えたクールで信頼性の高いホスティングです。



長所:





短所:








Scaleway.com-トラフィックが無制限の安価なホスティング。



長所:





短所:








信頼性のために、両方のプロバイダーの複数のサーバーが同時に使用されます。 バランシングは、DNSレベルで基本的に行われます。



vpn.zaborona.helpクライアントが接続するサービスドメインには、一度にすべてのサーバーに向けられた複数のAレコードがあります。 これにより、サーバー間でクライアントを均等に汚すことができます。 最小TTLレコードを使用すると、一般的なリストから問題のサーバーをすばやく削除し、クライアントをリダイレクトできます。



ブロックされたサービスのリスト



ウクライナ大統領133/2017から、ブロックの対象となる企業のリストが知られています。 このリストを知っていれば、これらの会社に属するすべてのIP範囲のリストを作成できます。



これにbgp.he.netサービスを使用できます

次に、Yandex BGPアナウンスがbgp.he.net/AS13238#_prefixesのように見えるものを示します。

すべての必要な範囲を収集します。 隣接するネットワークを1つの帯域で結合して、クライアント上のルートの総数を減らします。



出力では、IPv6範囲を考慮せずに次のリストを取得します。



Zaborona VPNサーバー経由でルーティングされるネットワークリスト
#Vkontakte

-87.240.128.0/18

93.186.224.0/20

95.142.192.0/20

95.213.0.0/18

185.29.130.0/24

185.32.248.0/22



2a00:bdc0 :: / 36

2a00:bdc0:e003 :: / 48

2a00:bdc0:e004 :: / 46

2a00:bdc0:e008 :: / 48

2a00:bdc0:f000 :: / 36



#ヤンデックス

-5.45.192.0/18

5.255.192.0/18

37.9.64.0/18

37.140.128.0/18

77.75.152.0/22

77.75.159.0/24

77.88.0.0/18

84.201.128.0/18

87.250.224.0/19

93.158.128.0/18

95.108.128.0/17

100.43.64.0/19

109.235.160.0/21

130.193.32.0/19

141.8.128.0/18

178.154.128.0/17

185.32.185.0/24

185.32.186.0/24

185.71.76.0/22

199.21.96.0/22

199.36.240.0/22

213.180.192.0/19



2001:678:384 :: / 48

2620:10f:d000 :: / 44

2a02:6b8 :: / 32

2a02:5180 :: / 32



#Mail.ru

-5.61.16.0/21

5.61.232.0/21

79.137.157.0/24

79.137.183.0/24

94.100.176.0/20

95.163.32.0/19

95.163.248.0/21

128.140.168.0/21

178.22.88.0/21

178.237.16.0/20

185.5.136.0/22

185.16.148.0/22

185.16.244.0/22

188.93.56.0/21

194.186.63.0/24

195.211.20.0/22

195.218.168.0/24

217.20.144.0/20

217.69.128.0/20

178.22.91.0/24

178.22.92.0/23

185.16.244.0/23

195.211.128.0/22

208.87.94.0/24



2a00:1148 :: / 32

2a00:b4c0 :: / 32



#カスペルスキー

-77.74.176.0/22

77.74.181.0/24

77.74.183.0/24

93.159.228.0/22

185.54.220.0/23

185.85.12.0/24

185.85.14.0/23

77.74.176.0/21

91.103.64.0/21

93.159.224.0/21



2a03:2480 :: / 33



このリストはめったに変更されないため、必要に応じて更新することは難しくありません。



OpenVPNを構成する



サーバーはOpenVPN 2.4を使用します。 このバージョンを使用することをお勧めします。 Ubuntu LTSリポジトリにはOpenVPNバージョン2.3があるため、公式のopenvpnリポジトリを接続することで必要なバージョンをインストールできます



証明書の問題



証明書を生成する最も簡単な方法は、 easy-rsaユーティリティを使用することです。 ValdikSSからのこのフォークにより、OpenVPNとIpsecの両方に同時に適した証明書を生成できます



easy-rsaによるキー生成
$ git clone https://github.com/ValdikSS/easy-rsa-ipsec.git
$ cd easy-rsa-ipsec/easyrsa3
$ ./easyrsa init-pki

init-pki complete; you may now create a CA or requests.

$ ./easyrsa build-ca nopass
Generating a 2048 bit RSA private key
…
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:Cool VPN Server
…

$ ./easyrsa build-server-full zaborona.help nopass
Generating a 2048 bit RSA private key
…
Write out database with 1 new entries
Data Base Updated

#    public   .    .
$ ./easyrsa build-client-full public nopass    
Generating a 2048 bit RSA private key
…
Write out database with 1 new entries
Data Base Updated

      
      







:



:



easyrsa3/pki/ca.crt

easyrsa3/pki/issued/zaborona.help.crt

easyrsa3/pki/private/zaborona.help.key



:



easyrsa3/pki/ca.crt

easyrsa3/pki/issued/public.crt

easyrsa3/pki/private/public.key





. VPN . - 0.0.0.0 .



DNS , , , VPN.



OpenVPN
mode server
proto tcp

dev-type tun #   tun,      L2 
dev zaborona #  tun   

topology subnet
server 192.168.224.0 255.255.252.0 #  IP  .   ,      
server-ipv6 2a01:7e01:e001:77:8000::/65 #  IPv6 . ,       ipv6   

push "dhcp-option DNS 8.8.8.8" # DNS 
push "route 8.8.8.8"  #      VPN

push "dhcp-option DNS 74.82.42.42" # HE.net DNS    
push "route 74.82.42.42" # Route to HE.net DNS

txqueuelen 250
keepalive 300 900
persist-tun
persist-key

cipher AES-128-CBC
ncp-ciphers AES-128-GCM

user nobody
duplicate-cn

# log logs/openvpn.log
#status logs/status.log 30

ca ca.crt
cert zaborona.help.crt
key zaborona.help.key
dh dh2048.pem


# Routes

# Yandex network
push "route 5.45.192.0 255.255.192.0"
push "route 5.255.192.0 255.255.192.0"
push "route 37.9.64.0 255.255.192.0"
push "route 37.140.128.0 255.255.192.0"
push "route 77.88.0.0 255.255.192.0"
push "route 84.201.128.0 255.255.192.0"
push "route 87.250.224.0 255.255.224.0"
push "route 93.158.128.0 255.255.192.0"
push "route 95.108.128.0 255.255.128.0"
push "route 100.43.64.0 255.255.224.0"
push "route 130.193.32.0 255.255.224.0"
push "route 141.8.128.0 255.255.192.0"
push "route 178.154.128.0 255.255.128.0"
push "route 199.21.96.0 255.255.252.0"
push "route 199.36.240.0 255.255.252.0"
push "route 213.180.192.0 255.255.224.0"

push "route-ipv6 2620:10f:d000::/44"
push "route-ipv6 2a02:6b8::/32"

# Mail.ru network
push "route 5.61.16.0 255.255.248.0"
push "route 5.61.232.0 255.255.248.0"
push "route 79.137.157.0 255.255.255.0"
push "route 79.137.183.0 255.255.255.0"
push "route 94.100.176.0 255.255.240.0"
push "route 95.163.32.0 255.255.224.0"
push "route 95.163.248.0 255.255.248.0"
push "route 128.140.168.0 255.255.248.0"
push "route 178.22.88.0 255.255.248.0"
push "route 178.237.16.0 255.255.240.0"
push "route 185.5.136.0 255.255.252.0"
push "route 185.16.148.0 255.255.252.0"
push "route 185.16.244.0 255.255.252.0"
push "route 188.93.56.0 255.255.248.0"
push "route 194.186.63.0 255.255.255.0"
push "route 195.211.20.0 255.255.252.0"
push "route 195.218.168.0 255.255.255.0"
push "route 217.20.144.0 255.255.240.0"
push "route 217.69.128.0 255.255.240.0"

push "route-ipv6 2a00:1148::/32"
push "route-ipv6 2a00:a300::/32"
push "route-ipv6 2a00:b4c0::/32"

# VK.com network
push "route 87.240.128.0 255.255.192.0"
push "route 93.186.224.0 255.255.240.0"
push "route 95.142.192.0 255.255.240.0"
push "route 95.213.0.0 255.255.192.0"
push "route 185.32.248.0 255.255.252.0"

push "route-ipv6 2a00:bdc0::/36"
push "route-ipv6 2a00:bdc0:e006::/48"

# Kaspersky network
push "route 77.74.176.0 255.255.252.0"
push "route 77.74.181.0 255.255.255.0"
push "route 77.74.183.0 255.255.255.0"
push "route 93.159.228.0 255.255.252.0"
push "route 185.54.220.0 255.255.254.0"
push "route 185.85.12.0 255.255.255.0"
push "route 185.85.14.0 255.255.254.0"

      
      







/etc/openvpn



zaborona.conf —

ca.crt —

zaborona.help.crt —

zaborona.help.key —









, , .



.ovpn
nobind
client

#  .       DNS.
remote vpn.zaborona.help

remote-cert-tls server
cipher AES-128-CBC
setenv opt ncp-ciphers AES-128-GCM
setenv opt block-outside-dns
dev tun
proto tcp

<ca>
  easyrsa3/pki/ca.crt
</ca>

<cert>
  easyrsa3/pki/issued/public.crt
</cert>

<key>
  easyrsa3/pki/private/public.key 
</key>

      
      









: OpenVPN .



c :



Windows

MacOS

iOS

Android



, , Github. - , pull request-.



, VPN , . , .



All Articles