OpenVPN + MySQL with User/Password Authentica…

2009-05-13 13:13:46来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Description :

        OpenVPN 使用 MySQL 帳號密碼驗證,必須要檢查 FreeBSD 本身是否有安裝 Mysql、Pam_mysql、Saslauthd 這三樣東西,OpenVPN 是屬於 SSL VPN 應用的類型,所以用戶端必需經由主機簽署的憑證才可以連線,若改以帳號/密碼為主要的登入方式用戶端就不需在更換機器後還要向 RootCA 主機重新申請憑證。
        不過 Clinet 端還是要有兩個東西一個是 RootCA Server 的 ca.crt 另一個是 OpenVPN Server 的 ta.key,為什麼要 ta.key ? ta.key 它是當做 OpenVPN Server 及 Client 之間彼此安全認證用,其實 ta.key 也可以不用設,這樣可以省去 client 端每次都要 ta.key 的麻煩 ( 畢竟 ta.key 是不可公開的所以要特別小心處理 ),不設 ta.key 一樣也可連線只是少了 TLS 彼此加密認證,這樣的好處是 Client 端只需要保有 ca.crt 就可跟 Server 端連線成功 ( ca.crt 是可公開所以無安全顧慮 )。
        架設安裝 OpenVPN 這部份就不再多做說明,請參考:
OpenVPN + MySQL with User/Password Authentication
Environment :
硬體:i386 PC Intel P3 500
記憶體網卡:512M RAM + 3Com 網卡 + D-link 530 網卡
作業系統:FreeBSD 6.2 Release
xl0:a.b.c.d ( Real IP for WAN )
vr0:10.88.88.0/24 ( Private IP for LAN )
tun0:10.8.0.0/24 ( Private IP for VPN )
Setp 1.
安裝 mysql41-server、pam_mysql、cyrus-sasl2-saslauthd 這三個是必須要用到的套件。
ovpn# cd /usr/ports/database/mysql41-serverovpn# make install cleanovpn# cd /usr/ports/security/pam-mysqlovpn# make install cleanovpn# cd /usr/ports/security/cyrus-sasl2-saslauthdovpn# make install cleanovpn# vi /etc/rc.conf        // 把 mysql 跟 saslauthd 加入開機自動啟動檔。
mysql_enable="YES"saslauthd_enable="YES"
Setp 2.
透過 MySQL 開始建立認證使用者的資料庫,及相關資料表內容同時新增一個測試帳號。
ovpn# /usr/local/etc/rc.d/mysql-server start        // 啟動 mysql service。
ovpn# mysqladmin -u root --password=OldPassword password NewPassword        // 用 mysqladmin 更改 mysql 的 root  密碼。
ovpn# mysql -p
mysql> create database vpn;        //  開始建立資料庫及資料表,資料庫為 vpn 資料表為 vpnuser。mysql> GRANT ALL ON vpn.* TO vpn@localhost IDENTIFIED BY '1234';        //  建立一個 localhost User 它可存取 vpn 資料庫的使用者權限,密碼也為 1234。mysql> use vpn;        //  切換到 vpn 資料庫目錄下以便開始規劃資料表。mysql> CREATE TABLE vpnuser (        //  開始規劃 vpnuser 這個資料表。    -> name char(20) NOT NULL,    -> password char(128) default NULL,    -> active int(10) NOT NULL DEFAULT 1,    -> PRIMARY KEY (name)    -> );
mysql> insert into vpnuser (name,password) values('test',password('1234'));       //  新增加一個使用者帳號 test 密碼 1234。mysql> exit

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Apache20 + MySQL51 + PHP5 + phpMyAdmin

下一篇:OpenVPN on FreeBSD with PF and Windows XP