我们正在尝试为我们的业务运行 OpenVPN 服务器。我似乎无法找到答案的一个问题是:
当我们为其中一位用户生成密钥供他们在家使用时,他们是否可以在家用笔记本电脑和家用台式机上使用相同的密钥?还是我们需要为每个用户的客户端机器生成单独的密钥?
我在我的 VPS 上定义了一个未绑定的DNS 服务器,它似乎可以工作。我需要使用 DNS 服务器而不是公共 DNS 服务器,因为某些 ISP 阻止了公共 DNS IP。我的 openvpn.conf 文件是:
dev tun
proto tcp
# Notice: here I set the listening port to be 80 to avoid possible port blockage
port 80
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
#status openvpn-status.log
#verb 3
client-to-client
push "redirect-gateway def1"
#pushing public DNS IPs
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.222.220"
comp-lzo
Run Code Online (Sandbox Code Playgroud)
正如此处建议的那样,我尝试使用服务器的 IP(例如 …
是否有任何东西可以为 UDP 启用“类似 telnet”的功能?我知道 TCP 和 UDP 之间的区别,以及为什么 telnet 本身不起作用 - 但我想知道从最终用户的角度来看是否有类似于 telnet 客户端的东西。例如 udp-telnet [ip] [sending-port] [receiving-port] 然后打印出数据包是否返回。
拥有这样的工具将有助于测试使用 UDP 连接的 OpenVPN 的防火墙设置。
是否可以在 OpenVPN 的客户端配置文件(那些在“client-config-dir”指定的路径中)中添加注释,即以“#”或“//”等开头的内容?如果是这样,适当的注释字符是什么?
我大部分时间都在家远程工作。要访问不同的服务器(通过 SSH),我必须使用 OpenVPN。我想一次连接到所有这些(三个,有时是四个),所以我不必一直切换。我的设置是 Windows 7 和一台只有一个 NIC 的 PC。是否有可能(如果是,如何?)同时连接多个 VPN(可能使用某种虚拟网络设备)?
谢谢安德烈亚斯
我在两台服务器之间遇到了非常慢的 OpenVPN 传输速率。对于这个问题,我将把服务器称为服务器 A 和服务器 B。
服务器 A 和服务器 B 都运行 CentOS 6.6。两者都位于具有 100Mbit 线路的数据中心,并且 OpenVPN 之外的两个服务器之间的数据传输运行接近约 88Mbps。
但是,当我尝试通过在服务器 A 和服务器 B 之间建立的 OpenVPN 连接传输任何文件时,我的吞吐量大约为 6.5Mbps。
iperf 的测试结果:
[ 4] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 49184
[ 4] 0.0-10.0 sec 7.38 MBytes 6.19 Mbits/sec
[ 4] 0.0-10.5 sec 7.75 MBytes 6.21 Mbits/sec
[ 5] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 49185
[ 5] 0.0-10.0 sec 7.40 MBytes 6.21 Mbits/sec
[ 5] 0.0-10.4 sec 7.75 MBytes …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题,即“/etc/resolv.conf在配置了 dns 推送的 openvpn 连接后,NetworkManager 未更新”。
这是我的 openvpn 服务器配置:(出于安全原因,我已将域名更改为 ABC.COM ;))
########################################
# Sample OpenVPN config file for
# 2.0-style multi-client udp server
#
# Adapted from http://openvpn.sourceforge.net/20notes.html
#
# tun-style tunnel
port 1194
dev tun
# Use "local" to set the source address on multi-homed hosts
#local [IP address]
# TLS parms
tls-server
ca keys/ca.crt
cert keys/static.crt
key keys/static.key
dh keys/dh1024.pem
proto tcp-server
# Tell OpenVPN to be a multi-client udp server
mode server
# …Run Code Online (Sandbox Code Playgroud) 我有一个运行 CentOS 7 的 VPS,我通过 SSH 连接到它。我想在 VPS 上运行 OpenVPN 客户端,以便通过 VPN 路由互联网流量,但仍允许我通过 SSH 连接到服务器。当我启动 OpenVPN 时,我的 SSH 会话断开,我无法再连接到我的 VPS。如何配置 VPS 以允许在 VPS 的实际 IP (104.167.102.77) 上打开传入的 SSH(端口 22)连接,但仍通过 VPN 路由传出流量(例如来自 VPS 上的 Web 浏览器)?
我使用的 OpenVPN 服务是 PrivateInternetAccess,一个示例 config.ovpn 文件是:
客户 开发屯 原始UDP 远程 nl.privateinternetaccess.com 1194 解决重试无限 没有绑定 持久键 持久化 ca.crt TLS客户端 远程证书 TLS 服务器 授权用户通行证 comp-lzo 动词 1 重新秒 0 crl-验证crl.pem
VPS的ip地址:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
链接/环回 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 范围主机 lo … 我正在使用 OpenVPN,虽然我可以使用 easyrsa 生成证书就好了,但我不太了解 easyrsa vars 文件中的设置:
export KEY_COUNTRY=""
export KEY_PROVINCE=""
export KEY_CITY=""
export KEY_ORG
export KEY_EMAIL=""
export KEY_EMAIL=
export KEY_CN=
export KEY_NAME=
export KEY_OU=
export PKCS11_MODULE_PATH=
export PKCS11_PIN=1234
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这些设置?提前致谢。
从逻辑上讲,VPN 在隧道方面应该比 SSH 更快,因为:
但是,今天我通过两种方法测试了 Redis 复制。
我在连接到美国东部 AWS 虚拟机的爱尔兰 AWS 虚拟机上运行了测试。
由于我的测试用例是Redis复制,这正是我测试的——我运行了一个空白的Redis服务器,加载完成后,我执行slaveof了另一个服务器,并测量了Connecting to MASTER和之间的时间 MASTER <-> SLAVE sync: Finished with success。在这之间,我使用了
while 1; do redis-cli -p 7777 info | grep master_sync_left_bytes;sleep 1; done
Run Code Online (Sandbox Code Playgroud)
粗略估计速度。
SSH 遥遥领先:约 11MB/s,而 OpenVPN 的约 2MB/s。
这是否意味着我所研究的所有内容都是错误的,还是我的设置配置严重错误?
我用相同的数据集做了几次测试,得到了这些结果:
以下是带有双向测试的 iperf 结果(SSH …
openvpn ×10
ssh ×2
vpn ×2
dns-server ×1
networking ×1
pki ×1
resolv.conf ×1
testing ×1
udp ×1
windows-10 ×1
windows-7 ×1