首頁我是相片相簿文字 » Ubuntu 8.10 PPTP server
Ubuntu 8.10 PPTP server2008-12-18
ubuntu

Ubuntu 8.10 PPTP Server Installation

其實, 目的只是弄個VPN Server來做跳板, 卻沒想到花了我三天兩夜的腦力...

筆記供後人參考吧~

[背景]

SERVER: COMPAQ m700, (p3-700, 256M+64M, 30GB)

ISP: HINET 固定 IP

[安裝 Ubuntu 8.10]

請 google 一下吧~

簡單來說, 我是先裝好 Win2000後, 再用 Wubi 裝 Ubuntu 8.10; 有遇到三個問題:

1. 光碟機無限迴圈

現像: 安裝至100%時, 會出現 "找不到光碟機" 的錯誤, 按下"重試"後, 會再從 0%開始重新讀取的無限迴圈

原因: Ubuntu的光碟驅動對於有COMBO功能的光碟機有問題。亦即可讀DVD; 實際放CD片安裝。

解決: 把Wubi 和 ubuntu 8.10的iso檔放在一起; 用自帶的虛擬光碟安裝。

2. 第一次啟動出現 Error 15 訊息

現像: 安裝100%完成後, 第一次重新啟動, 會出現 Error 15的訊息。

原因: Ubuntu 對於硬碟控制需要設置, 我安裝時是選在 IDE 0 的 D:, 但安裝程式預設可能是IDE 1 = D:

解決: 有兩種方法, 一個是將硬碟控制解碼(google的到, 但我沒試) ; 另一個比較簡單, 安裝在 C: 下~

3. 系統設定 在 94% 時出現 GRUB 嚴重錯誤

現像: 第一次重啟後, 會進入 ubuntu 的桌面中進行系統設定, 在 94%時跳出小視窗 "GRUB嚴重錯誤"

原因: 疑似 ubuntu 需要與外網連結進行一些下載的作業, 此時並未插入網路線

解決: 移除 ubuntu, 重新安裝並插上網路線(不需撥號, 可直接對外的) 即可。

以上, 所以安裝 Ubuntu 8.10 後, 我就開始懷疑自己的智力了...(誤)

~

[ Ubuntu + ADS L固定IP, 撥接上網設定 ]

是的, 你沒看錯, 就是固定IP的撥接上網。

我在安裝 Ubuntu 時, 是躲在 ip 分享器背後下搞定, (我在想若不能直接連上網, 可能上述的錯誤3還是會發生?)

不過因為他未來要挑VPN Server的大樑, 所以就必需硬上固定IP啦!!

先在桌面的左上方點擊: 應用程式 -> 附屬應用程式 -> 終端機

這時就進入 Linux 的指令介面囉, 話說我也是完全不懂~ 所以就鬧了一個超大笑話~ 哈!

步驟: (以下都在終端機下輸入)

1. START>>設定pppoe連線資訊

$ sudo pppoeconf

會開啟一個視窗, 都按預設的 YES, 在帳號和密碼的地方請輸入你的 hinet 資訊

固定IP: 8XXXXXXX@ip.hinet.net / PASSWORD

浮動IP: 8XXXXXXX@hinet.net / PASSWORD

2. NEXT >>編輯ip設定檔

$ sudo nano /etc/network/interfaces

此時會出現一個 nano 的文字編輯畫面, 請將下面的碼

auto eth0
iface eth0 inet dhcp


更改及加入

auto eth0
iface eth0 inet static
address 220.232.XXX.YYY
netmask 255.255.255.0
gateway 220.232.XXX.254


(220.232.XXX.YYY為Hinet提供的固定IP位址, 此處請按個別情況設定)

存檔 - 離開

3. NEXT >>重啟網路功能


$ sudo /etc/init.d/networking restart

此時, 理論上就能連上 internet 囉~

~

[PPTP server 設定]

緊接著就是重頭戲PPTP server的安裝了, PPTP是一種VPN的模組功能, 據說相容性較好,

所以我選擇用他跑 VPN 的功能。

請開啟終端機的視窗

1. START >> 安裝pptpd程序

$ sudo apt-get install pptpd

按完 Yes 後, 請等他自已跑完~

2. NEXT >> pptpd.conf 設定

$ sudo nano /etc/pptpd.conf

此時會出現一個 nano 的文字編輯畫面, 請找到下面的碼; 並修改他!

#localip XXX
#remoteip XXX


去掉 "#" 符號, 表示啟用; 並加上


localip 192.168.0.1 ← 本地主機的IP
remoteip 192.168.0.2-5 ← 遠端客戶的IP範圍, 2-5表示同時允許四台機器連線


存檔, 離開


3. NEXT >> pptpd-options 設定

$ sudo nano /etc/ppp/pptpd-options

此時出現 nano 的文字編輯畫面, 請找到下面的碼; 修改之

# Authentication

name XXXXX ← XXXXX 表示此PPTP Server的主機名稱, 請自行設定, 本例為  pptpd

name pptpd

# Network and Routing  (設定DNS)

ms-dns 168.95.192.1
ms-dns 168.91.1.1

這兩個ip是 Hinet 的 DNS位址, 請接自己的ISP設定。

存檔, 離開

3. NEXT >> chap-secrets 建立VPN用戶名


$ sudo nano /etc/ppp/chap-secrets

請自己增加用戶帳號

格式: User_name Server_name Password IP_limit

例: max2 pptpd max2 140.114.87.5 或 max2 pptpd max2 * ( *表示不做限制)


存檔

4. NEXT >> 重啟 pptpd 服務

$ sudo /etc/init.d/pptpd restart

OK, 至此, 理論上就可以用 WinXP 撥接至 VPN Server 囉~

但我的不行... 所以我又裝了兩個network-manager, 我也搞不清楚是怎麼讓pptpd啟用成功的了?

$ sudo apt-get install network-manager-pptp

$ sudo apt-get install network-manager-vpnc

在我另一台 WINXP 成功連上 VPN 後, 網路還是被封閉的, 所以此時就繼續把 NAT 搞定

~

[NAT 設定]

1. Start >> 開啟 ipv4 forward


$ sudo nano /etc/sysctl.conf

尋找以下字串

#net.ipv4.ip_forward=1

去掉 "#" 符號, 表示啟用; 存檔

$ sudo sysctl -p

2. Next>> 安裝 iptables

$ sudo apt-get install iptables

安裝完成後, 要為iptables加入一個規則..

$ sudo iptables -t nat -A POSTROUTING -s 192.168.0.1/5 -o ppp0 -j SNAT --to-source 220.132.xxx.YYY

上述很重要的就是 ppp0, 而非 eth0, 我就在這裡卡超久的。

第一個IP範圍是可共享網路的IP位址; 第二個IP指的是外網的IP地址。

弄好後, 遠端主機就可以用 VPN 連線囉!

接著要把 iptables 的設定成每次開機皆讀取。

3. Next>>iptables存取

$ sudo iptables-save > /etc/iptables

上述指令表示將現有的iptable規則儲存到 /etc/iptables 這份文件中。

然後再一次修改 /etc/network/interfaces 文件~

$ sudo nano /etc/network/interfaces

gateway 220.232.XXX.254 的下一行, 加入:

pre-up iptables-restore < /etc/iptables

表示將/etc/ iptables 的配置在每次開機時, 重新讀取。

~

以上弄好後, 就算是告一段落了,

我的 Ubuntu 8.10 + PPTP Server 也是大工告成~ 喔耶!!
Leave a comment*required

Howdy, Leave a comment here :)