3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenVPN クライアント側のあれこれ

Posted at

環境

  • OpenVPN サーバ
    • Raspberry pi4 @ pivpnで設定済み
  • OpenVPN クライアント
    • VPSサービス上に構築
    • OSはCentOS8

クライアント側からサーバへの接続

  • OpenVPNでクライアント側から接続する場合、systemdで管理されている模様
  • pivpnでユーザを追加した際に生成された *.ovpn ファイルを持ってきて以下のPATHに設置
 /etc/openvpn/client/<ユーザ名>.conf
  • systemctlコマンドで以下を実行
systemctl start openvpn-client@<ユーザ名>

これでスマートに接続が開始できる、もちろん enable すれば自動的に接続を開始することも可能

OpenVPN自動接続時のあれこれ

毎回入力する場合

  • *.ovpn ファイルをそのまま持ってくるだけだと、パスフレースを入れる必要がある。
  • systemctl start すると systemd-tty-ask-password-agent でパスワード入れるようプロンプトにブロードキャストメッセージが通知される。
  • 以下のコマンドを入れると、systemdにわたす値を入力することができる(systemdのttyを一時的に奪える)ので、下記コマンド実行後実行する。
systemd-tty-ask-password-agent --query

パスフレーズを入れる場合

  • ぐぐると、OpenVPNファイルに auth-user-pass という設定を入れた後に、 ユーザ名、パスワードを1行ずつ記載したファイルをconfファイルと同じ場所に設置するといいとでるがこれではうまく行かない。
  • systemdで起動する際にユーザ名は指定しているので正しくは askpass という設定を入れる必要がある
askpass <パスワードを1行で書いたファイル名>
  • ファイルパスが省略された場合は、設定ファイルと同じディレクトリを探すようだが、フルパスで指定することも可能
  • ファイルのパーミッションは 400 にしておかないと怒られる(繋がりはするぽい)

自動再接続

  • systemd のunitファイル にはもともと Restart という設定がありそれを利用することで簡単に実現できる
  • openvpn-clientのunitファイルは以下にある
/usr/lib/systemd/system/openvpn-client@.service

[Service]ディレクティブにこんなカンジで設定を追加した。

Restart=on-failure
RestartSec=30
StartLimitInterval=120
StartLimitBurst=3
項目
Restart どのタイミングで再起動するか
RestartSec 落ちて再起動までの待ち時間(秒)
StartLimitInterval 再起動を試みて失敗と判定する時間(秒)
StartLimitBurst 再起動を試みて失敗と判定する回数
要約すると failuer の時に 30秒 待って再起動を試みるが
120秒間3回 失敗を繰り返したら再起動失敗となる。

vpn越しにcatしたり、何かのタイミングでttyがフリーズする

  • 通常のsshでサーバに繋いだら問題は起きないが、VPN越しだとなんかプロンプトが固まる
  • 私が遭遇したパターン例
    • cat したらフリーズ
    • vi したらフリーズ
    • なにかを起動しようとしたらフリーズ
  • 原因はOpenVPN(tun0)のMSSの値がよろしくない ←ハマったので太字
  • tun0 に割り当てる適切なMSSの値を設定ファイルに入れると良い
mssfix <適切なMSSの値>
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?