我可以将多个 openvpn 客户端连接到单个 openvpn 服务器吗?以下设置适用于单个用户
这是服务器配置(openvpn.conf)
port 1194
proto udp
dev tun
secret openvpn-key.txt
ifconfig 192.168.2.1 192.168.2.2
keepalive 10 120
comp-lzo
persist-key
persist-tun
status server-tcp.log
verb 3
Run Code Online (Sandbox Code Playgroud)
这是客户端配置
dev tun
proto udp
remote HOSTNAME_IS_HERE 1194
resolv-retry infinite
nobind
secret openvpn-key.txt
ifconfig 192.168.2.2 192.168.2.1
comp-lzo
verb 3
dhcp-option DNS 172.16.0.23
redirect-gateway def1
Run Code Online (Sandbox Code Playgroud)
等/系统配置
*nat
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -o eth0 -j MASQUERADE
COMMIT
Run Code Online (Sandbox Code Playgroud)
一切正常,直到第二个用户尝试使用相同的 VPN 密钥等进行连接。如何允许多个用户?
我目前正在为多个客户端运行 OpenVPN 服务器。所有流量都通过 VPN 定向(它被设置为网关;推送“重定向网关 def1”)。
到目前为止,一切正常。但是,我想将几台服务器连接到这个虚拟专用网络,而这些服务器不使用 OVPN 守护程序作为网关。
这些服务器必须可以从它们的 WAN 和它们的 LAN IP 地址访问。某些服务只能从 LAN 端访问。
对于客户端,有没有办法忽略推送重定向网关选项?
亲切的问候,图因斯拉克
我正在启动一个支持多个客户端到私有子网的 openvpn 服务器。因此,在私有子网上,连接的客户端将获得 IP 地址,例如 10.8.0.10、10.8.0.11 等。
我需要的设施之一是让客户能够找到彼此。客户端是否有任何简单且普遍接受的方法来查看分配给所有客户端的 IP 地址列表?
我不需要 DNS 名称或类似的东西。
我注意到我看到的一个 DNS 代理服务使用 openvpn 和隧道,据说只有 DNS 流量通过 VPN,它掩盖了 VPN 地理位置的用户,并允许用户系统将其初始连接用于所有其他流量。
我可以看到这对于我正在使用 VPN 的项目非常有用,我希望通过隧道路由的流量将是专门针对我们拥有的某些 Intranet 站点的 dns。
我试过思考他们的设置是如何通过 openvpn 工作的,我似乎无法找到有关 openvpn 源/目标过滤的信息。我发现的是 openvpn 管理员过滤客户端访问流量的示例,以便一个 openvpn 客户端可以与另一个 openvpn 客户端通信,这不是我想要的。
从我能想到的实现这一点的唯一方法是,如果 openvpn 为管理员提供过滤选项,管理员可以将其放置在排除 IP 过滤器列表中。例如,如果用户通过 DNS 查询 google.ca,则 openvpn IP 排除过滤器将看到 google.ca(我知道 openvpn 仅达到第 3 层,因此对 google 的请求将只是 google 的 IP,而不是在排除列表中)IP 不是通过隧道进行流量的可接受 IP,但如果用户想要与 myIntranetServer.com 交谈,则 vpn 知道允许流量通过 VPN。
当 openvpn 服务器由于 google 的 IP 不是允许通过 VPN 传输的 IP 列表中的 IP 而拒绝通过 google.ca IP 流量时,它会将通知发送回 openvpn 客户端,以便客户端操作系统生成 DNS查询而不是 openvpn 的 DNS 路由。
由于我不熟悉 openvpn …
我有我的个人 VPN,连接多个设备,以便它们可以在始终可访问的网络上拥有固定的 IP 地址(只要它们连接到 Internet)。这对我来说是必要的,因为我的设备可能在移动中,在不同的和不可预测的网络上(4G 网络手机,大学里的笔记本电脑,家里的家庭服务器),而且我有一个需要连接到它们的备份服务器(有时,我也必须)。
我也在考虑安装类似 syncthing 的东西,这也可能受益于更低的延迟和更紧密的节点。
另外,我很懒,我喜欢从我的智能手机播放/暂停在我的家庭服务器上播放的音乐,这可能不在同一个网络上(应该,但并非总是如此)。
这意味着我有一个 OpenVPN 服务器,并且openvpn客户端在每台设备上运行。它们都连接到服务器,任何两个节点的任何流量都必须经过服务器,服务器相对较远,吞吐量非常有限。这意味着延迟和缓慢。当我按下“暂停”按钮时,实际暂停音乐最多可能需要 10 秒钟。即使两个节点实际上都在同一个 LAN 上(因为它们通过 VPN 进行通信)。嗯。
理想情况下,应该存在某种创建 VPN 的方法,能够找到节点之间的最短路径,并尝试直接连接它们。类似于 Skype 与超级节点合作的方式?
虽然服务器离这里很远,但其中一个节点有一个公共 IP 地址,其他节点可以访问。它可以充当它们的服务器——即使它不是服务器本身,尽管对于某些节点来说它是更好的选择。
我想我可以做一些类似于同时运行客户端和服务器的事情,并在该节点上桥接它们,但这看起来并不优雅。它是骇人听闻的,它使 PKI 复杂化,它拆分了 VPN。我不喜欢。
虽然我可以使用像 PPTP 这样的简单 VPN,它确实不能确保通信安全,但我决定不想费心配置 Bacula 来加密节点之间的连接,这意味着 VPN 内部的流量是简单的。VPN 封装是唯一的安全性,因此它应该不会很弱。但是,任何解决“网状”式 VPN 没有保密性的东西都已经是一个好的开始——我会确保流量开始通过 SSL/TLS。
这看起来像是其他人可能遇到的问题,并且现在已经解决了。有这样的吗?
我也有可能以错误的方式看待这个问题,但到目前为止,它看起来是确保我始终可以远程连接到我的任何设备的最佳方法,无论我在哪里,或者它们在哪里。
我的OpenVPN配置有一个相当奇怪的问题。我正在从Windows 7官方最新客户端连接OpenVPN到我的OpenVPN服务器 ( OpenVPN 2.1.4 i386-redhat-linux-gnu)。
问题是我OpenVPN刚好在 1 小时后与服务器断开连接,我无法理解什么指令/选项对此负责。可能是客户端的问题?我尝试了不同的Windows系统和Windows VPN客户端。该Linux客户是否按预期工作,没有断开。
你能帮我解决这个问题吗?我曾尝试阅读的书籍和谷歌搜索,有些人建议玩keepalive和reneg-sec指令。但这似乎没有帮助。
OpenVPN 服务器配置
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 192.168.2.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.0.0 255.0.0.0"
client-config-dir ccd
route 192.168.51.0 255.255.255.0
keepalive 60 600
reneg-sec 5000
hand-window 15
tls-auth ta.key 0
comp-lzo
max-clients 50
user nobody
group nobody
persist-key …Run Code Online (Sandbox Code Playgroud) 或者,也许是任何 oauth?
我所能找到的 - 是谷歌的 2factor 身份验证。但我想使用 Google Apps base 进行 OpenVPN 身份验证。
我相信可以制作类似 gitlab 的东西。您可以将证书放在哪里,然后无需登录名和密码即可使用它。
摘要:我想连接到我的 VPN 并访问某些服务器,但对于所有其他流量,我想使用我的常规网络。
我在 VPS 上设置了 OpenVPN 服务器,我的server.conf文件如下所示:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 4
push "route 10.132.0.0 255.255.0.0"
Run Code Online (Sandbox Code Playgroud)
我使用以下.ovpn文件来设置 VPN 连接:
client
dev tun
proto udp
remote <my.vpn.server.com> 1194
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb …Run Code Online (Sandbox Code Playgroud) 我需要能够为多个网络提供特定的 dns 服务器,我想知道如何正确更新我的/etc/resolv.conf:
假设我有一个主要的 vpn,我通过它路由我所有的流量和 DNS 查询。但是我知道我有另一个 VPN 可以让我对网络进行特定访问,该 VPN 也作为 DNS 服务器,但它只服务于特定域,可以说:“mydomain.local”
我构建了以下resolv.conf:
nameserver 10.8.0.1
search mydomain.local
nameserver 10.250.0.2
Run Code Online (Sandbox Code Playgroud)
但是无论如何,DNS 查询都会继续到第一个域服务器,更改顺序无关紧要。
任何人都可以给我任何建议吗?
domain-name-system linux resolv.conf openvpn linux-networking
我在服务器和客户端配置中都设置了:
cipher none
auth none
Run Code Online (Sandbox Code Playgroud)
按照这个建议,我也使用 UDP 端口 1195。
当我启动服务器和客户端时,我收到以下警告:
Tue Dec 4 12:58:25 2018 ******* WARNING *******: '--cipher none' was specified. This means NO encryption will be performed and tunnelled data WILL be transmitted in clear text over the network! PLEASE DO RECONSIDER THIS SETTING!
Tue Dec 4 12:58:25 2018 ******* WARNING *******: '--auth none' was specified. This means no authentication will be performed on received packets, meaning you CANNOT trust that the data received by the …Run Code Online (Sandbox Code Playgroud) openvpn ×10
vpn ×2
g-suite ×1
gateway ×1
linux ×1
networking ×1
oauth ×1
p2p ×1
resolv.conf ×1
security ×1
traffic ×1
ubuntu ×1
ubuntu-16.04 ×1