내 Raspberry Pi에 NordVPN 게이트웨이 설정

내 Raspberry Pi에 NordVPN 게이트웨이 설정

표적
내 Raspberry Pi에 NordVPN을 설정하고 이를 게이트웨이로 사용합니다.

현재 설정

  • 이더넷 케이블을 통해 라우터에 연결된 Arch ARM을 실행하는 Raspberry Pi2
  • NordVPN 계정
  • nordvpn내 Rpi에 설치됨

구성
이것이 Raspberry Pi를 구성하는 방법입니다. 첫 번째 단계는 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 및 기타 웹사이트와 같은 대부분의 서비스에서는 제가 다른 나라에 있다는 것을 인식하지 못합니다. Chrome 확장 프로그램이 제대로 작동하기 때문에 이것이 NordVPN 문제가 아니라는 것을 알고 있습니다.

어떤 아이디어가 있나요?

답변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 업데이트됨필요하지 않기 때문에 맹글 규칙을 제거했습니다.

나는 미리 선택된 설정 구성을 사용하는 경우에만 기능을 사용할 수 있다는 말을 듣고 싶지 않습니다. 특히 인프라가 특정 시간에 사용 가능한 최상의 경로를 동적으로 선택할 수 있는 도구를 지원하고 제공하는 경우에는 더욱 그렇습니다. 파리.

인터넷에서 찾은 옵션은 모두 일반적인 OpenVPN 전용 솔루션을 공유합니다. 거품을 내고 헹구고 반복하세요.

현재 솔루션은 다음과 같습니다.

단일 서버를 선택합니다. 낮은 프로토콜에서만 작동하는 단일 서버에 대한 정적 구성 파일을 다운로드합니다. 불필요하게 복잡한 설정 및 구성 프로세스를 완료합니다. 마지막으로, 선택한 서버가 시간이 지나도 일관되게 계속해서 성능을 발휘하도록 기도하거나, 성능이 계속해서 떨어지면 프로세스가 다시 반복되기를 기도하는 중... 제게는 효과가 있어서 이 문제를 해결하기 시작했습니다. 관심 있는 분들을 위해, 저는 "dynamic-nordlynx-whole-network-router" 문제를 해결했다고 믿습니다.

내 솔루션:

그것은 3개의 iptables 규칙으로 귀결됩니다. 기본 Linux 애플리케이션을 사용하므로 사용 가능한 모든 기능을 사용할 수 있습니다. 이는 연결할 서버를 알려주거나 p2p, 양파 등과 같이 선택한 범주에서 현재 최고의 서버에 동적으로 연결하도록 할 수 있음을 의미합니다. 자동 연결이 작동합니다. 나는 당신이 이미 이해해야한다고 생각합니다. OpenVPN 프로토콜을 사용하면 효과가 있을 수 있지만 OpenVPN을 버리는 것이 제가 한 이유 중 하나이기 때문에 아직 시도하지 않았습니다. 킬스위치는 항상 켜져 있으며 비활성화할 수 없습니다.

iptables 규칙이 실제 핵심입니다. 우리 모두는 트래픽 전달에 대한 3가지 기본 규칙을 알고 있습니다. WAN 인터페이스로 "nordlynx"를 사용해야 합니다.

$ 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 컨테이너에 배포했습니다. 나는 이것이 파이에 쉽게 적응할 수 있다고 확신합니다. 시간이 있으면 하나 파서 시도해 볼 수도 있습니다. 현재 구성은 4개의 네트워크 카드가 있는 N100 sff 시스템에서 pihole lxc 및 pfsense VM을 사용하여 Proxmox에서 lxc로 실행되고 있습니다. 이 설정은 OpenVPN-on-pfsense 조합보다 훨씬 빠릅니다. 여전히 존재하지만 우회되었습니다. 만약을 대비해 백업 옵션으로 보관하세요.

         internet
             |
           modem
             |
          Proxmox
             |<---physical port
************ | ************
*          * | *          *
*       NordVPN lxc       *
*   vmbr---->|            *
*         pfsense   vmbr  *
*          * | * \<----   *
*          * | *  pihole  *
************ | ************
   |         |        |<---physical ports
  LAN      WiFi     Guest

나는 그의 게시물을 nordvpn 하위 레딧에 게시하려고 시도했지만 카르마가 충분하지 않은 것 같습니다.

나는 할 수 있을 때 다른 사람들을 돕고 싶습니다.

내 프로젝트와 Linux 기반 라우터에 대한 상당히 완전한 기사는 여기에서 찾을 수 있습니다. https://github.com/theOtherLuke/nordlynx-router/tree/main

관련 정보