色々前準備を整えてきましたが、ようやくIPSec VPNのの設定に入ります。
参考情報
編集方法
SSHでCLIログインしてviで編集します。
OpenWrtのvi は初期インストールのBusybox版・追加可能なvim 7.0ともに
デフォルトで autoindent が有効になっているため、
Terminalからcopy and paste で貼付けすると、自動インデント機能により桁ががずれてしまします。
こんな風に。
1行名
2行名
3行目
4行名
自動インデント機能を抑止するため、[ESC]押した後のコマンドモードから
「:」を押し、続けて「set noautoindent」または省略形の「set noai」を実行してください。
:set noautoindent
なお、viの現在の設定は「:set」で確認できます。
/etc/ipsec.conf の作成
IPSecの動作を ipsec.conf に記述します。端末種類ごとにセクションを分けて記述できます。
各パラメータの詳細は
StrongSwan公式ドキュメントを参照してください。
vi /etc/ipsec.conf
共通部分
config setup
conn %default
left=%any
leftsubnet=0.0.0.0/0
leftfirewall=yes
leftcert=serverCert.pem
right=%any
rightsubnet=192.168.1.0/24
rightsourceip=%dhcp
leftsubnet=0.0.0.0/0 の箇所はインターネット側のアドレスになります。この例では どんなIPでも受け付けます。(このためLAN内からでもIPSec接続できてしまいます。)
rightsubnet=192.168.1.0/24 の箇所はOpenWRTのLAN側IPアドレスのNWセグメントを指定してください。
Apple iOS対応部分
以下を ipsec.conf に追記します。
conn ios
keyexchange=ikev1
authby=xauthrsasig
xauth=server
rightcert=iPhoneCert.pem
forceencaps=yes
auto=add
/etc/ipsec.secrets の設定
# vi /etc/ipsec.secrets
# /etc/ipsec.secrets - strongSwan IPsec secrets file
: RSA serverKey.pem
iPhone_user : XAUTH "iPhone_password"
OpenWrtルータ用のServer証明書「serverKey.pem」を指定しています。
次の行からはIPSec 接続時に使用するユーザ名とパスワードを指定します。
ユーザ名とパスワードは任意です。
/etc/strongswan.conf の設定
strongswa.conf を設定します。
# vi /etc/strongswan.conf
# strongswan.conf - strongSwan configuration file
charon {
dns1 = 192.168.1.1
#dns1 = 8.8.8.8
#dns2 = 8.8.8.4
#dns1にルータのIPを指定してダメだったらgoogleのDNSを指定してみましょう。
threads = 16
plugins {
dhcp {
server = 192.168.1.1
}
}
}
pluto {
}
libstrongswan {
# set to no, the DH exponent size is optimized
# dh_exponent_ansi_x9_42 = no
}
dns1 と dhcp は実際の環境に合わせて適切なIPを設定してください。
ここではDNSもDHCPサーバもOpenWrtルータ 192.168.1.1 (初期値) を指定しています。
/etc/init.d/ipsecの作成
何故かStrongSwan用の自動起動スクリプトが用意されていないので、新規に作成します。
以下を /etc/init.d/ 以下に ipsec として保存します。
#!/bin/sh /etc/rc.common
# ipsec init script
START=46
STOP=01
start() {
ipsec start
}
stop() {
ipsec stop
}
restart() {
ipsec restart
}
reload() {
ipsec update
}
保存したら、スクリプトに実行権限をつけておきます。
# chmod 755 /etc/init.d/ipsec
strongswan daemon の起動確認
ここまで出来たら、CLI上でstrongswan のdaemonを起動してみます。
# /etc/init.d/ipsec start
設定ファイルに不備がなければ以下のメッセージがコンソールに表示されます。
Starting strongSwan 5.0.0 IPsec [starter]...
WebUI上での確認と自動起動設定
LuCIのWebUIで 『ipsec』が管理できるかどうかを確認します。
「System」タブ→「Startup」タブを開いて
Start priority 46番(/etc/init.d/ipsec のSTARTで設定した値)に ipsec の行が追加されていることを確認します。
最初は Enable/Disable が Disableになっているはずなので、自動起動できるように
ボタンをクリックして Enabled にします。
最終更新:2020年03月14日 23:10