如果安裝好 OpenVPN 其實可以使用他預設的製作金鑰來連線,但是要新增帳號或者管理帳號這部分就比較麻煩,所以還是用帳號密碼做管理比較容易

首先先安裝以下編譯程式需要的日常庫

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel \

下面安装 pam 组件

yum install pam_krb5 pam_mysql pam pam-devel -y

我們需要安裝 mysql 服務器

yum install mysql mysql-server mysql-devel mysql-libs -y

登錄 mysql 建立一個驗證用的測試數據庫,添加使用者帳號

mysql -u root -p

在 /etc/pam.d/ 下建立一個配置文件

vim /etc/pam.d/openvpn

輸入以下內容並保存

auth sufficient pam_mysql.so user=vpn passwd=vpn123 host=localhost db=vpn table=vpnuser usercolumn=name passwdcolumn=password where=active=1 sqllog=0 crypt=2

現在可以測試 pam_mysql 是否工作正常,但這個動作之前需要安裝 sasl

yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-lib cyrus-sasl-gssapi -y

測試是否成功

saslauthd -a pam

如果成功,顯示 0: OK 「Success.」,pam_mysql 工作正常了

下面可以開始配置 OpenVPN 服務器了。

這裡需要有一部非常重要的步驟,2.1 以上的 OpenVPN 的 openvpn-auth-pam.so 都會出現驗證錯誤的問題,這裡需要我們重新編譯一個低版本的,我這裡用 2.0.7 的,大家也可以使用 2.0.9 版本的。

cd /etc/openvpn

之後在伺服器端的 conf 檔中加入以下

client-cert-not-required

客戶端的 conf 檔

client

如果要讓客戶端連線時自動輸入帳號密碼可以在客戶端 conf 中的 auth-user-pass 結尾加上 檔案名稱+副檔名
auth-user-pass account.txt
並在同一個目錄底下新增一個 account 的 txt 檔
在第一行打上帳號,第二行打上密碼儲存即可

LinuxOpenVPN

此文章已被阅读次数…更新於2022-08-25