:::

FreeBSD VPN 設定

step 1 : 安裝vpn的client 請先利用ports 安裝pptpclient

# cd /usr/ports

#make search key=pptp

之後可以找到pptpclient所在之位置,切換到該目錄下

#make install

step 2 : 設定ppp.conf

請先參考位於/usr/local/share/examples/pptpclient下的README檔
然後可以把位於該目錄下的ppp.conf的範例檔先cp到 /etc下的ppp目錄下編輯

#cp /usr/local/share/examples/pptpclient/ppp.conf /etc/ppp/ppp.conf

#cd /etc/ppp/

#ee ppp.conf

vpn: ------------------------------------------識別標籤 (自己取一個吧!)

set authname u0058500 --------------------sparc帳號

set authkey 12345 --------------------------sparc密碼

set timeout 0

set ifaddr 0 0

add 211.76.254.0/24 HISADDR --------------- 學校開放的ip/port

alias enable yes

編輯好之後,更改它的權限,以確保這個檔案中的密碼不是每個使用者都能看到

#chmod 640 ppp.conf

step 3 : 啟動 pptpclient

識別標籤(請務必使用在ppp.conf中所定義的識別標籤)

# /usr/local/sbin/pptp 140.115.11.243 vpn 學校vpn server的Ip 如果想要檢查是不是真的有跑起來,可以下這個指令

# ifconfig

如果有成功連接上可以看見下列這些訊息:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 211.76.254.24 --> 211.76.254.1 netmask 0xffffffff
Opened by PID 3561

step 4 : 更改預設gateway

如果沒有更改預設gateway,在連接網路時會從原本預設的gateway出去,而不是從VPN

# sudo route delete default 140.115.1.254

# sudo route add default 211.76.254.1

如果要檢查是否有成功更改gateway,可以下這個指令:

# netstat –nr

如果成功應該可以看到最上面有:

Internet:

Destination Gateway Flags Refs Use Netif Expire

default 211.76.254.1 UGSc 1 16 tun0

#traceroute www.yahoo.com.tw

raceroute to rc.yahoo.akadns.net (66.218.71.198), 64 hops max, 44 byte packets

1 v254-1.NTCU.net (211.76.254.1) 3.003 ms 1.994 ms 1.150 ms

以上啟動還有更改gateway的所有步驟,我們都可以用一個script來幫我們完成:

# ee pptp.sh

#/bin/sh

case "$1" in

start)

/usr/local/sbin/pptp 140.115.11.243 vpn &

y=0

while [ $y -lt 4000 ]

do

y=` echo "$y+1" | bc `

done

netstat -rn | grep 211.76.254.1 | wc -l

sudo route delete default 140.115.1.254

x=0

while [ $x -lt 500 ]

do

x=` echo "$x+1" | bc `

done

route add default 211.76.254.1

;;

stop)

killall pptp

i=0

while [ $i -lt 500 ]

do

i=`echo "$i+1" | bc`

done

route add default 140.115.1.254

echo VPN stop

;;

*)

echo "Usage: ^Basename $0 {start|stop}" >&2

;;

esac

然後再更改這個script的權限

# chmod 755 pptp.sh

這樣以後如果要啟動vpn只需要下這個指令就可以了

# sudo ./pptp.sh start

要停止VPN就下這個指令

#sudo ./pptp.sh stop