VPNサーバーとの接続には、Ubuntu上でxl2tpdおよびStrongSwanを使用することが一般的です。以下に、UbuntuでVPNサーバーとの接続を行うための手順を示します。

必要なパッケージのインストール

sudo apt-get update 
sudo apt-get install strongswan xl2tpd


VPN設定ファイルの作成 VPNサーバーとの接続に必要な設定情報を含むVPN設定ファイルを作成します。以下のコマンドを実行して、新しい設定ファイルを作成します。

sudo nano /etc/ipsec.conf

ファイルに以下の内容を追加します。

conn vpn-connection 
 auto=add 
 authby=secret 
 prio=high 
 type=transport 
 ikev1=1 
 left=%defaultroute 
 leftprotoport=17/1701 
 right=<VPNサーバーのIPアドレス>
 rightprotoport=17/1701

共有鍵の設定 以下のコマンドを実行して、共有鍵の設定を行います。

sudo nano /etc/ipsec.secrets 

ファイルに以下の内容を追加します。

%any <VPNサーバーのIPアドレス> : PSK "<共有鍵>" 

L2TP設定の作成 以下のコマンドを実行して、L2TPの設定を行います。

sudo nano /etc/xl2tpd/xl2tpd.conf

ファイルに以下の内容を追加します。

[lac vpn-connection] 
 lns = <VPNサーバーのIPアドレス> 
 redial = yes 
 require chap = yes 
 require authentication = yes 
 name = <VPN接続名> 
 ppp debug = yes 
 pppoptfile = /etc/ppp/options.l2tpd.client 
 length bit = yes

PPPオプションの設定 以下のコマンドを実行して、PPPのオプション設定ファイルを作成します。

sudo nano /etc/ppp/options.l2tpd.client

ファイルに以下の内容を追加します。

ipcp-accept-local
 ipcp-accept-remote 
refuse-eap 
require-mschap-v2 
noccp 
noauth 
idle 1800 
mtu 1410 
mru 1410 
defaultroute 
usepeerdns 
debug 
lock 
connect-delay 5000 
name <ユーザー名> password <パスワード>

<ユーザー名><パスワード>には、VPNサーバーへの接続に使用する認証情報を入力します。


サービスの再起動 以下のコマンドを実行して、サービスを再起動します。

sudo service strongswan restart sudo service xl2tpd restart

VPN接続の確立 以下のコマンドを実行して、VPN接続を確立します。

sudo ipsec up vpn-connection 
sudo xl2tpd-control connect vpn-connection

VPN接続が成功すると、VPNサーバーとの通信が確立されます。

これで、Ubuntu上でVPNサーバーとのxl2tpd/ipsec通信を行うためのクライアント側の設定が完了します。接続が確立されれば、通常のネットワーク接続と同様にVPNを使用できるようになります。