如何利用FreeBSD來連接中央大學的VPN Gateway
- 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 # traceroutewww.yahoo.com.tw traceroute 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