LinuxとRTX1200でVPN(L2TP/IPsec)接続
今回はRTX1200のVPN機能を使って、Linux(DebianとUbuntu)からRTX1200にVPN(L2TP/IPsec)接続する方法を書きたいと思います。
UbuntuでのVPN client設定についてはネット上に情報が数多くあり、そんなには苦労しなかったのですが、Debianがヤバかったです。ネット上の情報はあまり多くない&confファイルの設定が上手くいかず2週間くらい、接続出来ずに苦しみました😵
では、本題に入っていきます。まず、今回使用したディストリビュージョンと想定環境は以下のものです。
はい、見ての通りGUI環境で設定します。confファイルをひらすらに設定する方法もあるにはあるのですが、今回、私が試した際には上手くいかず、結局GUIに逃げました🌝
confファイルでの設定方法は、今後、上手くいったら載せるかもです。。
やりたいことの図もいちお。
RTX1200での設定手順は、ヤマハさんのこちら辺りを確認してください。
なお設定時、暗号アルゴリズムで何を設定したのか、どこかに控えておいてください。
後に重要なポイントになります。
次に必要なパッケージをインストールします。
- Ubuntu18.04 LTSの場合
# apt-get install network-manager-l2tp-gnome
- Debian9.4の場合
# apt-get install network-manager-pptp network-manager-pptp-gnome stongswan xl2tpd
Debianの場合はさらに追加で、以下のパッケージをUbuntuのFTPサイトあたりからDLしインストールします。なおこの時、必要なパッケージがすべて入っていれば、以下のコマンドを実行した際にエラーは出ません。逆に不足しているパッケージがあると、コマンド実行時にエラーが出ます。
network-manager-l2tp_1.2.8-1_amd64.deb
network-manager-l2tp-gnome_1.2.8-1_amd64.deb# dpkg -i network-manager-l2tp_1.2.8-1_amd64.deb network-manager-l2tp-gnome_1.2.8-1_amd64.deb
まず、RTX1200で使用できるIPsecのアルゴリズムを調べます。
以下のソースを丸ごとコピーし、ike-scan.shという名前で保存します。
#!/bin/sh
# Encryption algorithms: 3des=5, aes128=7/128, aes192=7/192, aes256=7/256
ENCLIST="5 7/128 7/192 7/256"
# Hash algorithms: md5=1, sha1=2, sha256=5, sha384=6, sha512=7
HASHLIST="1 2 5 6 7"
# Diffie-Hellman groups: 1, 2, 5, 14, 15, 19, 20, 21
GROUPLIST="1 2 5 14 15 19 20 21"
# Authentication method: Preshared Key=1
AUTH=1
for ENC in $ENCLIST; do
for HASH in $HASHLIST; do
for GROUP in $GROUPLIST; do
echo ike-scan --trans=$ENC,$HASH,$AUTH,$GROUP -M "$@"
ike-scan --trans=$ENC,$HASH,$AUTH,$GROUP -M "$@"
done
done
done
次に以下のコマンドを実行します。
# apt-get install ike-scan
# ipsec stop
# chmod a+rx ./ike-scan.sh
# ./ike-scan.sh 192.168.0.1|grepSA
上記のコマンドを実行すると、RTX1200で使用できるIPsecのアルゴリズムが出力されます。その出力結果をメモ帳になどにコピーしておいてください。
ここからいよいよ設定に入ります。
デスクトップ上の上部メニューを右クリックし、「接続設定」をクリック。
Networkの項目を選択し、VPNの欄にある「+」ボタンをクリック。
「Layer 2 Tunneling Protocol (L2TP)」を選択します。
GatewayにRTX1200のWAN側ポートのIPアドレスを入力。
User nameとPasswordはRTX1200で設定したVPN接続用ユーザのユーザ名とパスワードを入力。パスワード入力時は、「?」を押して、「Store the password only for this user」を選択します。
次に「IPsec Settings...」を開き、「Enable IPsec ..」にチェックを入れます。
Pre-shared key はRTX1200で設定したものを入力します。
次に接続に使用するアルゴリズムを入力します。事前にike-scan.shで調べたアルゴリズムから好きなものを選択し入力します。フォーマットはこちらを確認してください。
なお、この際、重要なことがあります。さきほどメモしておいたRTX1200で設定した暗号アルゴリズムと同じアルゴリズムを選択してください。
例えば、
RTX1200でAES256 を選択した場合は、aes256
AESを選択した場合は、AES128
ここの認証アルゴリズムを間違えると当たり前ですが、正常に接続できません。
ちなみに正規表現(!)を使った、「〇〇以外」という指定の仕方でもOKです。
設定が終わったら、OKをクリック。
次に「PPPsec Settings...」を開き、以下のように設定します。
設定が終わったら、OKをクリック。
すべての入力が終わったら、元の画面で「追加」をクリック。
接続ボタンを押して、正常に接続できれば、以下のように鍵マークが点灯します。