[轉貼] 用xl2tpd建立L2TP協議的VPN連接
在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 |
實際使用中,我們一般只需要修改四處:
- [lac testvpn]這一句將VPN連接的名字設置爲testvpn,你應該把它改成你想要的名字
- name = someone這一句將您的用戶名配置爲someone,你應該把它改成你想要的名字
- lns = xxx.xxx.xxx.xxx這一句說明你要連接的服務器的地址爲xxx.xxx.xxx.xxx
- 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 |
實際使用,您一般只需要修改以下三處:
- remotename testvpn,這一句將VPN連接的名字設爲testvpn,您應該把它改成您想要的名字
- user "someone",這一句將VPN連接的用戶名設爲someone,您應該把它改成您真正的用戶名
- 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 系統)