2017年4月26日水曜日

Ubuntuから自宅にVPNでアクセス

先日HGW(ホームゲートウェイ)のPR-500MIが内蔵するVPSサーバに
Android 6 スマートフォンIDOL3からアクセスしましたが、
Ubuntu 14.04からもアクセスしてみましたので書き残しておきます。
WindowsMacからの方法は
ネット検索でごろごろ出てきますが、
Ubuntuからの方法は見当たらず苦労したので。

ではまず環境の整備、と言いたいところですが、
以前VPNサーバとしてセットアップした環境をベースに
クライアント化を行うことにします。

最初に設定ファイル"/etc/ipsec.secrets"に
VPSサーバの事前共有鍵を設定します。
ファイルの内容は
include /var/lib/openswan/ipsec.secrets.inc
: PSK "<事前共有鍵>"
のようになります。
次に設定ファイル"/etc/ipsec.d/l2tp-psk.conf"の内容を
conn L2TP-PSK
        authby=secret
        pfs=no
        auto=add
        keyingtries=3
        dpddelay=30
        dpdtimeout=120
        dpdaction=clear
        rekey=yes
        ikelifetime=8h
        keylife=1h
        type=transport
        left=%defaultroute
        leftprotoport=17/1701
        right=<HGWのインターネット側のグローバルIPアドレス>
        rightprotoport=17/1701
のようにします。ここで"L2TP-PSK"は接続名(識別名)です。
これで
# /etc/init.d/ipsec restart
# ipsec auto --add L2TP-PSK
# ipsec auto --up L2TP-PSK
を実行すればIPSecはつながります。

今度はL2TP側です。
設定ファイル"/etc/xl2tpd/xl2tpd.conf"を以下の内容にします。
[global]
auth file = /etc/ppp/chap-secrets
[lac myhome]
lns = <HGWのインターネット側のグローバルIPアドレス>
require authentication = yes
pppoptfile = /etc/ppp/options.l2tpd.myhome
length bit = yes
require chap= yes
refuse pap = yes
ppp debug = yes
redial = yes
redial timeout = 10
max redials = 6
ここで"myhome"は接続名(識別名)です。
また設定ファイル"/etc/ppp/options.l2tpd.myhome"を
以下の内容にします。
name <HGWのVPNアカウントのユーザー名>
password <HGWのVPNアカウントのパスワード>
mtu 1280
lock
noauth
debug
kdebug 1
その後
# /etc/init.d/xl2tpd restart
# xl2tpd-control connect myhome
を実行すればVPN接続できます。
成功すれば"ifconfig"コマンドの結果に
一般的には"ppp0"インターフェイスが増え、
自宅で使っているIPアドレスがDHCPにより振られ、
自宅のネット環境に透過的にアクセスできます。
失敗していたら
# tail -n 50 /var/log/syslog
などでログを確認し次の一手を考えましょう。

0 件のコメント:

コメントを投稿