[AWS Client VPN] Linux(CentOS7)から Active Directory 認証を使って接続する

2019.05.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

一人で進行中のAWS Client VPNを掘り下げるシリーズです。これまで、mac、Windows、Androidでの接続方法を紹介してきました。

今回は、Linux系OSということで、クライアントにCentOS7を使った接続方法を紹介します。

やってみた

AWS Client VPNの設定は、すでに紹介した以下の記事を参照ください。AD認証のためのDirectory Serviceと、Client VPNエンドポイントの設定までは同様です。

[AWS] Windows から Active Directory 認証を使って AWS Client VPN に接続する

Client VPNエンドポイントが準備できたら、クライアントの設定です。まずは、OpenVPNのインストールです。CentOS7でOpenVPNをインストールするためには、epelが必要なので、リポジトリを追加します。

$ sudo yum install -y epel-release

続いて、OpenVPNをインストールします。

$ sudo yum --enablerepo=epel install -y openvpn

そしたら、Client VPNへの接続です。コンソールからダウンロードできる、クラインアント設定のプロファイルを/etc/openvpn/downloaded-client-config.ovpnに配置し、接続。

$ openvpn /etc/openvpn/downloaded-client-config.ovpn

AD認証のユーザー名、パスワードが求められますので、入力します。

$ openvpn /etc/openvpn/downloaded-client-config.ovpn
Thu May 30 15:35:05 2019 OpenVPN 2.4.7 x86_64-redhat-linux-gnu [Fedora EPEL patched] [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
Thu May 30 15:35:05 2019 library versions: OpenSSL 1.0.2k-fips  26 Jan 2017, LZO 2.06
Enter Auth Username:

接続が確立しました。

$ openvpn /etc/openvpn/downloaded-client-config.ovpn
Thu May 30 15:35:05 2019 OpenVPN 2.4.7 x86_64-redhat-linux-gnu [Fedora EPEL patched] [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
Thu May 30 15:35:05 2019 library versions: OpenSSL 1.0.2k-fips  26 Jan 2017, LZO 2.06
Enter Auth Username: test-user
Enter Auth Password: ********
Thu May 30 15:35:17 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]3.113.81.127:443
   :
(省略)
   :
Thu May 30 15:35:46 2019 Initialization Sequence Completed

プロンプトは戻ってこないので、別のターミナルから操作します。ifconfigでインターフェースを確認すると、VPNインターフェースであるtun0が作成されています。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.249  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::2d22:5768:8d6:cb14  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:63:84:01  txqueuelen 1000  (Ethernet)
        RX packets 18422  bytes 15464948 (14.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13296  bytes 2106161 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 98  bytes 13784 (13.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 98  bytes 13784 (13.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 192.168.128.194  netmask 255.255.255.224  destination 192.168.128.194
        inet6 fe80::bc98:2980:1316:9222  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 5127  bytes 4507074 (4.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5504  bytes 653534 (638.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

最後に

以上です。mac、Windows、Androidに続きLinuxであるCentOSでの接続方法を紹介しました。

CentOSの場合でも、OpenVPNをインストールさえすれば簡単にClient VPNへ接続が可能です。