遠隔操作

2024-04-27 (土) 06:40:57

OpenVPNのインストール

こちらから

openvpn最新版をインストール。

証明書、秘密鍵の作成(easy-rsa)はUbuntuのOpenVPNで行う。

Ubuntu 22.04で OpenVPNサーバを構築する

$ apt install openvpn easy-rsa
$ make-cadir ~/openvpn-ca
$ cd ~/openvpn-ca
$ nano vars

varsファイルの以下の値を正しく編集する

set_var EASYRSA_REQ_COUNTRY     "JP"
set_var EASYRSA_REQ_PROVINCE    "Tokyo"
set_var EASYRSA_REQ_CITY        "Setagaya-Ku"
set_var EASYRSA_REQ_ORG         "OpenVPNServer"
set_var EASYRSA_REQ_EMAIL       "me@example.net"
set_var EASYRSA_REQ_OU          "My Organizational Unit"
$ ./easyrsa init-pki
$ ./easyrsa build-ca
Enter New CA Key Passphrase:test
Re-Enter New CA Key Passphrase:test 
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:OpenvpnSV
CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/etc/openvpn/easy-rsa/pki/ca.crt

クライアント証明書作成

$ ./easyrsa build-client-full client nopass

サーバー証明書作成

$ ./easyrsa build-server-full server nopass

dhパラメータの作成

$ ./easyrsa gen-dh

/openvpn-ca/pki/ca.crtを,検証用のCAとして,サーバー・クライアント両方に登録

/openvpn-ca/pki/dh.pemを,TLSのパラメータとして,サーバーに登録

/openvpn-ca/pki/issued/client.crtを,クライアント側の証明書として,クライアントに登録

/openvpn-ca/pki/private/client.keyを,クライアント側の証明書の秘密鍵として,クライアントに登録

/openvpn-ca/pki/issued/server.crtを,サーバー側の証明書として,サーバーに登録

/openvpn-ca/pki/private/server.keyを,サーバー側の証明書の秘密鍵として,サーバーに登録

ta.keyの作成

$  sudo openvpn --genkey secret /etc/openvpn/ta.key

サーバー側・クライアント側ともに登録

作成した証明書・秘密鍵をwindowsマシンにコピーする。コピー場所はサーバー、クライアントともに、

C:\Program Files\OpenVPN\config

サーバーにコピーするファイルは

ca.crt
dh.pem
server.crt
server.key
ta.key

クライアントにコピーするファイルは

ca.crt
client.crt
client.key
ta.key

サーバー側設定ファイル作成

C:\Program Files\OpenVPN\config\server.ovpn

proto udp
dev tun
topology subnet
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
port 1194
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "route 10.8.0.0 255.255.255.0"
keepalive 10 120
persist-key
persist-tun
verb 3
explict-exit-notify 1

既存のネットワークが192.168.0.Xの場合。10.8.0.0 255.255.255.0はVPN側の仮想ネットワークアドレス。

クライアント側設定ファイル作成

C:\Program Files\OpenVPN\config\client.ovpn

client
dev tun
proto udp
remote xx.xx.xx.xx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1

verb 3

xx.xx.xx.xxはルーターのグローバルIPアドレス

ルーティング設定

これをしないと繋がらない

(1)ルータのudpポート1194を解放

バッファローのBBR-4HGの場合、ネットワーク設定→アドレス変換で設定。LAN側IPアドレスをたとえば192.168.0.30(VPNサーバーのIPアドレス)にする。

(2)ルーターの ルーティング設定

ネットワーク設定→経路情報で設定。
ネトワークアドレス 10.8.0.0
サブネットマスク 255.255.255.0
ゲートウェイ 192.168.0.30
とする。

もう一つ大事な設定

(3)Routing and Remote Access サービスの開始

サーバー側のコントロールパネル→管理ツール→サービスを開き、Routing and Remote Access を右クリックしてプロパティを表示、スタートアップの種類を自動に変更して開始をクリックする。

デスクトップのOpenVPN GUIアイコンをダブルクリック、タスクバーに現れたアイコンを右クリック接続を選択する。

これでもVPNサーバー以外のPCに接続できない場合、

ルーターのネットワーク設定でICMPリダイレクト送信を「使用する」にする。

Ubuntu PCに接続するにはネットワークマネージャーを起動。接続を編集、IPV4設定タブからルートを設定。アドレス10.8.0.0、ネットマスク255.255.255.0、ゲートウェイ192.168.0.30、メトリック 1を追加する。

windowsクライアントから接続してみる

クライアントにjava-clientをインストール。

