遠隔操作 の履歴の現在との差分(No.8)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
WiMAX([[URoad-8000:http://www.uqwimax.jp/service/product/model16/]])でORCAを遠隔操作
*[[OpenVPN:http://www.openvpn.jp/]]のインストール [#ma2f2a4a]
サーバーはWindowsXP(32bit)、クライアントはWindows7(32bit)とした。
#author("2024-04-30T19:03:05+09:00","michiro","michiro")
*OpenVPNのインストール [#ma2f2a4a]

[[こちら:http://www.openvpn.jp/download/]]から
WindowsでOpneVPNサーバを立ててみましたが、ルーティングが上手く行かないのでUbuntu22.04にしました。

openvpn-install-2.3.1-I001-i686.exeをDLしてインストール。
Ubuntu 22.04で OpenVPNサーバを構築する

最新バージョンでは証明書、秘密鍵の作成機能(easy-rsa)が削除されてしまっているので、証明書、秘密鍵の作成はpreciseのOpenVPNで行うことにした。
クライアントはMacBook

preciseに[[こちら:https://help.ubuntu.com/community/OpenVPN]]を参考にしてOpenVPNをインストール
 # apt-get install openvpn
**CA証明書・秘密鍵作成 [#x2b0679e]
 # mkdir /etc/openvpn/easy-rsa/
 # cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

# nano /etc/openvpn/easy-rsa/varsで
 export KEY_COUNTRY="US"
 export KEY_PROVINCE="CA"
 export KEY_CITY="SanFrancisco"
 export KEY_ORG="Fort-Funston"
 export KEY_EMAIL="me@myhost.mydomain"
を適宜変更。
 # cd /etc/openvpn/easy-rsa/
 # chown -R root:admin .
 # chmod g+w .
 # source ./vars
 # ./clean-all
 # ./build-dh
 # ln -s openssl-1.0.0.cnf openssl.cnf
 # ./pkitool --initca
 # ./pkitool --server server
 # cd keys
 # openvpn --genkey --secret ta.key
 # cp server.crt server.key ca.crt dh1024.pem ta.key ../../
**クライアント証明書・秘密鍵作成※サーバー側で作業 [#r5139e10]
 # cd /etc/openvpn/easy-rsa/ 
 # source ./vars
 # KEY_CN=client ./pkitool client
preciceをサーバー、Windows7をクライアントとしてOpenVPN接続を試みるがうまく行かなかった。
https://zenn.dev/tak848/articles/20230815-openvpn-home

preciseで作成した証明書・秘密鍵をwindowsマシンにコピーする。コピー場所はサーバー、クライアントともに、
 C:\Program Files\OpenVPN\config
証明書、秘密鍵の作成。


 $ 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
サーバー側・クライアント側ともに登録

作成した証明書・秘密鍵を/etc/openvpnにコピー

サーバーにコピーするファイルは
 ca.crt
 ca.key
 dh1024.pem
 ipp.txt
 dh.pem
 server.crt
 server.key
 ta.key
クライアントにコピーするファイルは
 ca.crt
 client.crt
 client.key
 ta.key
**サーバー側設定ファイル作成 [#uee0c664]
C:\Program Files\OpenVPN\config\server.ovpn 
/etc/openvpn/server.conf
 proto udp
 dev tun
 topology subnet
 ca ca.crt
 cert server.crt
 key server.key
 dh dh1024.pem
 dh dh.pem
 tls-auth ta.key 0
 cipher BF-CBC
 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"
 comp-lzo
 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
 mssfix 1380
既存のネットワークが192.168.0.Xの場合。10.8.0.0 255.255.255.0はVPN側の仮想ネットワークアドレス。
**クライアント側設定ファイル作成 [#g0973e2a]
C:\Program Files\OpenVPN\config\client.ovpn
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
 cipher BF-CBC
 comp-lzo
 
 verb 3
 mssfix 1380
xx.xx.xx.xxはルーターのグローバルIPアドレス
**ルーティング設定 [#r5478cc0]
これをしないと繋がらない
 (1)ルータのudpポート1194を解放

末尾の1行は通信が遅い場合対応のオプション

https://pcvogel.sarakura.net/2015/04/20/31446

https://qiita.com/reoring/items/f6400212d3de19ee5ad7

Mac クライアント

[[OpenVPN Connect for macOS:https://openvpn.net/client-connect-vpn-for-mac-os/]]
**ルーター設定 [#r5478cc0]
 ルータの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~
とする。
 
**iptableによるルーティング設定 [#w01653d5]
 $ sudo apt install iptables-persistent net-tools
ネットワークインターフェイス名を確認
 $ ifconfig
enp0s25と出た。

もう一つ大事な設定
 (3)Routing and Remote Access サービスの開始
サーバー側のコントロールパネル→管理ツール→サービスを開き、Routing and Remote Access を右クリックしてプロパティを表示、スタートアップの種類を自動に変更して開始をクリックする。
ポートフォワーディングの許可
 $ sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
 $ sudo sysctl -p

デスクトップのOpenVPN GUIアイコンをダブルクリック、タスクバーに現れたアイコンを右クリック接続を選択する。クライアント側でも同様にすると接続完了。
**クライアントから接続してみる [#w737feda]
クライアントにjava-clientをインストール。
 $ sudo iptables -A FORWARD -i tun0 -o enp6s0 -j ACCEPT
 $ sudo iptables -A FORWARD -i enp6s0 -o tun0 -j ACCEPT
 $ sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp0s25 -j MASQUERADE
 $ sudo iptables -L -v # 確認

vpn接続した状態でjava-clientを起動、ORCAサーバーのプライベートIPアドレス(例えば192.168.0.34)を入力するとORCAを操作できるようになる。しかし、遅すぎる。
*[[UltraVNC:http://www.filehippo.com/jp/download_ultravnc/]]のインストール [#sfeb81b9]
[[UltraVNC 1.0.9.6.2:http://www.filehippo.com/jp/download_ultravnc/11689/]]をインストール。
 $ sudo iptables -t nat -L -v # 確認
上記失敗した場合、iptablesのリセット
 $ sudo iptables -t nat -F POSTROUTING
永続化
 $ sudo /etc/init.d/netfilter-persistent save
 $ sudo /etc/init.d/netfilter-persistent reload
サーバー起動
 $ sudo systemctl start openvpn@server

 $ nano /etc/default/openvpn
AUTOSTERT="all" #を外す





 

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 [#p4ea5216]
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 [#mec9d47f]
http://www.openvpn.jp/document/ios-openvpn/~
上記の通りでインストールできた。

ios.ovpn(クライアント設定ファイル)を作成
 client
 dev tun
 proto udp
 remote xx.xx.xx.xx 1194
 resolv-retry infinite
 nobind
 persist-key
 persist-tun
 <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>
 ;ca ca.crt
 ;cert client.crt
 ;key client.key
 ;tls-auth ta.key 1
 cipher BF-CBC
 comp-lzo
 verb 3
**iPad用VNC client [#ee3ef4f9]
AppStoreからDLできる(有料)

VNC Viewer~
http://onlyipad.blog130.fc2.com/blog-entry-62.html
サーバーはUbuntu22.04、クライアントはMacBook

iTap VNC client~
http://apptoi.com/archives/2538
iPhoneデザリングはusb接続にするとストレスなくサクサク動作。

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