LinuxデバイスをL2TP/IPsecで接続する
Linuxが搭載されたデバイスでVPNアクセスのL2TP/IPsecプロトコルで接続する場合のセットアップ方法です。
root権限のあるシェルにアクセスできることを前提に手順を記載しています。
1. L2TP/IPsecクライアントをセットアップする
L2TP/IPsecクライアントとしてxl2tpdとstrongswanを使用します。それらのソフトウェアは、aptなどのパッケージ管理ソフトウェアを用いてインストールできます。以下のコマンドを実行してください。
apt install xl2tpd strongswan |
2. IoTサービスでVPNアクセスを追加する
コントロールパネル にログインし、VPNアクセスを追加します。
VPNアクセスの追加方法は、VPNアクセス画面の作成に従って進めてください。
手順に従い作成すると、以下のような完了画面が表示されます。このままブラウザを閉じずに次のステップに進んでください。
3. L2TP/IPsecを設定する
3.1. IPsecを設定する
/etc/ipsec.confを編集し、VPNアクセス用のIPsecの設定を書き込みます。以下コマンドのようにリダイレクションなどを使用して実施してください (<接続先アドレス>はコントロールパネルに表示されている接続先アドレスに変更してください)。
cat >> /etc/ipsec.conf << EOF |
conn vpn |
type=transport |
authby=secret |
rekey=yes |
keyingtries=1 |
keyexchange=ikev1 |
ike=3des-sha256-modp2048 |
esp=aes128-sha256 |
dpdaction=restart |
dpddelay=10s |
dpdtimeout=30s |
left=%any |
leftprotoport=udp/l2tp |
leftikeport=4500 |
right=<接続先アドレス> |
rightid=%any |
rightprotoport=udp/%any |
rightikeport=4500 |
forceencaps=yes |
auto=start |
EOF |
/etc/ipsec.secretsに事前共有鍵を追記します。以下、<事前共有鍵>をコントロールパネルに表示されている事前共有鍵に変更した上で実行してください。
cat >> /etc/ipsec.secrets << EOF |
: PSK "<事前共有鍵>" |
EOF |
3.2. L2TPを設定する
/etc/xl2tpd/xl2tpd.confにL2TP接続設定を追記します。以下、<接続先アドレス>をコントロールパネルに表示されている接続先アドレスに変更した上で実行してください。
cat >> /etc/xl2tpd/xl2tpd.conf << EOF |
[lac vpn] |
lns = <接続先アドレス> |
require chap = yes |
refuse pap = yes |
require authentication = yes |
pppoptfile = /etc/ppp/options.xl2tpd.vpn |
length bit = yes |
autodial = yes |
redial = yes |
redial timeout = 10 |
max redials = 100 |
EOF |
続けて、/etc/ppp/options.xl2tpd.vpnに認証情報を追記します。以下、<ユーザ名>と<パスワード>をコントロールパネルに表示されている内容に変更した上で実行してください。
cat > /etc/ppp/options.xl2tpd.vpn << EOF |
noauth |
nodefaultroute |
usepeerdns |
logfile /var/log/vpn.log |
name "<ユーザ名>" |
password "<パスワード>" |
EOF |
/etc/ppp/ip-up.d以下にスクリプトを配置します。このスクリプトは、IoTサービスに必要なルーティング設定をL2TP/IPsec接続時に自動設定するスクリプトです。以下のコマンドを実行して設定してください (最後のコマンドで/var/log/ppp-ipupdown.logを作成していますが、このファイルをあらかじめ作成しておくと実行ログが出力されます)。
cat > /etc/ppp/ip-up.d/001vpnaccess << EOF |
#!/bin/sh |
ip route add 10.64.2.0/24 dev \$1 |
EOF |
chmod +x /etc/ppp/ip-up.d/001vpnaccess |
touch /var/log/ppp-ipupdown.log |
![]() |
上記の設定コマンドは、VPNゲートウェイを利用しない場合の設定方法です。 VPNゲートウェイを利用したVPNアクセスの場合、ルーティング設定はお客様のIIJプライベートバックボーンサービスやプライベートコネクタの構成により異なります。 |
![]() |
WISE-PaaSコネクタを利用してWISE-PaaSへ接続する場合、WISE-PaaSコネクタのIPアドレスセグメントに記載されている全てのIPアドレスセグメントをルーティング設定に追加する必要があります。 ルーティング設定を追加するには、/etc/ppp/ip-up.d/001vpnaccess ファイルを編集し、行末に「ip route add <WISE-PaaSアドレスセグメント> dev $1」をアドレスセグメントごとに1つずつ追記してください。 |
3.3. 設定を反映する
IPsecとL2TPの設定を反映します。以下のコマンドを実行し、各デーモンを再起動してください。
systemctl restart ipsec |
systemctl restart xl2tpd |
4. IoTサービスに接続する
4.1. L2TP/IPsecインタフェースを有効化する
作成したインタフェースを有効化して接続します。以下のコマンドを実行してください。
ipsec up vpn |
xl2tpd-control connect vpn |
4.2. IoTサービスの接続状態を確認する
curlで以下のコマンドを実行してください。正常に接続されていれば、作成したVPNアクセスのIPアドレスや名称などがコンソールに表示されます。
curl http://gw.iot.iij.jp/v1/dvc-state/csv |
以上でIIJ IoTサービスにデータを送る準備は完了しました。IoTサービスの機能の使用方法については、引き続き本マニュアルを参考にご利用ください。