我正在阅读OpenVPN构build密钥脚本用于生成私有客户密钥(使用OpenSSL)的参数,并注意到参数“-nodes”。 根据文档,这个参数是创build一个未encryption的密钥。 那么,我不是OpenVPN的专家,所以我不知道是否应该改变这一点,特别是因为它是默认选项。 主要问题是:为什么OpenVPN在生成私钥时做出这个select? 这不安全?
我已经在使用连接25个分支的OpenVPN服务器。 configuration如下。 我们公司有外包开发人员,他们需要访问DMZ中的服务器。 如何在这个configuration之上添加N个用户(开发人员)并为他们进行基于密码的身份validation? 更喜欢Active Directory的用户。 port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem tls-server tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 tls-timeout 120 auth SHA1 cipher BF-CBC server 10.255.1.0 255.255.255.0 client-config-dir /etc/openvpn/ccd route 10.2.0.0 255.255.0.0 route 10.3.0.0 255.255.0.0 route 10.4.0.0 255.255.0.0 route 10.5.0.0 255.255.0.0 route 10.6.0.0 255.255.0.0 route 10.10.0.0 255.255.0.0 route 10.8.0.0 […]
我实现了build立一个OpenVPN的路由所有的stream量通过远程openvpn服务器。 OpenVPN服务器有两个接口:eth0 – > Internet访问eth1 – >私有networking:192.168.1.0/24 现在,所有的stream量都与Eth0共享。 为server.conf # SERVER UDP/9494 mode server proto udp port 9494 dev tun tcp-queue-limit 128 tun-mtu 1500 mssfix 1300 tun-mtu-extra 32 txqueuelen 15000 # KEYS ca ca.crt cert server.crt key server.key dh dh2048.pem tls-auth ta.key 0 cipher AES-256-CBC # NETWORK server 192.168.2.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" push […]
我有一个VPS上的Ubuntu 12.05,我运行Apache 2.2和OpenVPN – 都在同一个公共IP上。 我的目的是在我的Apachenetworking服务器中build立一个区域,只有当我连接到VPN(使用OpenVPN)时,我才能够访问这个区域,对于我不喜欢公开访问的各种工具,那么密码在这种情况下,基于安装程序将不起作用。 好的, ifconfig告诉我, tun0接口具有A类ip 10.8.0.1 。 我去更新了我的example.com域名的DNS区域,并且在private.example.com子域名上添加了一个Alogging,该域名将parsing为10.8.0.1 。 另一方面,在Apacheconfiguration上,我添加了一个将侦听10.8.0.1 ( <VirtualHost 10.8.0.1:80> […] )的虚拟主机。 这很好 – 现在只有当我连接到VPN时才可以访问private.example.com ,但是这个设置有多安全? 有没有明显的缺点,我没有看到; 这是通常使用的设置? 注意:当然,我们考虑一下,Apache2和VPN都没有受到其他方式的攻击。
我是一个新的用户论坛,我正在做我的第一个VPN设置。 我用PrivateInternetAccess购买了VPN服务。 我正在VMware ESXi远程主机上设置Linux VM(CentOS 6.5服务器)。 它位于另一个虚拟机的后面,它使得多个虚拟机具有NATfunction。 我可以完全访问ESXi主机和NAT服务器,进行必要的更改。 我在服务器上有一个openvpn客户端,它工作正常。 我的问题是,当我激活客户端和隧道的作品,我失去了通过SSH连接到服务器。 我想我必须添加一个规则来分开configuration文件或在Iptables保持打开SSH端口。 如果您需要任何附加信息,我会尽快添加。 ============= 客户端configuration文件: client dev tun proto udp remote xxx.privateinternetaccess.com 1194 resolv-retry infinite nobind persist-key persist-tun ca /etc/openvpn/ca.crt crl-verify /etc/openvpn/crl.pem tls-client remote-cert-tls server comp-lzo reneg-sec 0 verb 4 # verbose mode status /etc/openvpn/openvpn-status.log log /etc/openvpn/openvpn-log.log auth-user-pass /etc/openvpn/login.pia ============= 曾经连接到VPN的IP客户端是(隧道ips每个会话更改): eth1 Link encap:Ethernet HWaddr 00:0C:29:6F:FA:48 […]
我试图通过openvpn隧道build立一个nfs连接。 这真的很烦,我不知道下一步该怎么做。 Connecteintesting已经在几个平台上进行了。 使用debian / centos / openwrt。 更改了服务器<>客户端 一个“直接”的nfs连接一直可以通过这样做:(DEMO IP HERE) mount -t nfs 192.168.2.1:/extroot test 但是: mount -t nfs 10.0.0.1:/extroot test 总是失败:(永远超时) mount.nfs: Connection timed out 另外我做了一个远程vps和连接立即build立。 openvpn隧道似乎很好。 平安好iperf更好的100mbits洙….. 我的configuration靠近,任何帮助是非常欢迎! NFS: / etc / exports:('*'仅用于debugging) /extroot *(rw,all_squash,insecure,async,no_subtree_check) /etc/hosts.allow文件 portmap: ALL OpenVPN的: 为server.conf: port 6565 proto udp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key […]
作为客户端连接到另一台服务器时,我的服务器使用它的服务器证书。 webserver – server1.mydomain.com openvpnserver – server2.mydomain.com Server1是为* .mydomain.com安装了SSL的Web服务器 Server2是我用来连接Server1的OpenVPN服务器 Server1无法连接到Server2,因为它使用它自己的* .mydomain.com证书,而不是在启动OpenVPN请求时提供和configuration的server1.crt。 有什么时候使用* .mydomain.com证书或何时使用server1.mydomain.com证书的configuration? 或者,也许我可以覆盖这从OpenVPN的客户端conf? 在OpenVPN服务器上的日志文件: Thu Nov 13 08:44:16 2014 us=545958 192.168.1.1:43737 VERIFY ERROR: depth=0, error=unable to get local issuer certificate: CN=*.mydomain.com 客户端configuration: client dev tun proto udp remote server2.mydomain.com 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ca /root/vpn/ca.crt cert /root/vpn/server1.crt […]
我们正在运行一个多站点的业务,每个站点连接到一个中央OpenVPN服务器,以提供对内部系统的访问。 目前我正在使用Monit来检查OpenVPN客户端是否正在运行,如果远程服务器正在运行,但是由于一些站点运行在不稳定的4G调制解调器上,VPN连接有时会中断而不会死亡,这使得monit认为一切精细。 对VPN网关的一个简单的ping将显示连接是否正常工作,但是当我读取monit文档时,ping检查似乎不能与进程检查混合,所以我可以添加检查但不能实际用它重启进程。 有没有一些明显的方法来做到这一点,我错过了,或者有另一种方法使OpenVPN能够从这种问题自行恢复? 这是我的监督检查(基本上从手册中粘贴): check process openvpn with pidfile /var/run/openvpn.client.pid start program = "/etc/init.d/openvpn start" stop program = "/etc/init.d/openvpn stop" if failed host *my-vpn-gateway* port 1194 type udp then restart group net depends openvpn_init depends openvpn_bin check file openvpn_init with path /etc/init.d/openvpn group net check file openvpn_bin with path /usr/sbin/openvpn group net
我有一个openvpn服务器和许多客户端连接到它的设置。 所有这些客户端都有固定的IP地址,从他们的证书名称派生。 在openvpn服务器的后面,我有一个pipe理服务器,需要连接到客户端(监视/执行一些远程命令)。 |-C1 |-C2 A — VPN server -| |-C3 |-C4 服务器A可以通过VPN连接到C1-4,使用固定的ips。 我想要做的是将设置扩展到多个VPN服务器(处理服务器中断,并分散负载),同时还有一个简单的方法来find任何特定的远程客户端。 |-C1 |-C2 — VPN server 1 -| | A | — VPN server 2 -| |-C3 |-C4 我知道如何configuration客户端随机select一个openvpn服务器,我不知道如何pipe理ip分配。 我应该为服务器保留一个子网吗? 在这种情况下,A如何知道IP在哪个服务器后面? 我应该每个openvpn服务器有一个子网? 在这种情况下,A如何知道要联系哪个IP地址? 我已经看了一下dynamic路由系统,但我将不得不pipe理一个路由每个客户端ip,这似乎是非常错误的…另一种select是保持一个DNS(或DNS样)服务更新映射{客户端名称=>当前的IP地址},但看起来很复杂,我不确定我们所有的软件栈都能适应它。 这种故障转移机制通常如何处理?
我有一个使用位于远程服务器(不是OpenVPN服务器实例的主机)上的数据库进行身份validation的OpenVPN用户的任务。 我们使用Python作为我们所有工具的主要语言。 这个任务的一般解决scheme可以使用OpenVPN选项[b] auth-user-pass-verify [/ b],并带有我的python脚本的path来执行我想要的任何validation逻辑。 但是我的python脚本的执行可能需要一些时间,例如远程服务器很远,或者可能会严重计算用户身份validation。 我认为auth脚本可能需要几秒钟才能执行。 如您所知,OpenVPN是一个单线程应用程序,它使用非阻塞I / O来处理多个客户端。 这就是为什么当OpenVPN执行某个脚本时,它会停止所有的I / O操作并等待脚本执行完成。 如果我们有很长时间的validation脚本和大量的用户想要validation,我们可能会在OpenVPNnetworking中遇到性能问题。 如果OpenVPN支持延期授权操作,这将是一件好事。 它确实有这个支持,但只在插件系统。 所有现代的插件都使用它,例如openvpn-radius。 但是我不想在c / c ++中编写所有的逻辑,或者在使用其他语言编写OpenVPN插件时感到麻烦。 我认为好的解决scheme是用cm写这个OpenVPN插件,这个插件将使用延迟方法进行auth并调用python代码分离线程或进程。 这个python代码可以做些事情 – 使用db包装器,使用请求库等等。这个python代码不会阻止OpenVPN处理其他客户端。 我想我们可以在OpenVPN接入服务器中看到这样的事情,但是我想用劣质的OpenVPN服务器。 而Access Server不是开源的。 我可以尝试写这个OpenVPN的Python插件,但在开始之前,我决定做这个研究,问你:OpenVPN有一些方法来调用auth脚本而不停止处理其他networkingI / O? 我想听说我们有这个选项,不需要写这样的插件,但我真的无法find这样的东西。