如何在CentOS 7上安装Mailtrain新闻通讯应用程序
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
Vultr为在同一位置运行的服务器提供了绝佳的专用网络连接。但是有时您希望位于不同国家/数据中心的两台服务器能够以私密和安全的方式进行通信。本教程将向您展示如何在OpenVPN的帮助下实现这一目标。这里使用的操作系统是Debian和CentOS,只是为了向您展示两种不同的配置。这可以轻松地适用于Debian-> Debian,Ubuntu-> FreeBSD等。
通过安装OpenVPN在计算机1上启动:
apt-get install openvpn
然后,将示例配置和用于生成密钥的工具复制easy-rsa
到/etc/openvpn
:
cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
您的键的默认值不再完全安全,要/etc/openvpn/easy-rsa/2.0/vars
使用您喜欢的文本编辑器修复此问题并修改以下行:
export KEY_SIZE=4096
接下来,确保将值加载到当前会话中,清理最终存在的密钥,并生成证书颁发机构:
cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca
系统将提示您提供信息。通过提供有关服务器的信息(例如,服务器的位置以及FQDN是/将是)将使您的生活更轻松。当您必须调试问题时,这很有用:
Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]
另一个必要条件是Diffie-Hellman密钥交换的参数。这些也需要生成:
./build-dh
重要说明:该build-dh
命令是一个相对复杂的过程,最多可能需要十分钟,具体取决于服务器的资源。
为了进一步提高此连接的安全性,我们将生成一个静态机密,该机密需要在所有客户端之间分发:
mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key
现在,您可以为服务器生成密钥:
./build-key-server server1
此命令将提示您提供一些信息:
Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]
最后一步是使用CA密钥对刚刚生成的证书请求进行签名:
1 out of 1 certificate requests certified, commit? [y/n]y
将必要的密钥和证书复制到单独的文件夹中:
cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*
现在进行配置,将其解压缩...
cd /etc/openvpn
gunzip server.conf.gz
...,然后server.conf
使用您喜欢的文本编辑器打开结果。该配置应类似于以下内容:
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client
keepalive 10 120
tls-auth keys/ta.key 0
tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 3
mute 20
重新启动服务后,您应该稍微看一下日志...
service openvpn restart && tail -f /var/log/syslog
...确保一切正常。如果未检测到错误,则可以为第二台服务器生成密钥:
cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2
同样,系统将提示您输入信息:
Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname)
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]
现在,您需要将必要的文件传输到第二台服务器,最好是加密的:
cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar
是时候切换到第二台服务器的SSH连接了。第一步是安装OpenVPN ...
yum install openvpn
...并停用firewalld
。替代品将是普通的iptables。
systemctl stop firewalld
systemctl disable firewalld
解压缩刚刚移到服务器的档案,并正确设置文件权限:
cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *
/etc/openvpn/client.conf
用您喜欢的文本编辑器创建。它看起来应该像这样:
client
dev tun
proto udp
remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn
persist-key
persist-tun
ca keys/ca.crt
cert keys/server2.crt
key keys/.key
ns-cert-type server
tls-auth keys/ta.key 1
tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
remote-cert-tls server
comp-lzo
verb 3
mute 20
最后一步是启动并启用服务:
systemctl start [email protected]
systemctl enable [email protected]
如果一切正常,则对第一个服务器执行ping操作应该没有问题:
PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms
您现在可以通过Internet建立私人连接!
如果您需要解决任何错误,请尝试使用以下命令检查日志:
journalctl -xn
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息