概要
『Tinc VPNで作る簡易的なVirtual Private Network』の分割記事
3/5 構築編(4) 子ノードの構築 Windows編
各記事
- Tinc VPNで作る簡易的なVirtual Private Network 1/5 (概要編)
- Tinc VPNで作る簡易的なVirtual Private Network 2/5 (構築編(1) ルートノードの構築 - Linux編)
- Tinc VPNで作る簡易的なVirtual Private Network 3/5 (構築編(2) 子ノードの構築 - Windows編)
- Tinc VPNで作る簡易的なVirtual Private Network 4/5 (構築編(3) 子ノードの構築 - Linux編)
- Tinc VPNで作る簡易的なVirtual Private Network 5/5 (構築編(4) 子ノードの構築 - Android編)
構築
構築(0)トポロジー (共通記載)
以下のトポロジーで記載を行う。
- ネットワーク名 - myvpn #設定ファイル群を置くフォルダ名になる
- VPNのIPセグメント - 192.168.15.0/24
Node | Name | OS | Architecture | Mode | Global IP port Domain |
VPN IP |
---|---|---|---|---|---|---|
root | server | CentOS 7 | x68_64 | router | available 10655 mydomain.org |
192.168.15.1 |
child | client1 | Windows 10 | x64 | router | 192.168.15.2 | |
child | client2 | CentOS 7 | armv7 (Raspberry Pi3) |
router | 192.168.15.3 | |
child | client3 | Android | arm | router | 192.168.15.4 |
構築(1) ルートノードの構築 - Linux
⇒ Tinc VPNで作る簡易的なVirtual Private Network 2/5 (構築編(1) ルートノードの構築 - Linux編)
構築(2) 子ノードの構築 - Windows ★本稿
- Windowsはほぼ公式のインストール例どおり
Tinc VPN - Example - installing tinc on Windows 2000/XP/7/8
手順(0) ファイル構成
[C:\Program Files (x86)\tinc\]
├ [tinc]
│ └ [myvpn]
│ ├ [hosts]
│ │ ├ server
│ │ └ client1
│ ├ rsa_key.priv
│ └ tinc.conf
手順(1) TincVPNのインストール
- ダウンロード ページからインストーラーをダウンロードしてインストールする。
- Tinc VPN - download
https://www.tinc-vpn.org/download/
手順(2) tinc.conf作成
- フォルダ作成:C:\Program Files (x86)\tinc\myvpn
- ファイル作成:C:\Program Files (x86)\tinc\myvpn\tinc.conf
tinc.conf
#tinc.conf
Name = client1
# 利用するNIC名称
# (この後インストールするTAPドライバでの仮想NICにつける名前を設定する)
Interface = MyvpnNic
# 接続先
ConnectTo = server
AutoConnect = yes
Mode = router
手順(3) 自身のホストファイルを作成
hostsフォルダ内に、
tinc.confのNameで指定した名前と同じ名前でファイルを作成する。
- フォルダ作成:C:\Program Files (x86)\tinc\myvpn\hosts
- ファイル作成:C:\Program Files (x86)\tinc\myvpn\hosts\client1
client1
Subnet = 192.168.15.2/32
Port = 0
手順(4) キーの作成
tincd -n myvpn -K4096
- 秘密鍵が生成されているのを確認する。
- ファイル:C:\Program Files (x86)\tinc\myvpn\rsa_key.priv
- 公開鍵が追記された自身のホスト ファイルは後で他のノードに配布する。
- ファイル:C:\Program Files (x86)\tinc\myvpn\hosts\client1
手順(5) ホスト情報の交換
serverとclient1、それぞれのhostsに入っている自身の情報をお互いに交換する。
-
/etc/tinc/myvpn/hosts/server
=>C:\Program Files (x86)\tinc\myvpn\hosts\server
(client1にとって接続先情報) -
C:\Program Files (x86)\tinc\myvpn\hosts\client1
=>/etc/tinc/myvpn/hosts/client1
(Serverにとっては接続元情報)
※サーバーの接続先情報を持っていても、サーバーに公開鍵が登録されていないと接続は拒否される。
手順(6) TAPドライバのインストール
- Tincと一緒に、TAP-Win32のインストーラーがインストールされている。
- C:\Program Files (x86)\tinc\tap-win32
- C:\Program Files (x86)\tinc\tap-win64
- 『addtap.bat』を実行してインストール(追加)を行う。
※インストールをするのは64bit版で特に問題ない
手順(7) 仮想NICの設定
- 『コントロール パネル\ネットワークとインターネット\ネットワーク接続』 を開く
- 手順(5)でインストールしたNICの名称を変更する
- MyvpnNic
- 仮想NICのプロパティを開き、VPN上でのIPの設定を行う
- IPアドレス :192.168.15.2
- サブネット マスク:255.255.255.0
- ほかはブランクでOK
- 詳細設定を開きメトリック値を設定する
- 自動メトリック :チェックを外す
- インターネット メトリック:5000
※ VPN側の仮想NICのメトリック値を重くすることで、物理ネットワークを優先しやすくする。
手順(8) 起動テスト
tincd.exe -n myvpn -d3 -D
手順(9) サービス作成・登録・実行
# サービスにインストール
tinc.exe -n myvpn
# 起動
net start tinc.myvpn
# 停止
net stop tinc.myvpn
※ 自動起動状態など詳細はservice.mscで確認する。
構築(3) 子ノードの構築 - Linux]
⇒ Tinc VPNで作る簡易的なVirtual Private Network 4/5 (構築編(3) 子ノードの構築 - Linux編)
構築(4) 子ノードの構築 - Android
⇒ Tinc VPNで作る簡易的なVirtual Private Network 5/5 (構築編(4) 子ノードの構築 - Android編)
謝辞
- TincVPN (official)
https://www.tinc-vpn.org/ - Tinc 1.0 documentation
https://www.tinc-vpn.org/documentation/ - Tinc 1.0 documentation - tincd(8)
https://www.tinc-vpn.org/documentation/tincd.8 - Tinc 1.0 documentation - tinc.conf(5)
https://www.tinc-vpn.org/documentation/tinc.conf.5 - TincApp (android client)
https://tincapp.pacien.org/ - Tinc - ArchWiki
https://wiki.archlinux.org/index.php/Tinc - How to automatically start tinc on Fedora 17 | John's 'blog'
https://leesjohn.wordpress.com/2013/03/13/how-to-automatically-start-tinc-on-fedora-17/