如何在Ubuntu 16.04上创建OpenVPN服务器

介绍

OpenVPN是使用SSL(安全套接字层)的安全VPN,并提供广泛的功能。在本指南中,我们将介绍使用easy-rsa托管证书颁发机构在Ubuntu 16上安装OpenVPN的过程。

安装

为了开始,我们需要安装一些软件包:

sudo su
apt-get update
apt-get install openvpn easy-rsa

证书颁发机构

OpenVPN是SSL VPN,这意味着它充当证书颁发机构,以便对双方之间的通信进行加密。

设定

我们可以通过运行以下命令开始设置OpenVPN服务器的证书颁发机构:

make-cadir ~/ovpn-ca

现在,我们可以切换到新创建的目录:

cd ~/ovpn-ca

配置

用名称打开文件,vars然后查看以下参数:

export KEY_COUNTRY="US"
export KEY_PROVINCE="NJ"
export KEY_CITY="Matawan"
export KEY_ORG="Your Awesome Organization"
export KEY_EMAIL="me@your_awesome_org.com"
export KEY_OU="YourOrganizationUnit"

并使用您自己的值进行编辑。我们还需要查找并编辑以下行:

export KEY_NAME="server"

建立

现在,我们可以通过运行以下命令开始构建证书颁发机构:

./clean-all
./build-ca

这些命令可能需要几分钟才能完成。

服务器密钥

现在,我们可以通过运行以下命令开始构建服务器的密钥:

./build-key-server server

虽然该server字段应替换为KEY_NAME我们vars先前在文件中设置的字段。就我们而言,我们可以保留server

服务器密钥的构建过程可能会问一些问题,例如其自身的到期时间。我们用回答所有这些问题y

强键

下一步,我们创建一个强Diffie-Hellman密钥,将在交换密钥时使用它。输入以下命令以创建一个:

./build-dh

HMAC

现在,我们可以创建一个HMAC签名来增强服务器的TLS完整性验证:

openvpn --genkey --secret keys/ta.key

生成客户端密钥

./build-key client

配置服务器

成功创建自己的证书颁发机构后,我们可以从复制所有需要的文件并配置OpenVPN本身开始。现在,我们将生成的密钥和证书复制到我们的OpenVPN目录中:

cd keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
cd ..

然后,我们可以通过运行以下命令将示例OpenVPN配置文件复制到我们的OpenVPN目录中:

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf

编辑配置

现在,我们可以开始编辑配置以适合我们的需求。打开文件/etc/openvpn/server.conf并取消注释以下行:

push "redirect-gateway def1 bypass-dhcp"
user nobody
group nogroup
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
tls-auth ta.key 0

我们还需要在配置中添加新行。将以下行放在该tls-auth行下:

key-direction 0

允许转发

因为我们要允许客户通过我们的服务器访问Internet,所以我们打开以下文件/etc/sysctl.conf并取消注释此行:

net.ipv4.ip_forward=1

现在我们必须应用更改:

sysctl -p

NAT

为了向我们的VPN客户端提供Internet访问,我们还必须创建NAT规则。此规则是一条简短的规则,看起来像这样:

iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE

开始

现在,我们可以启动OpenVPN服务器,并通过键入以下密钥来让客户端连接:

service openvpn start

结论

到此结束我们的教程。享受您的新OpenVPN服务器!

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息