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


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2022-11-09T18:39:17+09:00","michiro","michiro")
*[[OpenVPN:http://www.openvpn.jp/]]のインストール [#ma2f2a4a]
#author("2024-04-30T19:03:05+09:00","michiro","michiro")
*OpenVPNのインストール [#ma2f2a4a]

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

openvpn-2.5.8をインストール。
Ubuntu 22.04で OpenVPNサーバを構築する

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

[[Ubuntu Server で OpenVPNサーバを構築する:https://tryota.hatenablog.com/entry/2021/04/11/Ubuntu_Server_%E3%81%A7_OpenVPN%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B#%E3%82%B5%E3%83%BC%E3%83%90%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E7%99%BA%E8%A1%8C]]
 # apt install openvpn easy-rsa
 # make-cadir /etc/openvpn/easy-rsa
 # cd /etc/openvpn/easy-rsa
 # nano vars

https://zenn.dev/tak848/articles/20230815-openvpn-home

証明書、秘密鍵の作成。


 $ 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 init-pki

 # ./easyrsa build-ca
 $ ./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 gen-req server
クライアント証明書作成
 $ ./easyrsa build-client-full client nopass
サーバー証明書作成
 $ ./easyrsa build-server-full server nopass
dhパラメータの作成
 $ ./easyrsa gen-dh
~/openvpn-ca/pki/ca.crtを,検証用のCAとして,サーバー・クライアント両方に登録

 Enter PEM pass phrase:test
 Verifying - Enter PEM pass phrase:test
 Common Name (eg: your user, host, or server name) [server]:opoenvpnSV
 Keypair and certificate request completed. Your files are:
 req: /etc/openvpn/easy-rsa/pki/reqs/server.req
 key: /etc/openvpn/easy-rsa/pki/private/server.key
~/openvpn-ca/pki/dh.pemを,TLSのパラメータとして,サーバーに登録

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

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

 Type the word 'yes' to continue, or any other input to abort.
 Confirm request details: yes
 Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:test
 Certificate created at: /etc/openvpn/easy-rsa/pki/issued/server.crt
~/openvpn-ca/pki/issued/server.crtを,サーバー側の証明書として,サーバーに登録

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

 # openvpn --genkey --secret ta.key
 
ta.keyの作成
 $  sudo openvpn --genkey secret /etc/openvpn/ta.key
サーバー側・クライアント側ともに登録

OpenVPNサーバの構築に必要なファイル
作成した証明書・秘密鍵を/etc/openvpnにコピー

ca.crt

server.crt

server.key

dh1024.pem

ta.key

 # cd /etc/openvpn/easy-rsa
 # ./easyrsa gen-req client nopass
 Common Name (eg: your user, host, or server name) [client_test]:test
 Keypair and certificate request completed. Your files are:
 req: /etc/openvpn/easy-rsa/pki/reqs/client_test.req
 key: /etc/openvpn/easy-rsa/pki/private/client_test.key

 # ./easyrsa sign-req client client_test
 Type the word 'yes' to continue, or any other input to abort.
 Confirm request details: yes
 Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:test
 Certificate created at: /etc/openvpn/easy-rsa/pki/issued/client_test.crt

OpenVPNクライアント用に必要なファイル

ca.crt

client.key

client.crt

ta.key




作成した証明書・秘密鍵をwindowsマシンにコピーする。コピー場所はサーバー、クライアントともに、
 C:\Program Files\OpenVPN\config
サーバーにコピーするファイルは
 ca.crt
 dh1024.pem
 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を解放
バッファローの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 を右クリックしてプロパティを表示、スタートアップの種類を自動に変更して開始をクリックする。
末尾の1行は通信が遅い場合対応のオプション

デスクトップのOpenVPN GUIアイコンをダブルクリック、タスクバーに現れたアイコンを右クリック接続を選択する。
https://pcvogel.sarakura.net/2015/04/20/31446

これでもVPNサーバー以外のPCに接続できない場合、
https://qiita.com/reoring/items/f6400212d3de19ee5ad7

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

Ubuntu PCに接続するにはネットワークマネージャーを起動。接続を編集、IPV4設定タブからルートを設定。アドレス10.8.0.0、ネットマスク255.255.255.0、ゲートウェイ192.168.0.30、メトリック 1を追加する。
[[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アドレス)にする。
 
**iptableによるルーティング設定 [#w01653d5]
 $ sudo apt install iptables-persistent net-tools
ネットワークインターフェイス名を確認
 $ ifconfig
enp0s25と出た。

**windowsクライアントから接続してみる [#w737feda]
クライアントにjava-clientをインストール。
ポートフォワーディングの許可
 $ sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
 $ sudo sysctl -p

vpn接続した状態でjava-clientを起動、ORCAサーバーのプライベートIPアドレス(例えば192.168.0.34)を入力するとORCAを操作できるようになる。
**ubuntuをクライアントにする [#s329011e]
http://qiita.com/muniere/items/02d178b7e25abf2430a5
 $ sudo apt-get install panda-client2
glclient2をインストールしてから、
 $ sudo apt-get install openvpn
 $ sudo apt-get install tunneldigger
 $ 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 # 確認

/etc/openvpnに上記のca.crt client.crt client.key ta.keyをコピー。~
client.ovpnをclient.confにrenameして/etc/openvpnにコピー。
 $ 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

rebootしてWiMAX2+で接続すると自動的にvpn接続となる。~
glclient2でORCAに接続、速度は問題なし。
 $ nano /etc/default/openvpn
AUTOSTERT="all" #を外す

**[[UltraVNC:http://www.filehippo.com/jp/download_ultravnc/]]のインストール [#sfeb81b9]
[[UltraVNC 1.0.9.6.2:http://www.filehippo.com/jp/download_ultravnc/11689/]]をインストール。




 

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(クライアント設定ファイル)を作成
 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 [#ee3ef4f9]
AppStoreからDLできる(有料)
サーバーはUbuntu22.04、クライアントはMacBook

VNC Viewer~
http://onlyipad.blog130.fc2.com/blog-entry-62.html
iPhoneデザリングはusb接続にするとストレスなくサクサク動作。

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

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