在Linux中用xl2tpd建立L2TP協議的VPN連接需要兩個配置文件,一個是給xl2tpd的配置文件,一個是給pppd的配置文件(xl2tpd會調用pppd)。

    爲說明方便,我們假設我們要建立的VPN連接的名字爲testvpn,連到的l2tp服務器地址爲xxx.xxx.xxx.xxx,用戶名爲someone,密碼爲passwordstring。那麼該xl2tpd的配置文件應該如下所示:

1
2
3
4
5
6
7
8
9
[global]
access control = no
port = 1701
 
[lac testvpn]
name = someone
lns = xxx.xxx.xxx.xxx
pppoptfile = /etc/ppp/peers/testvpn.l2tpd
ppp debug = no

    實際使用中,我們一般只需要修改四處:

  1. [lac testvpn]這一句將VPN連接的名字設置爲testvpn,你應該把它改成你想要的名字
  2. name = someone這一句將您的用戶名配置爲someone,你應該把它改成你想要的名字
  3. lns = xxx.xxx.xxx.xxx這一句說明你要連接的服務器的地址爲xxx.xxx.xxx.xxx
  4. pppoptfile = /etc/ppp/peers/testvpn.l2tpd告訴xl2tpd爲該VPN連接調用pppd時,pppd的配置文件的路徑爲/etc/ppp/peers/testvpn.l2tpd,你應該把它改成你真正建立的pppd的名字

    以上這個文件被您修改並保存後,假設放在/etc/xl2tpd目錄,名字爲testvpn.options。

    下面,我們還需要一個pppd的配置文件,也就是之前提到的/etc/ppp/peers/testvpn.l2tpd。

    爲此,我們打開/etc/ppp/peers目錄,在其中新建一個文件testvpn.l2tpd(如果你在xl2tpd的配置文件中pppd配置文件寫 的是/etc/ppp/peers/testvpn.l2tpd的話)。結合之前有關VPN連接的說明,該pppd配置文件應該如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
remotename testvpn
user "someone"
password "passwordstring"
unit 0
lock
nodeflate
nobsdcomp
noauth
persist
nopcomp
noaccomp
maxfail 5
debug

    實際使用,您一般只需要修改以下三處:

  1. remotename testvpn,這一句將VPN連接的名字設爲testvpn,您應該把它改成您想要的名字
  2. user "someone",這一句將VPN連接的用戶名設爲someone,您應該把它改成您真正的用戶名
  3. password "passwordstring",這一句將VPN連接的密碼設爲passwordstring,您應該把它改成您真正的密碼

    至此,所有準備工作都完成了,下面我們需要做幾件事情:

  1.切換到root用戶

     2. 檢查目錄/var/run/xl2tpd是否存在。不存在的話,手動新建一個。

  3.啓動xl2tpd

    在終端中輸入下列命令並回車:

1
xl2tpd -c /etc/xl2tpd/testvpn.options

    你需要把/etc/xl2tpd/testvpn.options改成你的真正的xl2tpd配置文件的絕對路徑(未測試相對路徑是否可以)。

    4.建立VPN連接。

        在終端中輸入下列命令並回車:

1
echo 'c testvpn' >/var/run/xl2tpd/l2tp-control

        當然,你需要把testvpn改成你的VPN連接的名字(即xl2tpd的配置文件中,跟在lac後面的詞語)。

    5.查看VPN連接是否成功建立:

    如果是Ubuntu的話,一般需查看/var/log/syslog文件,如果文件中pppd條目中出現succeeded等詞語,說明連接成功,VPN連接已經成功建立

         如果是Fedora的話,一般需改成查看/var/log/message文件。

         事實上,查看的文件是由/etc/rsyslog.conf的內容決定的。

    6.如果順利的話,至此VPN連接已經成功建立,但是如果想讓默認連接都走VPN的話(這也是通常的情況),我們還需要修改路由配置。

         在終端中輸入下列命令並回車:

1
2
route del default
route add -net 0.0.0.0 netmask 0.0.0.0 dev ppp0

         至此,所有配置都已完成。

    7.斷開VPN連接

    在終端中輸入下列命令並回車:

1
echo 'd testvpn' >/var/run/xl2tpd/l2tp-control

         當然,你需要把testvpn改成你的VPN連接的名字(即xl2tpd的配置文件中,跟在lac後面的詞語)。

 

PS:如果你覺得以上這些難以理解的話,可以使用vpnpptp軟件幫助你建立L2TP協議的VPN連接(全圖形化界面,非常方便)

        項目地址:http://code.google.com/p/vpnpptp/

本文取自 http://nanjingabcdefg.is-programmer.com/posts/25458.html

如果還沒有安裝 xl2tpd 則請使用   aptitude install xl2tpd 進行安裝 (Ubuntu 系統) 


相關文章