1.程式配置: 安裝jnc,這個簡單從AUR裝就OK惹
https://aur.archlinux.org/packages.php?K=jnc&SeB=x
從學校VPN載到juniper client的檔案,學校已經壓成rpm檔,於是用rpmextract.sh解開它,裡面有幾個程式包括:NC.jar, ncsvc, libncui.so之類的
把解壓縮的檔案放到~/.juniper_networks/network_connect裡面
2.修改jnc: jnc的執行程式是用perl寫的,位置應該會裝在/usr/bin/內,用超級使用者權限做一些修改:
my $ncdir = "$ENV{'HOME'}/.juniper_networks/network_connect";
my $configdir = "$ncdir/config";
這兩個指定VPN執行檔與設定檔的的位置,覺得這兩個地方風水不好的話,可以修改這個地方。my $configdir = "$ncdir/config";
my $gui = 1;
可以設定要不要有gui介面,這部分需要java,我懶得管什麼gui就把它改成0 XD3.設定檔: 如上,預設的設定檔為~/.juniper_networks/network_connect/config/default.conf
格式如下:
host=foo.bar.com
user=username
password=secret
realm=very long realm with spaces
cafile=/etc/ssl/bar-chain.pem
certfile=
下面則是我的設定檔,為了保護學校的校譽,在這裡把學校名字蓋住:
user=username
password=secret
realm=very long realm with spaces
cafile=/etc/ssl/bar-chain.pem
certfile=
host=sslvpn.XXX.edu.tw
user=garbage
password="Garbagepass"
realm=XXX Email Account
cafile=/home/yodalee/.juniper_networks/network_connect/XXX.pem
certfile=
在realm的部分,就是登入vpn時除了帳號密碼外的那欄,我是用chromium F12看原始碼找到相對應的地方user=garbage
password="Garbagepass"
realm=XXX Email Account
cafile=/home/yodalee/.juniper_networks/network_connect/XXX.pem
certfile=
<select
size="1" name="realm">
注意這裡大小寫要全對才會過。4.VPN認證檔: 這地方要從VPN提供者的網頁載下它的認證,使用下面的指令:
openssl s_client -connect url:443 > test.pem
然從編輯該pem檔,把-----BEGIN CERTIFICATE-----到 -----END CERTIFICATE-----以外的部分都刪掉,把這個pem檔放在設定檔中,cafile指定的位置
5.特殊權限: 這部分主要是參考資料2中所提到的: 好像是因為jnc呼叫的ncsvc中,會更動/etc/resolve.conf的內容還是怎麼樣,要對ncsvc的權限做特別設定,我也沒有試著不設定然後連結VPN,不知道不設會怎麼樣:
$ sudo chown root:root ~/.juniper_networks/network_connect/ncsvc
$ sudo chmod 6711 ~/.juniper_networks/network_connect/ncsvc
$ chmod 744 ~/.juniper_networks/network_connect/ncdiag
$ sudo chmod 6711 ~/.juniper_networks/network_connect/ncsvc
$ chmod 744 ~/.juniper_networks/network_connect/ncdiag
6.連結vpn: 使用jnc就可以直接連結惹 沒圖沒真相,用vpn連結學校資料庫,可以看得到只有學校網域才享有的download full text:
再用jnc stop就可以切斷vpn連線。
參考資料:
1. https://wiki.archlinux.org/index.php/Juniper_VPN
2. http://www.rz.uni-karlsruhe.de/~iwr91/juniper/
致謝: 本篇文章感謝黃偉寧(AZ Huang)同學的指導
沒有留言:
張貼留言