Skip to content

Latest commit

 

History

History
175 lines (106 loc) · 5.22 KB

File metadata and controls

175 lines (106 loc) · 5.22 KB

常见问题解答

问: 自从我安装 OpenVPN 以来,脚本已经更新了。我该如何更新?

答: 你无法更新。从脚本管理更新和新功能需要太多工作。你唯一的解决方案是卸载 OpenVPN 并使用更新的脚本重新安装。

当然,你可以(甚至建议)使用包管理器更新 openvpn 包。


问: 如何检查 DNS 泄漏?

答: 使用浏览器访问 browserleaks.comipleak.net(两者都执行 IPv4 和 IPv6 检查)。你的 IP 不应该显示出来(在使用和不使用 VPN 时都要测试)。DNS 服务器应该是你在设置期间选择的服务器,而不是你的 IP 地址或 ISP 的 DNS 服务器地址。


问: 如何修复 DNS 泄漏?

答: 在 Windows 10 上,DNS 泄漏默认通过 block-outside-dns 选项被阻止。 在 Linux 上,你需要根据你的发行版在 .ovpn 文件中添加这些行。

Debian 9, 10 和 Ubuntu 16.04, 18.04

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

Centos 6, 7

script-security 2
up /usr/share/doc/openvpn-2.4.8/contrib/pull-resolv-conf/client.up
down /usr/share/doc/openvpn-2.4.8/contrib/pull-resolv-conf/client.down

Centos 8, Fedora 30, 31

script-security 2
up /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.up
down /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.down

Arch Linux

script-security 2
up /usr/share/openvpn/contrib/pull-resolv-conf/client.up
down /usr/share/openvpn/contrib/pull-resolv-conf/client.down

问: 我可以使用 OpenVPN 2.3 客户端吗?

答: 可以。我真的建议使用最新的客户端,但如果你真的需要,请选择以下选项:

  • 无压缩或 LZ0
  • RSA 证书
  • DH 密钥
  • AES CBC
  • tls-auth

如果你的客户端版本 <2.3.3,请从你的 /etc/openvpn/server.conf.ovpn 文件中删除 tls-version-min 1.2


问: IPv6 在我的 Hetzner 虚拟机上不工作

答: 这是他们那边的问题。请参见 https://angristan.xyz/fix-ipv6-hetzner-cloud/


问: DNS 在我的 Linux 客户端上不工作

答: 请参见"如何修复 DNS 泄漏?"问题


问: 脚本对 sysctl 和 iptables 做了哪些更改?

答: Iptables 规则保存在 /etc/iptables/add-openvpn-rules.sh/etc/iptables/rm-openvpn-rules.sh。它们由服务 /etc/systemd/system/iptables-openvpn.service 管理

Sysctl 选项位于 /etc/sysctl.d/20-openvpn.conf


问: 如何访问连接到同一 OpenVPN 服务器的其他客户端?

答: 在你的 server.conf 中添加 client-to-client


问: 我的路由器无法连接

答:

  • Options error: No closing quotation (") in config.ovpn:46

    当询问是否自定义加密设置时输入 yes 并选择 tls-auth

  • Options error: Unrecognized option or missing parameter(s) in config.ovpn:36: tls-version-min (2.3.2)

    请参见问题"我可以使用 OpenVPN 2.3 客户端吗?"


问: 如何访问 OpenVPN 服务器远程局域网中的计算机?

答:/etc/openvpn/server.conf 中添加一个包含远程网络子网的路由并重启 openvpn。例如:如果服务器的局域网是 192.168.1.0/24,则添加 push "route 192.168.1.0 255.255.255.0"


问: 如何一次性添加多个用户?

答: 这里是一个示例 bash 脚本来实现这个功能:

userlist=(user1 user2 user3)

for i in ${userlist[@]};do
   MENU_OPTION=1 CLIENT=$i PASS=1 ./openvpn-install.sh
done

从文本文件中的列表:

while read USER
    do MENU_OPTION="1" CLIENT="$USER" PASS="1" ./openvpn-install.sh
done < users.txt

问: 如何更改为未来客户端创建的默认 .ovpn 文件?

答: 你可以通过编辑 /etc/openvpn/client-template.txt 来编辑创建 .ovpn 文件的模板


问: 对于我的客户端 - 我想设置我的内部网络通过 VPN,其余的通过我的互联网?

答: 你需要编辑 .ovpn 文件。你可以通过编辑 /etc/openvpn/client-template.txt 文件并添加以下内容来编辑创建这些文件的模板

route-nopull
route 10.0.0.0 255.0.0.0

例如 - 这里它会将所有 10.0.0.0/8 的流量路由到 vpn。其余的通过互联网。


问: 我已启用 IPv6,我的 VPN 客户端获得了 IPv6 地址。为什么我只能通过 IPv4 访问网站或其他双栈目标?

答: 这是因为在隧道内你没有获得公开可路由的 IPv6 地址,而是获得了 ULA(唯一本地局域网)地址。操作系统并不总是优先使用这个地址。你可以在操作系统策略中修复这个问题,因为这与 VPN 本身无关:

Windows(命令需要以管理员身份运行 cmd.exe):

netsh interface ipv6 add prefixpolicy fd00::/8 3 1

Linux:

编辑 /etc/gai.conf 并取消注释以下行,同时将其值更改为 1

label fc00::/7      1

除非你在 VPN 服务器 server.conf 中添加一行或两行来推送至少 1 个 IPv6 DNS 服务器,否则这将无法正常工作。大多数提供商也有 IPv6 服务器,添加两行 push "dhcp-option DNS <IPv6>"