OpenVPN 使用帳號密碼認證

公開日: 2019-06-03 00:00 更新日: 2022-08-25 00:00 455文字 3 min read

この投稿は「日本語」では表示できません。元の投稿を表示しています。
如果安裝好 OpenVPN 其實可以使用他預設的製作金鑰來連線,但是要新增帳號或者管理帳號這部分就比較麻煩,所以還是用帳號密碼做管理比較容易 首先先安裝以下編譯程式需要的日常庫 下面安装 pam 组件 我們需要安裝 mysql 服務器 登錄 mysql 建立一個驗證用的測試數據庫,添加使用者帳號 在 /etc/pam.d/ 下建立一個配置文件 輸入以下內容並保存 現在可以測試 pam\_mysql...

如果安裝好 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

© 2010 - 2026 丁丁 @ThanatosDi
Powered by theme astro-koharu · Inspired by Shoka