Ubiquiti Networks Edgerouter X から QVPN Server へ PPTP で接続してみた備忘録

Networks
Photo by hyt.

Ubiquiti Networks Edgerouter X (ER-X) から QVPN Service へ PPTP で接続してみた備忘録です.なお,多分 QVPN Service 以外でもほぼ同じだと思う.

QVPN Service というのは QNAP の NAS で使える VPN アプリなんですが,これ,

  • PPTP
  • L2TP/IPSec (PSK)
  • OpenVPN

のサーバーにもクライアントにもなるというものです.アプリを入れて GUI から簡単にVPNの設定ができ,さらに,接続状況なんかもわかりやすい画面で行えると言うなかなかの優れものです.

で,昨日,自宅の ER-X で遊んでる最中に,こいつを PPTP クライアントにできるということに気がつきました(PPTP サーバーにもなります).どちらかというと,ER-X のこの機能の方が「へー」という感じかもしれません.

設定の詳細

最低限の設定は以下の通りとっても簡単です(QVPN Service の設定は見れば分かるレベルなのでここでは詳細は省略します).

$ show configure
.....
interfaces {
    ....
    pptp-client pptpc0 {
        default-route none
        description connection to qvpn service by pptp
        name-server auto
        password ****************
        require-mppe
        server-ip fqdn.qvpn.service
        user-id hyt
    }
....
}

なお,server-ip, user-id, password はそのままの意味ですが,default-route, name-server は以下のオプションを選択できます.

# default-route
Possible completions:
  auto		Install default route when link comes up
  force		Install default route (replace existing one if any)
  none		Don't install default route when link comes up

# name-server
Possible completions:
  auto		Use name server entries provided by peer
  none		Do not use name server entries provided by peer

あと,require-mppe を設定しておかないと QVPN Service には繋がりません.と言うか,多分,大方の PPTP サーバーで require-mppe は設定しておかないといけないんじゃないかと思います.

上記の設定を行って,commit すると,すぐに接続が行われ,成功すると,

$ show interfaces 
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description                 
---------    ----------                        ---  -----------                 
....                     
pptpc0       10.0.0.2                          u/u  connection to qvpn service by pptp          
....

$ show interfaces pptp-client pptpc0 
pptpc0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1396 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/ppp 
    inet 10.0.0.2 peer 10.0.0.1/32 scope global pptpc0
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    9122605    9875     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    991738     7270     0       0       0       0       

    RX:  bytes    packets     errors    dropped    overrun      mcast
       9122605       9875          0          0          0          0
    TX:  bytes    packets     errors    dropped    carrier collisions
        991738       7270          0          0          0          0

の様に確認できます.ちなみに,切断と接続は,

$ disconnect interface pptpc0 
Bringing interface pptpc0 down...

$ $ connect interface pptpc0 
Bringing interface pptpc0 up...

で可能です.なお,これら操作は基本的には GUI ではできず,ターミナルから(SSH 等を使って)行う必要があります.

もちろんこれだけではただ接続できたと言うだけで,このままだと,つなげた先にあるサーバー等にアクセスできません.もちろん全ての通信をこの PPTP を経由して行うというのであれば,単に

# set interfaces pptp-client pptpc0 default-route auto

とすれば良いと思いますが,普通は必要な通信だけ PPTP 経由で行いたいのが普通ですので静的ルートを設定する等はしないといけません.例えば,PPTP でつなげた先のネットワークが 192.168.1.0/24 の場合は,

protocols {
    static {
        ....
        route 192.168.1.0/24 {
            next-hop 10.0.0.1 {
                description connection to qvpn service by pptp
            }
        }
        ....
    }

のような設定を追加すればOKのはずです.

雑感

設定はあんまり難しくないとは思いますが,セッション数が多くなると,なぜか切断が多発するので,残念ながら安定性はあんまり期待できなさそうです(ER-X の問題なのか QVPN の問題なのかは今のところわかってない).

あと,PPTP は安全性に問題があると言われているのと,なぜか QVPN Service だと ipv6 では接続できないことも気になるところです.と言うことで,使うとしたら LAN 内で使われるサーバーを簡易的な認証付きにしたいとかいう場合に限定されるんじゃないかと思います.

インターネットを経由する VPN の場合は,やはり L2TPv3 とか OpenVPN とかを利用すべきでしょう.ただし,ER-X だと処理能力の問題があるかなぁ…….暇があれば試してみるかなぁ…….

以上!

NetworksServer
スポンサーリンク
Following hyt!
hyt adversaria
タイトルとURLをコピーしました