目标
在我的 Raspberry Pi 上设置 NordVPN 并将其用作网关。
当前设置
- 运行 Arch ARM 的 Raspberry Pi2,通过以太网线连接到我的路由器
- NordVPN 帐户
nordvpn
安装在我的 Rpi 上
配置
这是我配置树莓派的方法。第一步是运行nordvpn
并选择所需的国家/地区。然后我必须处理流量路由。
启用IP转发:
echo -e 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
设置 NAT:
sudo iptables -t nat -A POSTROUTING -o nordlynx -j MASQUERADE
sudo iptables -A FORWARD -i nordlynx -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o nordlynx -j ACCEPT
问题
此时,一切都很顺利,我获得了位于正确国家/地区的 IP。不幸的是,大多数服务(例如 Netflix、Youtube 和其他一些网站)无法识别我在另一个国家/地区。我知道这不是 NordVPN 问题,因为 Chrome 扩展程序可以正常工作。
有任何想法吗?
答案1
我不使用浏览器插件,我只是从终端连接。以下是我为让所有内容在 Raspberry Pi OS 64 位上运行而采取的步骤:
$ sudo wget -qnc https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb
$ sudo dpkg -i /pathToFile/nordvpn-release_1.0.0_all.deb
$ sudo apt update
$ sudo apt install nordvpn
$ sudo usermod -aG nordvpn $USER
$ sudo nordvpn login
如果您需要本地流量,例如使用 VNC,请将您的本地 IP 范围列入白名单,在我的例子中:
$ nordvpn whitelist add subnet 192.168.1.0/24
不知道为什么,但在 Linux 上我无法在不改变技术的情况下运行 NordVPN:
$ nordvpn set technology nordlynx
终于,我们可以连接了!
$ nordvpn connect
答案2
更新于 2024-04-13删除了 mangle 规则,因为不需要
我不喜欢被告知我只能使用一个功能,如果我只使用一个预先选择的设置配置,特别是当基础设施支持并提供一个工具,允许在任何给定时间动态选择最佳可用路径时苍蝇。
我在互联网上找到的选项都共享一个通用的仅限 OpenVPN 的解决方案。起泡沫,冲洗,重复。
目前的解决方案如下:
选择单个服务器。下载该单个服务器的静态配置文件,该文件仅适用于较差的协议。完成不必要的复杂设置和配置过程。最后,请祈祷所选服务器能够随着时间的推移继续一致地执行,或者当性能一次又一次下降时再次重复该过程............为我工作,所以我开始解决这个问题。对于那些感兴趣的人,我相信我已经解决了“dynamic-nordlynx-whole-network-router”问题。
我的解决方案:
它归结为 3 条 iptables 规则。由于它使用本机 Linux 应用程序,因此它可以使用所有可用的功能。这意味着您可以告诉要连接到哪台服务器,或者让它动态连接到您选择的类别中当前最好的服务器,例如 p2p、onion 等。自动连接有效。我想你应该已经明白了。使用 OpenVPN 协议可能会起作用,但我还没有尝试过,因为放弃 OpenVPN 是我这样做的部分原因。 Killswitch 始终开启且无法禁用。
iptables 规则才是真正的关键。我们都知道转发流量的 3 个基本规则。您必须使用“nordlynx”作为 WAN 接口。
$ iptables -t nat -A POSTROUTING -o nordlynx -j MASQUERADE
$ iptables -A FORWARD -i <LAN> -o nordlynx -m state --state RELATED,ESTABLISHED -j ACCEPT
$ iptables -A FORWARD -i <LAN> -o nordlynx -j ACCEPT
设置为面向 LAN 的接口。
我已将其部署在多个 Proxmox 虚拟机和各种消费者和企业设备上的 lxc 容器上。我确信这可以很容易地适应 pi。如果有时间的话我可能会挖一个来尝试一下。我当前的配置是在 Proxmox 上作为 lxc 与 pihole lxc 和 pfsense 虚拟机一起在具有 4 个网卡的 N100 sff 计算机上运行。此设置明显比 OpenVPN-on-pfsense 组合更快。尽管它仍然存在,但已被绕过。保留作为备份选项以防万一。
internet
|
modem
|
Proxmox
|<---physical port
************ | ************
* * | * *
* NordVPN lxc *
* vmbr---->| *
* pfsense vmbr *
* * | * \<---- *
* * | * pihole *
************ | ************
| | |<---physical ports
LAN WiFi Guest
我试图将他的帖子发布到nordvpn subreddit上,但显然我没有足够的业力。
我只是想在力所能及的时候帮助别人。
我的项目和基于 Linux 的路由器的相当完整的文章可以在这里找到: https://github.com/theOtherLuke/nordlynx-router/tree/main