vpn接続した状態でjava-clientを起動、ORCAサーバーのプライベートIPアドレス(例えば192.168.0.34)を入力するとORCAを操作できるようになる。

ubuntuをクライアントにする

http://qiita.com/muniere/items/02d178b7e25abf2430a5

$ sudo apt-get install panda-client2

glclient2をインストールしてから、

$ sudo apt-get install openvpn
$ sudo apt-get install tunneldigger

/etc/openvpnに上記のca.crt client.crt client.key ta.keyをコピー。
client.ovpnをclient.confにrenameして/etc/openvpnにコピー。

rebootしてWiMAX2+で接続すると自動的にvpn接続となる。
glclient2でORCAに接続、速度は問題なし。

UltraVNCのインストール

UltraVNC 1.0.9.6.2をインストール。

OpenVPNサーバーのマシンにUltraVNCサーバーを、クライアントマシンにUltraVNCクライアントをインストール。

UltraVNC over OpenVPNでクライアントマシンから192.168.0.30でvnc接続。サーバーマシンを遠隔操作出来るようになった。

UltraVNCで日本語を使うには、サーバーのタスクバーアイコンを右クリック、Admin Properiesを開き、Keyboard & Mouseの所にあるAlternate keyboard methodのチェックをオンにする。

VPN接続後の操作はすべてUltraVNC経由となるのでルーティング設定は(1)だけで、(2)(3)は必要がなくなる。

preciceにOpenVPNサーバーを設置した場合、UltraVNCはrouting先になるため、接続が非常に遅いかタイムアウトしてしまうので使い物にならない。クライアントでvpn接続した状態ではインターネットに接続できなくなる。

MagicBootでWake on LAN

http://z0001.blog87.fc2.com/blog-entry-225.html

ubuntu側は

$ sudo apt-get install ethtool

MAC ADDRは

$ ifconfig

でわかる。

OpenVPNサーバーマシンにMagicBootをインストールすると遠隔操作でWake on LAN。

OpenVPN Connect for iOS

http://www.openvpn.jp/document/ios-openvpn/
上記の通りでインストールできた。

ios.ovpn(クライアント設定ファイル)を作成

tls-client
key-direction 1 
remote xx.xx.xx.xx
resolv-retry infinite
nobind
cipher BF-CBC
comp-lzo
verb 3
port 1194
proto udp
<ca>
-----BEGIN CERTIFICATE-----
MIID0TCCAzqgAwIBAgIJAPqGBlghO9ltMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYD
HYhsg2k288s7s6TTSgkSGGKSuaAGlajsbPOisulASuhsla382lLASI8sSSyqMBMG
...(省略)... ca.crt
VQQDEwhjaGFuZ2VtZTERMA8GAREwDwYDVQQLEwhjaGFuZ2VtZTERMA8GA1UEAxMI
YkkWu76TYGhSGhOg7ATRSGMVwlHO
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIEMjCCA5ugAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UEBhMCSlAx
ETAPBgNVBAgTCEthbmFnYXdhMREwDwYDVQQHEwhLYXdhc2FraTEaMBgGA1UEChMR
...(省略)... client.crt
2MUHlnZv9MosDWNoU7rDnQAIC7lGG9fwzG6qYchJpjzEFk8x3lmvQyVeAI7HK9GZ
STWHPtw7RrG7HmevMNdbRcQAPjvfjw==
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQC/hJVwJ/E1Uze70vTIG5z3oeDRpf3zD49VZJkNndd1l/n1r6KN
KW/yF7HLSjnIrnTFs9/WzQ8Jq2mPYrdCLMDZ66SMmo+ruBEWiPzmmHb7kWUfLdt5
...(省略)...client.key
vkw6z3xcYuOqym5Rfe4RnQJAJnCI8BPztVDWFYNYHYYGi+bQRBxGeZB63xxZ3LuX
XGQRRcMyX3RpBy94JlPU9qo+KfGDDLVWXHdRcoObZSzvFA==
-----END RSA PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
15d958b15ce3a8fc92b5f9441ac93c61
3779dbaa4f474f9cfba5b5e9cd0d4281
67136ed21975dbf5348902b0699556ef
...(省略)... ta.key
1fa1f611864701abe4cf6e34b76a4ca5
0f918abfb705a6abce12a8832356b722
-----END OpenVPN Static key V1-----
</tls-auth>

iPad用VNC client

AppStoreからDLできる(有料)

VNC Viewer
http://onlyipad.blog130.fc2.com/blog-entry-62.html

iTap VNC client
http://apptoi.com/archives/2538

コピペが簡単にできるVNC Viewerがおすすめ。