我从我的 VPN 提供商那里获得了一个 openVPN 配置文件。它在 Ubuntu 上运行得很好,但在 alpine 上,我遇到了错误。
以下行失败:
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
/etc/openvpn/update-resolv-conf
在 alpine Linux 上不存在,但是/etc/openvpn/up.sh
存在/etc/openvpn/down.sh
。
日志包含以下输出:
Options error: --up script fails with '/etc/openvpn/update-resolv-conf': No such file or directory (errno=2)
Options error: Please correct this error.
Use --help for more information.
答案1
似乎 OpenVPN for Alpine Linux 软件包并未包含所有必要的脚本。如果您知道 VPN 提供商使用的 DNS 服务器的地址,则可以使用这个简单的解决方法。您还可以使用公共 DNS 服务器,例如 Cloudflare DNS (1.1.1.1):
- 输入命令:
sudo nano /etc/openvpn/update-resolv-conf
。 Nano 文本编辑器应该打开。 该文件应该是空的。将以下内容粘贴到文件中:
#!/bin/bash if [ -e /etc/resolv.conf.old ]; then mv /etc/resolv.conf.old /etc/resolv.conf chmod 777 /etc/resolv.conf exit fi mv /etc/resolv.conf /etc/resolv.conf.old cp /etc/resolv.conf.new /etc/resolv.conf chmod 777 /etc/resolv.conf
按Ctrl+ X,然后Y按 ,然后按Enter保存文件。
- 输入命令:
sudo nano /etc/resolv.conf.new
,然后键入nameserver [address of VPN's DNS server]
。 - 按Ctrl+ X,然后Y按 ,然后按Enter保存文件。
resolv.conf
这应该制作( )的新副本,并在VPN 激活时resolv.conf.new
复制它,然后在 VPN 结束时复制回旧的副本。resolv.conf
resolv.conf