2012年06月20日

Ubuntuでコマンドを使ってVPNクライアント接続する方法

VPNサーバに自動・定期的に接続・切断したい場合って時々ありますよね。

そんな時の為に、今日はCLI(コマンド・ライン・インタフェース)を使ってVPNクライアント接続する方法をご紹介します。

04

まずはデスクトップからVPN接続設定を作成・確認


設定ファイルを直接作成することも出来るんですが、一番簡単な方法でまずはデスクトップからVPN接続設定を作成しましょう。

僕はXubuntuを使っていてテーマもカスタマイズしているので、普通のUbuntuと雰囲気が違いますが、基本は一緒。デスクトップ上からアクセスできるメニュー(パネル)からネットワーク・アイコンをクリックし、”VPN接続” > ”VPNを設定”を選択します。

14

表示されたネットワーク接続設定でVPNタブを選択し、”+追加”ボタンをクリック。

スクリーンショット - 2012年06月19日 - 18時42分15秒

VPN接続の種類を聞かれますが、今日はPPTP接続を前提に説明します。

スクリーンショット - 2012年06月19日 - 18時42分30秒

設定ダイアログが表示されたら、接続名、PPTPサーバのIPアドレス、ユーザ名、パスワードを入力して保存します。ここで入力した接続名は後にCLI接続する際にIDとして指定することになります。

スクリーンショット - 2012年06月19日 - 18時26分05秒

この時点で、一度デスクトップから接続確認しておきましょう。

問題無く接続できれば準備完了。


nmcliコマンドでシェルからVPN接続する


デスクトップで作成したネットワーク設定はUbuntu系ディストリビューションの場合、/etc/NetworkManager/system-connections/というディレクトリに保存されています。

端末(ターミナル)から確認すると僕のXubuntuではこんな感じになってます。

$ ls /etc/NetworkManager/system-connections/
my-vpn  my-wifi  e-mobile  eth0

先程作成したVPN接続設定もありますね。中身を見ると確かに設定した内容になってます。

$ sudo cat /etc/NetworkManager/system-connections/my-vpn

[connection]
id=my-vpn
uuid=7747fb06-42aa-4062-a938-5271c8dd52b3
type=vpn
autoconnect=false

[vpn]
service-type=org.freedesktop.NetworkManager.pptp
gateway=PPTPサーバIPアドレス
user=PPTP接続ユーザ名
password-flags=1

[ipv4]
method=auto

実はこのままだとパスワード認証が必要になり、CLI(端末)からは実行出来ないため、この設定ファイルを編集する必要があります。

まずはエディタで設定ファイルを開いて、

$ sudo vi /etc/NetworkManager/system-connections/my-vpn
※viが苦手な人はgeditで。

password-flagsの値を0に変更、[vpn-secrets]設定を追加します。

[connection]
id=my-vpn
uuid=7747fb06-42aa-4062-a938-5271c8dd52b3
type=vpn
autoconnect=false

[vpn]
service-type=org.freedesktop.NetworkManager.pptp
gateway=PPTPサーバIPアドレス
user=PPTP接続ユーザ名
#password-flags=1
password-flags=0

[ipv4]
method=auto

[vpn-secrets]
password=PPTP認証パスワード

これで準備OK。

早速接続しましょう。まずは、正しく認識されているか$ sudo nmcli conで確認します。

$ sudo nmcli con
名前         UUID    タイプ            タイムスタンプ-リアル
・・・
eth0           ***     802-3-ethernet    2012年xx月xx日 xx時xx分
my-vpn      ***     vpn                      2012年xx月xx日 xx時xx分
e-mobile     ***     gsm                     2012年xx月xx日 xx時xx分

作成したVPN名が表示されたら大丈夫。次のコマンドでシェルから接続してみましょう。

$ sudo nmcli con up id my-vpn

アクティブ接続の状態: 不明
アクティブ接続のパス: /org/freedesktop/NetworkManager/ActiveConnection/2
状態: VPN 接続(認証が必要) (2)
状態: VPN 接続 (3)
状態: VPN 接続(IP 設定を取得) (4)
接続はアクティベート済み

うまく接続出来たみたいですね。念の為、ifconfigコマンドで確認してみると、

$ ifconfig
・・・
ppp0      Link encap:Point-to-Pointプロトコル 
          inetアドレス:x.x.x.x  P-t-P:x.x.x.x  マスク:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  メトリック:1
          RXパケット:11 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:14 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:3
          RXバイト:391 (391.0 B)  TXバイト:409 (409.0 B)

お、無事VPN用にppp0インターフェースが作成されています。
(e-mobileなどデータ通信端末経由でVPN接続している場合、名前はppp0では無くなります)

cronなど組み合わせれば自動・定期的にVPNサーバに接続出来ますね。

切断する場合は、$ sudo nmcli con down id my-vpnですよ。

PPTPサーバ側をUbuntuで構築したいという場合は、こちらをどうぞ。

UbuntuでPPTP(VPN)サーバを構築する

それでは、より良いVPNライフを!


Ubuntuで作るLinuxサーバー (日経BPパソコンベストムック)

日経BP出版センター 
売り上げランキング: 326830


Posted by netbuffalo at 05:23│Comments(0)TrackBack(0) Linux | ネットワーク


この記事へのトラックバックURL

コメントする

名前
 
  絵文字