awsclientvpnを使う
インストール
Section titled “インストール”AURにawsvpnclientパッケージがあるので、これを使うといい。
git clone https://aur.archlinux.org/awsvpnclient.gitcd awsvpnclientmakepkg -si
systemctl start awsvpnclient.service業務用のコンフィグはAWS Client VPN1にリンクがあるので、ダウンロードしたファイルをAWS VPN Clientに与える。AWS VPN Clientは読み込んだコンフィグを ~/.config/AWSVPNClient 以下にコピーするため、ダウンロードしたファイル自体は消しても問題ない。
AWS VPN Clientの中身はOpenVPNらしいので、困ったらOpenVPN - ArchWikiを見るとだいたいある。
公式パッケージを入れると落ちる
Section titled “公式パッケージを入れると落ちる”公式のパッケージはdeb形式なので展開して適切な場所に配置する。ただし v3.13.0 はこのまま実行するとエラーデ停止する。
$ /opt/awsvpnclient/AWS\ VPN\ ClientProcess terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.- UbuntuにインストールしたAWS Client VPNがクラッシュするでは openssl 1.x を入れると解消したらしいので、同じ理由かもしれない。Arch Linuxではだいたい openssl 3.x が入っていると思う。
iptablesが有効だと認証でタイムアウトする
Section titled “iptablesが有効だと認証でタイムアウトする”ログは以下のどこかにある
- ~/.config/AWSVPNClient/logs
- /var/log/aws-vpn-client
iptables で弾かれた場合、以下のような状況でタイムアウトする。こちらは ~/.config 以下にあるログ。
2024-07-29 11:19:52.369 +09:00 [DBG] CM processsing: >LOG:1722219592,,MANAGEMENT: >STATE:1722219592,WAIT,,,,,,2024-07-29 11:19:52.369 +09:00 [DBG] CM processsing: >STATE:1722219592,WAIT,,,,,,2024-07-29 11:19:52.369 +09:00 [DBG] CM received state: >STATE:1722219592,WAIT,,,,,,2024-07-29 11:19:52.369 +09:00 [DBG] CM processsing:2024-07-29 11:19:52.369 +09:00 [DBG] :cold_face: APPEND line2024-07-29 11:19:52.369 +09:00 [INF] Begin receive init again
2024-07-29 11:20:52.131 +09:00 [INF] Received bytes: 1692024-07-29 11:20:52.131 +09:00 [DBG] Message marshalling complete2024-07-29 11:20:52.132 +09:00 [DBG] CM received: >LOG:1722219652,N,TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)>LOG:1722219652,N,TLS Error: TLS handshake failed/var/log 以下のログにも、似たような内容が記録される。
2024-07-29 11:19:52.353 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:19:52 2024 Socket Buffers: R=[212992->212992] S=[212992->212992]2024-07-29 11:19:52.353 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:19:52 2024 UDP link local: (not bound)2024-07-29 11:19:52.353 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:19:52 2024 UDP link remote: [AF_INET]54.199.48.46:4432024-07-29 11:19:52.353 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:19:52 2024 MANAGEMENT: >STATE:1722219592,WAIT,,,,,,2024-07-29 11:19:53.260 +09:00 [DBG] /bin/ps exit code: 0
(このあと/bin/psを何度も実行している)
2024-07-29 11:20:51.355 +09:00 [DBG] /bin/ps exit code: 02024-07-29 11:20:52.131 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:20:52 2024 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)2024-07-29 11:20:52.131 +09:00 [DBG] [TI=51] [PID: 11272] Mon Jul 29 11:20:52 2024 TLS Error: TLS handshake failedこの場合は、信用できるネットワークに接続しているなら単に iptables を停止すればいい。iptables が具体的に何を閉じているからタイムアウトになるのかは調べていない。
VPN経由する宛先を限定したい
Section titled “VPN経由する宛先を限定したい”Footnotes
Section titled “Footnotes”-
AWS VPN Clientの間違いでは?と思う ↩