在文档中不清楚我是否需要创建一个配置文件或者我只需要检查它?
这不是重复的,因为在这里我询问的是是否需要创建我的,而不是查找。
OpenVPN 的配置仅包括使用此命令 bash <(curl -fsS https://as-repository.openvpn.net/as/install.sh
在文档中不清楚我是否需要创建一个配置文件或者我只需要检查它?
这不是重复的,因为在这里我询问的是是否需要创建我的,而不是查找。
OpenVPN 的配置仅包括使用此命令 bash <(curl -fsS https://as-repository.openvpn.net/as/install.sh
我有一台 Synology Diskstation DS220+。几个月前,我安装了 VPN Server 软件包并启用了 OpenVPN,这样我就可以从远程计算机访问文件。大约 4 个月以来,一切运行正常。几天前,当我尝试使用 OpenVPN 客户端连接到 VPN 时,我开始收到 TLS 错误,无法连接。我凭直觉使用 Synology VPN Server 的导出配置功能重新导出了配置。我开始将 VPNConfig.ovpn 文件的内容与我在客户端上使用的内容进行比较,当我找到该auth-user-pass
部分时,我注意到证书代码 () 存在差异<ca> ---BEGIN CERTIFICATE--- ... ---END CERTIFICATE--- </ca>
。我将新证书数据复制到客户端的配置文件中,覆盖现有数据,然后我就可以再次连接到 VPN。
我的问题是,是什么促使 VPN 服务器更新其证书,以及我如何知道这种情况是否/何时再次发生,以便我不会因无法访问 VPN 而陷入困境?
在 OpenVpn 连接中,我想使用椭圆曲线,但我不知道 EC 和 ED 之间有什么区别。哪个更好?
另外,在一些文档中我读到存在 ECDH,如果我没记错的话,它是椭圆曲线与 Diffie-Hellman 的组合。但我不确定 ECDH 是否与 EC 相同。如果不一样的话EC是不是就不需要DH文件了?如果不一样,ECDH 比 EC 更好吗?
如果EC与ED不同,ED是否需要DH文件?
综上所述,我想知道不同算法之间的区别以及哪种算法更好。
谢谢。
所以我现在拥有的是:
ip_forward
在服务器上启用我没有的是客户端能够使用 VPN 服务器上的 NAT 访问互联网。换句话说,如果我使用redirect-gateway
选项,客户端可以访问专用网络内的资源,但无法访问互联网。
这是网络配置(替换了前两个八位字节):
root:~# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 destination 10.42.0.1
inet6 fe80::dd0b:2f12:6907:258d prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0 destination 127.0.0.1
inet6 ::2 prefixlen 128 scopeid 0x80<compat,global>
inet6 2a02:7b40:6deb:474e::1 prefixlen 128 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 555.777.71.78 netmask 255.255.255.255 broadcast 555.777.71.78 destination 555.777.71.78
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
venet0:1: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 666.777.71.78 netmask 255.0.0.0 broadcast 666.255.255.255 destination 666.777.71.78
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
现在,我正在尝试根据我在 Web 上找到的内容设置 NAT 的 iptables 规则。我当前的 iptables 设置与我获得 VPS 时的设置相同:
root:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
root:~# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
我试过了:
-A POSTROUTING -s 10.42.0.0/24 -o venet0 -j SNAT --to-source 555.777.71.78
我也尝试过这个规则集
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -i tun0 -o venet0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-t nat -A POSTROUTING -s 10.42.0.0/24 -o venet0 -j MASQUERADE
两者似乎都没有效果。如果我理解正确的话,规则应该在添加后立即生效,但在重新启动后不会持续存在,除非明确保存。那么是否有涵盖这一特殊情况的最新教程,或者如果没有,我应该从哪里开始阅读来解决这个问题?
我正在阅读有关 OpenVPN 2.6.6 配置的文档,我对 TLS 密码有疑问。
我运行这个命令:
openvpn --show-tls
我看到以下信息:
Available TLS Ciphers, listed in order of preference:
For TLS 1.3 and newer (--tls-ciphersuites):
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
For TLS 1.2 and older (--tls-cipher):
TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
列出了 TLS 版本。我想使用 TLS 1.3,因此推荐的选项似乎是 TLS_AES_256_GCM_SHA384,因为它是按优先顺序列出的。
如果我没记错的话,椭圆密码比非椭圆密码更安全,但 TLS 1.3 不推荐任何椭圆密码,只推荐 AES。
所以我的问题是,我可以在 TLS 1.3 中使用椭圆密码吗?为什么它不推荐 TLS 1.3 使用椭圆密码?
我问这个是因为后来,对于其他选项,如 tls cert 配置文件,使用配置文件 suiteb,它似乎是最安全的,它仅与 SHA256/SHA384、ECDSA 与 P-256 或 P-384 兼容。
那么总的来说,使用椭圆密码是否比不使用它更好?为什么 OpenVPN 不推荐使用 TLS 1.3?
使用旧版本的 Easy-RSA,我使用这种方式创建 HMAC 文件:
Openvpn—genkey—secret ta.key
但是,我没有看到使用 EasyRSA3 创建此文件的方法。我正在关注此文档:EasyRsa3 文档
也许新版本的 OpenVpn 不需要使用 HMAC?
这基本上是这里的问题,但反过来。我有一个远程 OpenVPN 客户端,它连接到我的服务器并使用地址 10.1.0.29 进行注册。无论是通过 ping、ssh 还是 apache Web 服务器,都可以从服务器轻松访问此地址。但是,服务器本地网络上的其他机器无法以任何方式访问这个 10.1.0.29 地址。
可能是什么问题?OpenVPN 服务器确实打开了 ip_forwarding,当 OpenVPN 客户端与 OpenVPN 服务器位于同一局域网时,系统工作正常。但是一旦 OpenVPN 客户端处于远程连接上,ovpn 服务器局域网上的任何机器都无法访问它,只能访问服务器本身。
更新:客户端也在接收数据包,它只是拒绝确认或对它做任何事情。
我有一个wireguard接口wg_vpn,但我不希望它是全局的,所以我在wg_vpn.conf中添加了“Table = off”这一行,以防止wg-quick修改路由表。
我还有一个openvpn/wireguard接口tun0/wg0,客户端可以通过它访问我的服务器。我创建了这些 iptables 规则:
iptables -t nat -A POSTROUTING -o wg_vpn -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wg0 -o wg_vpn -j ACCEPT
ip6tables -t nat -A POSTROUTING -o wg_vpn -j MASQUERADE
ip6tables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i wg0 -o wg_vpn -j ACCEPT
但是它们不起作用,除非我通过以下方式使 wg_vpn 全局化:
ip route add default dev wg_vpn
ip -6 route add default dev wg_vpn
然后他们工作。
但是我只想将tun0/wg0转发到wg_vpn而不修改全局路由表,请问我知道如何实现吗?
提前致谢!
我在个人 AWS EC2 实例上设置了 OpenVPN 服务器,并尝试从 Ubuntu 14.04 客户端连接到它。(我必须更新服务器以获得 TLS 1.0 的最低版本才能使握手工作)
现在,当我键入sudo openvpn --config client.ovpn
它似乎连接时,通过以“初始化序列完成”结束日志消息
但是,在我的网络浏览器中,我的 IP 地址与我的家庭 IP 地址相同。
完成 vpn 连接需要什么?
编辑:我包括“ip route”和openvpn命令的日志输出
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.12 metric 1
注意:在下面的所有输出中,我已将我的 openvpn 服务器的公共 ip 替换为 111.222.333.444 以保持匿名
sudo openvpn --config client.ovpn --redirect-gateway def1 --auth-user-pass pass.txt
Tue Apr 12 07:04:20 2022 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Jun 22 2017
Tue Apr 12 07:04:20 2022 WARNING: file 'pass.txt' is group or others accessible
Tue Apr 12 07:04:20 2022 Control Channel Authentication: tls-auth using INLINE static key file
Tue Apr 12 07:04:20 2022 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Apr 12 07:04:20 2022 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Apr 12 07:04:20 2022 Socket Buffers: R=[212992->212992] S=[212992->212992]
Tue Apr 12 07:04:20 2022 UDPv4 link local: [undef]
Tue Apr 12 07:04:20 2022 UDPv4 link remote: [AF_INET]111.222.333.444:1194
Tue Apr 12 07:04:20 2022 TLS: Initial packet from [AF_INET]111.222.333.444:1194, sid=2847d960 bd54dabd
Tue Apr 12 07:04:20 2022 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Tue Apr 12 07:04:20 2022 VERIFY OK: depth=1, CN=OpenVPN CA
Tue Apr 12 07:04:20 2022 VERIFY OK: nsCertType=SERVER
Tue Apr 12 07:04:20 2022 VERIFY OK: depth=0, CN=OpenVPN Server
Tue Apr 12 07:04:21 2022 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Tue Apr 12 07:04:21 2022 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Apr 12 07:04:21 2022 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Tue Apr 12 07:04:21 2022 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Apr 12 07:04:21 2022 Control Channel: TLSv1, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-SHA, 2048 bit RSA
Tue Apr 12 07:04:21 2022 [OpenVPN Server] Peer Connection Initiated with [AF_INET]111.222.333.444:1194
Tue Apr 12 07:04:23 2022 SENT CONTROL [OpenVPN Server]: 'PUSH_REQUEST' (status=1)
Tue Apr 12 07:04:23 2022 PUSH: Received control message: 'PUSH_REPLY,explicit-exit-notify,topology subnet,route-delay 5 30,dhcp-pre-release,dhcp-renew,dhcp-release,route-metric 101,ping 12,ping-restart 50,comp-lzo no,redirect-private def1,redirect-private bypass-dhcp,redirect-private autolocal,redirect-private bypass-dns,route-gateway 172.27.232.1,route 172.27.224.0 255.255.240.0,route 172.31.0.0 255.255.0.0,block-ipv6,ifconfig 172.27.232.15 255.255.248.0,auth-token SESS_ID'
Tue Apr 12 07:04:23 2022 Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:4: dhcp-pre-release (2.3.2)
Tue Apr 12 07:04:23 2022 Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:5: dhcp-renew (2.3.2)
Tue Apr 12 07:04:23 2022 Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:6: dhcp-release (2.3.2)
Tue Apr 12 07:04:23 2022 Unrecognized option or missing parameter(s) in [PUSH-OPTIONS]:18: block-ipv6 (2.3.2)
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: timers and/or timeouts modified
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: explicit notify parm(s) modified
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: LZO parms modified
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: --ifconfig/up options modified
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: route options modified
Tue Apr 12 07:04:23 2022 OPTIONS IMPORT: route-related options modified
Tue Apr 12 07:04:23 2022 ROUTE_GATEWAY 192.168.1.1/255.255.255.0 IFACE=eth0 HWADDR=ec:f4:bb:57:57:1a
Tue Apr 12 07:04:23 2022 TUN/TAP device tun0 opened
Tue Apr 12 07:04:23 2022 TUN/TAP TX queue length set to 100
Tue Apr 12 07:04:23 2022 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Tue Apr 12 07:04:23 2022 /sbin/ip link set dev tun0 up mtu 1500
Tue Apr 12 07:04:23 2022 /sbin/ip addr add dev tun0 172.27.232.15/21 broadcast 172.27.239.255
Tue Apr 12 07:04:28 2022 ROUTE remote_host is NOT LOCAL
Tue Apr 12 07:04:28 2022 /sbin/ip route add 111.222.333.444/32 via 192.168.1.1
Tue Apr 12 07:04:28 2022 /sbin/ip route add 0.0.0.0/1 via 172.27.232.1
Tue Apr 12 07:04:28 2022 /sbin/ip route add 128.0.0.0/1 via 172.27.232.1
Tue Apr 12 07:04:28 2022 /sbin/ip route add 172.27.224.0/20 via 172.27.232.1 metric 101
Tue Apr 12 07:04:28 2022 /sbin/ip route add 172.31.0.0/16 via 172.27.232.1 metric 101
Tue Apr 12 07:04:28 2022 Initialization Sequence Completed
0.0.0.0/1 via 172.27.232.1 dev tun0
default via 192.168.1.1 dev eth0 proto static
111.222.333.444 via 192.168.1.1 dev eth0
128.0.0.0/1 via 172.27.232.1 dev tun0
172.27.224.0/20 via 172.27.232.1 dev tun0 metric 101
172.27.232.0/21 dev tun0 proto kernel scope link src 172.27.232.15
172.31.0.0/16 via 172.27.232.1 dev tun0 metric 101
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.12 metric 1
我有一个 VPN 设置,允许我通过隧道回家并访问网络上运行的任何家庭服务器。
但是,我只能通过我的 Android 设备的移动网络或连接到移动热点的 Macbook 使用它。我可以从任何网络连接到我的 OpenVPN 服务器,但是当客户端设备连接到任何家庭/工作网络(ISP,因为没有更好的术语,在下面的日志中)时,连接就会超时。
不确定它是否相关,但这是arp
输出的样子。我使用 OpenVPN Connect 连接到我家的 OpenVPN 服务器。
> # ISP
> arp -a
iopsys.lan (192.168.1.1) at 34:e3:80:8c:b8:c0 on en0 ifscope [ethernet]
? (192.168.1.117) at a4:98:13:44:93:c7 on en0 ifscope [ethernet]
? (192.168.1.160) at (incomplete) on en0 ifscope [ethernet]
jbl-bar-9.lan (192.168.1.223) at 2c:fd:b3:d1:18:bc on en0 ifscope [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]
> # ISP + VPN tunnel home – can't access any home machine by its IP, although they are in the list below
> arp -a
? (192.168.1.1) at 34:e3:80:8c:b8:c0 on en0 ifscope [ethernet]
? (192.168.1.117) at a4:98:13:44:93:c7 on en0 ifscope [ethernet]
? (192.168.1.160) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.223) at 2c:fd:b3:d1:18:bc on en0 ifscope [ethernet]
? (192.168.1.224) at 24:6f:28:5b:bc:c0 on en0 ifscope [ethernet]
? (192.168.1.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]
> # Mobile hotspot
> arp -a
? (192.168.146.123) at ce:30:4:ae:27:6c on en0 ifscope [ethernet]
? (192.168.146.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]
> # Mobile hotspot + VPN tunnel home – everything works, I can access all local IPs that aren't even listed in the table below
> arp -a
? (192.168.146.123) at ce:30:4:ae:27:6c on en0 ifscope [ethernet]
? (192.168.146.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
? (xxx.xxx.xxx.xxx) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]
我想我错过了 VPN 如何工作的部分内容,即两个网络(客户端的 LAN 和服务器的 LAN)如何分开,如果两者都使用相同的 IP 范围并且我想要做的是访问服务器的 LAN。我尝试在线搜索,但我认为我没有使用正确的关键字来找到它。
如果有人能指出我正确的方向,我将不胜感激,因为我真的很想了解如何使其工作以及为什么会发生这种行为。