Klient i biblioteki systemu Linux o otwartym kodzie źródłowym NordVPN z implementacją MeshNet

Dostawca VPN NordVPN ogłosił udostępnienie otwartego źródła klienta dla platformy Linux, biblioteki sieciowej Libtelio i biblioteki do udostępniania plików Libdrop. Kod jest otwarty na licencji GPLv3. Przy opracowaniu wykorzystano języki programowania Go, Rust, C i Python.

Klient Linux udostępnia interfejs wiersza poleceń do zarządzania połączeniami z serwerami NordVPN, umożliwia wybranie serwera z listy na podstawie żądanej lokalizacji, zmianę ustawień protokołu i włączenie trybu Kill Switch, który blokuje dostęp do sieci w przypadku połączenia z serwerem VPN zgubiony. Klient wspiera pracę z wykorzystaniem protokołów NordLynx (opartych na WireGuard) oraz OpenVPN. Do zmiany ustawień zapory używa się iptables, iproute do routingu, tuntap do tunelowania połączeń, a systemd-resolved służy do rozpoznawania nazw w DNS. Obsługuje dystrybucje takie jak Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS i Rasbian.

Biblioteka Libtelio zawiera typowe funkcje sieciowe i zapewnia implementację sieci wirtualnej MeshNet, utworzonej z systemów użytkowników i służącej do wzajemnej komunikacji. MeshNet pozwala na ustanawianie szyfrowanych tuneli pomiędzy urządzeniami i tworzenie na ich podstawie czegoś w rodzaju osobnej sieci lokalnej. W przeciwieństwie do VPN, połączenia w MeshNet nie są nawiązywane pomiędzy urządzeniem a serwerem VPN, ale pomiędzy urządzeniami końcowymi, które również uczestniczą jako węzły do ​​routingu ruchu.

Dla całej sieci MeshNet można zdefiniować wspólny serwer do interakcji ze światem zewnętrznym (przykładowo, jeśli węzeł wyjściowy znajduje się w domu użytkownika, to bez względu na wyjazdy i miejsca użytkownik uzyskuje dostęp do sieci z urządzeń podłączonych do MeshNet , w przypadku usług zewnętrznych aktywność sieciowa będzie wyglądać tak, jakby użytkownik łączył się z domowego adresu IP).

Do szyfrowania ruchu w sieci MeshNet można używać różnych implementacji Wireguard. Zarówno serwery VPN, jak i węzły użytkowników w MeshNet mogą być używane jako węzły wyjściowe. Dostępny jest niestandardowy filtr pakietów ograniczający ruch w sieci, a do określania hostów dostępna jest usługa oparta na systemie DNS. Opublikowana biblioteka pozwala na organizację działania własnych sieci MeshNet w Twoich aplikacjach.

Biblioteka Libdrop udostępnia funkcje umożliwiające organizację bezpiecznej wymiany plików pomiędzy urządzeniami użytkowników. Obsługiwane jest bezpośrednie wysyłanie i odbieranie plików przez MeshNet lub sieć globalną, bez udziału serwerów stron trzecich.

Źródło: opennet.ru

Dodaj komentarz