2012年06月20日
Ubuntuでコマンドを使ってVPNクライアント接続する方法
VPNサーバに自動・定期的に接続・切断したい場合って時々ありますよね。
そんな時の為に、今日はCLI(コマンド・ライン・インタフェース)を使ってVPNクライアント接続する方法をご紹介します。
そんな時の為に、今日はCLI(コマンド・ライン・インタフェース)を使ってVPNクライアント接続する方法をご紹介します。
まずはデスクトップからVPN接続設定を作成・確認
設定ファイルを直接作成することも出来るんですが、一番簡単な方法でまずはデスクトップからVPN接続設定を作成しましょう。
僕はXubuntuを使っていてテーマもカスタマイズしているので、普通のUbuntuと雰囲気が違いますが、基本は一緒。デスクトップ上からアクセスできるメニュー(パネル)からネットワーク・アイコンをクリックし、”VPN接続” > ”VPNを設定”を選択します。
表示されたネットワーク接続設定でVPNタブを選択し、”+追加”ボタンをクリック。
VPN接続の種類を聞かれますが、今日はPPTP接続を前提に説明します。
設定ダイアログが表示されたら、接続名、PPTPサーバのIPアドレス、ユーザ名、パスワードを入力して保存します。ここで入力した接続名は後にCLI接続する際にIDとして指定することになります。
この時点で、一度デスクトップから接続確認しておきましょう。
問題無く接続できれば準備完了。
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パソコンベストムック)
posted with amazlet at 12.06.20
日経BP出版センター
売り上げランキング: 326830
Honeywell 【前面カバーが外せて羽根が洗える】 ターボサーキュレーター(自動首振り) ブラック HFT-2114-BK
posted with amazlet at 12.06.20
Honeywell (2009-04-10)
売り上げランキング: 130
売り上げランキング: 130