SoftEther VPNサーバーを構築

環境

SoftEther VPNのインストール手順

  1. Raspberry PiにOSをインストール ここではUbuntuをインストールしました。
  2. 必要なライブラリのインストール
sudo apt-get -y install cmake gcc g++ make pkgconf libncurses5-dev libssl-dev libsodium-dev libreadline-dev zlib1g-dev
  1. SoftEther VPNの機能制限を解除するためにソースコードを編集します。
git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
cd SoftEtherVPN
nano src/Cedar/Server.c

以下Server.cの編集部分です

bool SiIsEnterpriseFunctionsRestrictedOnOpenSource(CEDAR *c)
{
    char region[128];
    bool ret = false;

    // Validate arguments
    if (c == NULL) {
    {
        return false;
    }

    SiGetCurrentRegion(c, region, sizeof(region));

    if (StrCmpi(region, "JP") == 0 || StrCmpi(region, "CN") == 0)
    {
        ret = true;
    }

    return ret; // ret を false に変更
}
  1. SoftEther VPNのビルド
git submodule init && git submodule update
./configure
make -C build 
sudo make -C build install

ソースコードからビルドした場合はSystemdに対応しているので楽です。

  1. ブリッジを作成 現在は以下のような接続となっています。
graph LR
A[NIC]  --> B[et0] --> C[SoftEther VPN]

以下のようにbr0tapを追加します。

graph LR
A[NIC]  -->  D[br0] --> B[tap] --> C[SoftEther VPN]
D --> E[eth0] 

bridge-utilsをインストールします。

sudo apt-get install bridge-utils

netplanファイルを作成します。

sudo nano /etc/netplan/99-config.yaml
network:  
 version: 2  
 renderer: networkd  
 ethernets:  
  eth0:  
  dhcp4: false  
  dhcp6: false  
bridges:  
 br0:  
 interfaces: [eth0]  
 dhcp4: false  
 dhcp6: false  
 addresses: [192.168.1.xx/24]  
 routes:  
  - to: default  
  via: 192.168.1.1  
 nameservers:  
 addresses: [192.168.1.1]

有効化させます。

sudo netplan apply
  1. SoftEther VPN設定 SoftEther VPN サーバー管理マネージャを使い設定をします。ここではアドレスは192.168.1.xxになります。 管理パスワードを作成し、リモートアクセスVPNサーバーにチェックを入れ、仮想HUB名を設定します。そのほか必要な機能を設定します。 管理画面に戻り、ローカルブリッジ設定を設定します。仮想HUBは先ほど設定した値を選択し、新しいtapデバイスとのブリッジ接続を選択します。そして新しいtapデバイス名softetherにし、ローカルブリッジを追加を選択します。
  2. Desktopファイルの編集、再度読み込み
sudo systemctl edit softether-vpnserver.service
[Service]
ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_softether
sudo systemctl enable softether-vpnserver.service
sudo systemctl start softether-vpnserver.service

ルーターの設定

v6プラスはIPv4のポート開放は可能ですが条件があります。決められたポートのみ開放できます。http://192.168.1.1:8888/tで確認できます。IPv4設定を選択することで利用可能ポートが表示されています。その中から任意のポート番号を選択し、IPv4パケットフィルタ設定を選択します。エントリを選択し、以下のように設定します。

種別:通過
送信元アドレス:any
宛先アドレス:192.168.1.xx
プロトコル:TCP
送信元ポート:任意のポート番号
宛先ポート:任意のポート番号
方向:WAN=>LAN

また静的NAPT設定

対象プロトコル:TCP
公開対象ポート:任意のポート番号
宛先アドレス:192.168.1.xx
宛先ポート:任意のポート番号

と設定します。 またIPv6に対応させるため、http://192.168.1.1/詳細設定->セキュリティ設定->IPv6パケットフィルタ設定(IPoE)より

フィルタ種別:通過
通信方向:IPoE→LAN
送信元IPアドレス:すべて指定
宛先IPアドレス:すべて指定
プロトコル:すべて指定
送信元ポート:ポート番号指定  任意のポート番号-任意のポート番号
宛先ポート:ポート番号指定  任意のポート番号-任意のポート番号

と設定します。 Ubuntuの場合、ファイアウォールとしてufwを使うことをお勧めします。

インターネット規制の技術(ロシア)

200rf.comの例

www.afpbb.com

ウクライナは、ロシアのウクライナ侵攻によるロシア軍の死亡および捕虜情報を検索可能なウェブサイト「200rf.com」を立ち上げました。ただし、ロシア国内では「200rf.com」へのアクセスが規制されており、利用できません。

「Rostelecom」の回線を使用して「200rf.com」にアクセスすると、「307 Temporary Redirect」を経由して「warning.rt.ru」にリダイレクトされます。

warning.rt.ru

 Доступ ограничен
Доступ к информационному ресурсу ограничен на основании Федерального закона от 27 июля 2006 г. № 149-ФЗ «Об информации, информационных технологиях и о защите информации»

アクセス制限が適用されています。
情報資源へのアクセスは、2006年7月27日の連邦法 No. 149-FZ「情報、情報技術、および情報保護に関する法律」に基づいて制限されています。

L2TP/IPsec VPNを使用して検証したところ、コンテンツ規制を回避することが可能でした。

200rf.com

インターネット規制の技術(タイ)

タイ王国では、「Computer-Related Crime Act B.E 2550 (2007)」および「Gambling Act B.E.2478 (1935)」に基づきインターネットコンテンツの規制が実施されています。過去には、YouTubeFacebookが一時的にアクセスできない状況が発生しています。
主に規制されるコンテンツは、王室批判を含む反政府活動、ギャンブル、およびポルノです。
タイのインターネット回線やOONI(https://ooni.org/)のデータをもとに規制状況を調査しました。

タイで実施されている規制方法は、DNS偽装や透過プロキシによる通信の改ざんです。規制手法については、2022年現在もOONIによる2017年のレポート(https://ooni.org/post/thailand-internet-censorship/)と変化がないことが確認されています。

規制対象となる主要な3つのカテゴリ、「王室への不敬」・「ギャンブル」・「ポルノ」については、それぞれ規制方法が異なることが判明しました。

また、タイではインターネット規制は政府からの要請に基づいてISPが個別に実施しています。そのため、今回の調査はAISの回線を使用しましたが、プロバイダーによって状況が異なることがあります。

 

「王室への不敬」に関するコンテンツは、「302 Moved Temporarily」を用いて、「http://103.208.24.21」へリダイレクトされます(例:Daily Mail)。



「ギャンブル」は規制が確認できませんでした。
「ポルノ」は「302 Moved Temporarily」により「http://125.26.170.3」へ転送されます。

いずれのケースも、ブロックリスト方式による通信の改ざんが行われており、HTTPSやHTTPといったプロトコルサブドメインの違いによって規制が適用されない場合がありました。また、プリロードHSTSのサイトでは、プロキシでの通信改ざん時に接続設定が矛盾するため、ブラウザ側がリダイレクトする前にアクセスができなくなります(no112.orgの例:https://hstspreload.org/?domain=no112.org)。そのため、政府によって管理される可能性のあるウェブサイトは、HSTSを設定することをお勧めします。

なお、DNS偽装に関しては確認されませんでした(ただし、2023年1月15日にNT回線の一部でDNS偽装が行われていることを確認しました)。

 

In Thailand, internet content regulation is implemented based on the "Computer-Related Crime Act B.E 2550 (2007)" and the "Gambling Act B.E.2478 (1935)." In the past, there have been instances where access to platforms like YouTube and Facebook was temporarily blocked. The primary content targeted for regulation includes anti-government activities such as criticism of the royal family, gambling, and pornography. We have investigated the regulatory situation in Thailand using data from the country's internet connections and OONI (https://ooni.org/).

The regulatory methods employed in Thailand involve DNS tampering and traffic manipulation using transparent proxies. As of 2022, there have been no changes in these methods since the 2017 OONI report (https://ooni.org/post/thailand-internet-censorship/).

It was discovered that the main three categories subject to regulation - "disrespect to the royal family," "gambling," and "pornography" - each have distinct regulatory methods.

Furthermore, in Thailand, internet regulation is carried out individually by ISPs based on requests from the government. Therefore, while our research was conducted using AIS's network, the situation may vary depending on the provider.

In each case, communication tampering was carried out using a blocklist method, and depending on the differences in protocols such as HTTPS and HTTP or subdomains, regulations may not be applied. Additionally, on sites with preloaded HSTS, access becomes impossible before the browser redirects due to contradictory connection settings during communication tampering with a proxy (example of no112.org: https://hstspreload.org/?domain=no112.org). Therefore, it is recommended that websites with potential government oversight implement HSTS.

 

タイのインターネット規制を迂回する(Windows編)

タイ王国では「Computer-Related Crime Act B.E 2550 (2007)」及び「Gambling Act B.E.2478 (1935)」によりインターネットは規制されています。

よって不敬・不道徳なサイトにはアクセスできません。

以前 の記事ではiOSでの迂回方法を説明しました。ここではWindowsでの場合について説明します。

VPN Gateでアドレスを入手する

まずは「VPN Gate」サイトで「VPN」のアドレスを入手します。

https://www.vpngate.net/ja/

にアクセスします。

ここでL2TP/IPsec」にチェックマークが付いているサーバを選び、「~opengw.net」となっているアドレスを選びます。後ほど入力します。

一般的には上部にあるサーバほど安定しているのでお勧めします。連続接続期間が長いサーバを選びましょう。

 

VPN」の設定方法

初回だけです

Windows 11の場合

1.「スタート」から「設定」を開きます

2.「ネットワークとインターネット」の「VPN」を選択します

3.「VPNを追加」を選択します

4.「VPNプロバイダー」欄の「Windows(ビルトイン)」を選択します

5.「VPN」の接続情報を入力します

「接続名」には任意の文字を入力します。ここでは「VPN Gate」としました。

「サーバー名またはアドレス」には先ほど入手した「VPN Gate」のアドレスを入力します。ここでは「public-vpn-103.opengw.net」と入力しています。(アドレスは変更される可能性があるので「VPN Gate」のサイトで最新のアドレスを入手してください。)

VPNの種類」は「事前共有キーを使ったL2TP/IPsec」を選択します。

「事前共有キー」には小文字で「vpn」と入力します。

「ユーザー名」には小文字で「vpn」と入力します。

「パスワード」には小文字で「vpn」と入力します。

「保存」を選択します。

6.「VPN」の接続を試します

接続を選択します。

「接続済み」となれば設定は完了です。

以後「接続」を選択することで「VPN」に接続することができます。

 

 

タイのインターネット規制を迂回する(iOS編)

タイ王国では「Computer-Related Crime Act B.E 2550 (2007)」及び「Gambling Act B.E.2478 (1935)」によりインターネットは規制されています。

よって不敬・不道徳なサイトにはアクセスできません。

ブロックしたことを通知する画面(タイAISのSIMカードでアクセス 2022年9月)

This content has been suspended

due to its illegal acts in accordance with

the Computer-related Crime Act 2007 (B.E. 2550) and additional amendments and/or the Gambling Act 1935 (B.E. 2478) and additional amendments

MINISTRY OF DIGITAL ECONOMY AND SOCIETY

コンテンツは規制されました

コンピュータ関連犯罪法2007およびにギャンブル法1935に基づく違法行為により、このコンテンツは規制されました

デジタル経済社会省

このインターネットコンテンツ規制を迂回する方法はいくつかあります。今回は無料かつ安全・簡単な方法を紹介します。

VPN」という仕組みと筑波大学による「VPN Gate」というサービスを組み合わせることで検閲を迂回します。iPhoneWindows PCではアプリを追加する必要はありません。

VPN Gateでアドレスを入手する

まずは「VPN Gate」サイトで「VPN」のアドレスを入手します。

https://www.vpngate.net/ja/

にアクセスします。

ここでL2TP/IPsec」にチェックマークが付いているサーバを選び、「~opengw.net」となっているアドレスを選びます。

ここでは「public-vpn-188-opengw.net」を選びました。後ほど入力するのでコピーしておきます。

一般的には上部にあるサーバほど安定しているのでお勧めします。連続接続期間が長いサーバを選びましょう。

VPN」の設定方法

初回だけです

iPhoneの場合(iOS 16)

1.「設定」を開きます



2.「一般」を選択します

3.「VPNとデバイス設定」を選択します

4.「VPN」を選択します

5.「VPN構成を追加」を選択します

6.「タイプ    IKEv2」を選択します

7.「タイプ」画面で「L2TP」を選択し、「構成を追加」画面に戻ります

8.VPNの設定をします

「タイプ」が「L2TP」になっているか確認してください。それ以外の場合は手順6, 7を行ってください。

ここで「説明」には任意の文字を入力してください。ここでは「VPN Gate」としました。

「サーバ」には先ほど入手した「VPN Gate」のアドレスを入力します。ここでは「public-vpn-188.opengw.net」と入力しています。(アドレスは変更される可能性があるので「VPN Gate」のサイトで最新のアドレスを入手してください。)

「アカウント」には小文字で「vpn」と入力します。

「パスワード」には小文字で「vpn」と入力します。

「シークレット」には小文字で「vpn」と入力します。

すべて入力し終えたら「完了」を選択します。

9.「VPN」の接続を試します

先ほど設定したVPN設定にチェックが付いているか確認し、「状況    未接続」のトグルをオンにします。ここで「接続済み」と表示されれば設定は完了です。設定は保存されたので現在「VPN」が必要なければトグルをオフにして構いません。

また設定後は「設定」画面に「VPN」という項目が現れ、ここで「VPN」をオン/オフできます。

うまくいかない場合は下記をご覧ください。

初回設定後は設定画面の「VPN」トグルから「VPN」のオン/オフができます。

うまくいかない場合

VPN接続    認証に失敗しました」となった場合

入力の間違えが考えられます。VPN設定の「i」を選択します。

「編集」を選択することで上記の手順8の画面となるので入力に間違えがないか確認してください。