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サービスの機能の使用方法については、引き続き本マニュアルを参考にご利用ください。