如何利用Linux來連接中央大學的VPN Gateway
- Linux VPN 設定
- 下載並安裝 pptp client 的軟體,這個軟體可以由 http://pptpclient.sourceforge.net/ 取得,只需要安裝 pptp-linux (我們是使用 1.2.0 版) 即可,pppd 並不需換 ppp-mppe 的版本。在 /etc/ppp/pap-secrets 要加入登入的帳號密碼,如帳號叫 john 密碼是 secret時,可以加一行如下:
"john" * "secret" *
- 這些都準備好之後可以試著連線:(用 root 帳號)pptp vpngate.cc.ncu.edu.tw updetach defaultroute lock name john它可能會出現如下畫面
Using interface ppp0 Connect: ppp0 <---> /dev/pts/0 Remote message: Login ok Deflate (15) compression enable local IP address 211.76.253.3 remote IP address 211.76.253.1
由於 default gateway 如果已經預設,就會使 ppp 的連線無法成為預設,為了方便起見,我們寫了一個簡單的 Shell Script 來幫助使用者設定開始/結束使用 VPN 的連線,/etc/ppp/pap-secrets 還是要加入帳號及密碼,但在連線時只要下 vpn.sh start 或 ACCOUNT="john" vpn.sh start的指令就可以開始進行 VPN 的連線動作,要結束連線時,也只要打 vpn.sh stop就可以回復原來的連線
以上在 Redhat Linux 7.2 ~ 9.0 上測試過
以下是 vpn.sh 的內容
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /etc/sysconfig/network
[ "$VPNHOST" = "" ] && VPNHOST="140.115.17.144" [ "$ACCOUNT" = "" ] && ACCOUNT="guest"
running=0
pidof pptp > /dev/null [ "$?" -eq 0 ] && running=1
case "$1" in 'start') if [ $running -eq 1 ]; then echo VPN is running else route add ${VPNHOST} gw ${GATEWAY} route delete default gw ${GATEWAY} pptp ${VPNHOST} updetach defaultroute lock name ${ACCOUNT}
if [ "$?" -ne 0 ]; then route add default gw ${GATEWAY} route delete ${VPNHOST} gw ${GATEWAY} fi fi ;;
'stop') if [ $running -eq 1 ]; then killall pptp route add default gw ${GATEWAY} route delete ${VPNHOST} gw ${GATEWAY} else echo VPN is not running fi ;;
*) echo "Usage: $0 { start | stop }" exit 0 ;; esac