< トップへ戻る

つなぎかた

※注意※

このネットワークに接続した時点で、あなたのデバイスは他のメンバーからアクセスできるようになる。そのリスクについて理解した上で、セキュリティ対策をする、性善説を信じる、などの対応をしてほしい。

対応環境

Windows、Mac、LinuxはSoftether VPN Clientを使用してそのまま接続できる。その際に管理者権限が必要。
また恐らくVPSなどでも同様の方法で接続できる。
iPhone、Androidの場合は後述する。

Windowsの場合

1. Softether VPN Clientをインストール

SoftEtherのGithubからsoftether-vpnclient-xxx.x64(86).exeをダウンロードして、"本体"(クライアント接続マネージャでない)をインストールする。この際、インストール先をデフォルトから変更しないこと

2. 証明書を作成

下記のコマンドを実行

Start-Process -FilePath "C:\Program Files\SoftEther VPN Client Developer Edition\vpncmd.exe" -ArgumentList "/tools /cmd:MakeCert2048 /cn:none /o:none /ou:none /c:none /st:none /l:none /serial:none /expires:none /savecert:server.cer /savekey:private.key"; Start-Sleep -Seconds 5; type server.cer
出力を"全て"(コメントっぽいやつも含めて)Discordの「証明書」チャンネルに貼る

しばらくすると偉い人からIDなるものを宣告されるので、控えておく

作成した証明書は後で必要になるので、どっかに保存しておく

3. 接続設定

vpn clientを起動する

仮想LANカードを追加する。名前は任意

新しい接続設定を追加する

接続設定を以下のように設定する
ホスト名はnet23j.softether.net、仮想HUB名とユーザー名は割り当てられた番号。認証方法をクライアント証明書に変更し、証明書を公開鍵→秘密鍵の順番で指定する

「ipアドレス10.0.x.xの割り当てが完了しました」と出れば成功。
(出ていなければ「接続完了」と出ていても実際は通信が帰ってくることはない。嘘。)

Linuxの場合

1. SoftEther VPN Clientをビルド

SoftetherのGithubを参考にしてビルドする

2. 証明書を作成

下記のコマンドを実行

vpncmd /tools /cmd:MakeCert2048 /cn:none /o:none /ou:none /c:none /st:none /l:none /serial:none /expires:none /savecert:server.cer /savekey:private.key && cat server.cer
出力を"全て"(コメントっぽいやつも含めて)Discordの「証明書」チャンネルに貼る

しばらくすると偉い人からIDなるものを宣告されるので、控えておく

作成した証明書は後で必要になるので、どっかに保存しておく

3. 接続設定

vpnclientを起動

sudo vpnclient start

vpncmdに入る

vpncmd localhost /client

仮想LANカードを作成

VPN Client>NicCreate vpn

接続設定を追加

VPN Client>AccountCreate net23j /server:net23j.softether.net:443 /hub:[自分のID] /username:[自分のID] /nicname:vpn

接続に使用する証明書認証を設定

VPN Client>AccountCertSet net23j /loadcert:[証明書のパス] /loadkey:[秘密鍵のパス]

VPN Serverに接続

VPN Client>AccountConnect net23j

以下のコマンドで接続状態を確認できる

VPN Client>AccountStatusGet net23j

vpncmdから抜ける

VPN Client>exit

vpncmdのその他のコマンドについてはこのページを参照

dhcpが働かない場合は手動で設定する

nmcli con mod vpn_vpn ipv4.method auto
nmcli con mod vpn_vpn ipv4.dns 10.0.0.10
nmcli con up vpn_vpn

Macの場合

Linuxを参考によしなに

ゲートウェイサーバーを建てる場合(上級)

iPhone、Androidの場合スタンドアロンで接続することはできないが、Windows、Mac、Linuxのいずれかをゲートウェイサーバー(NAT)として駆動させることで、それを経由して接続できる。他にもSoftether VPN Bridgeを建てて有線LANでローカルブリッジ接続する、あるいはお一人様用VPNサーバーを建てる、といった方法もある。 ここではLinuxをゲートウェイサーバーとして利用する方法を紹介する。webサーバーとして使用しているコンピューターを同時にゲートウェイサーバーとして運用することも可能。尚この方法では通常のインターネット通信もゲートウェイサーバーを経由することになる。性能的にはRaspberry Pi Zero 2Wでも実用上問題ないが若干速度が落ちる

Linux側でJ科ネットに接続する

/etc/sysctl.confの「net.ipv4.ip_forward」を1に変更

/etc/nftables.confを以下のように変更(適宜インデントしといて下さい)
192.168.10.0/24の部分は環境によって変わる場合がある。

table inet nat {
chain prerouting {
type nat hook prerouting priority 0;
}
chain postrouting {
type nat hook postrouting priority 0;
ip daddr 10.0.0.0/8 ip saddr 192.168.10.0/24 masquerade
}
}

nftablesのデーモンを再起動する

sudo systemctl stop nftables
sudo systemctl start nftables

同一LAN上のiPhoneまたはAndroidで、wifiのip設定で「DHCP」を「静的」に変更して、ゲートウェイサーバー(またはルーター)の欄に設定したゲートウェイサーバーのipを入力し、DNSサーバーの欄に「10.0.0.10」と入力する。

これで接続できるはず。接続できた場合は、FWを適切に設定することをお忘れなく

接続確認

以下のリンクを踏んでこのサイトが表示されれば成功
http://10.0.0.1