Linux v2rayN 설치 가이드: deb/rpm 패키지 설치와 로그인 시 자동 실행

Debian·Ubuntu·Fedora에 deb 또는 rpm으로 v2rayN을 설치하고, 의존성·로그인 자동 실행·시스템 프록시·TUN 권한을 설정하는 방법입니다.

이 글의 핵심 내용

Linux 데스크톱에 v2rayN을 설치할 때는 배포판 패키지 관리자를 이용한 뒤 일반 사용자 계정에서 시스템 프록시를 확인하고, 로그인 자동 실행과 TUN을 설정하는 순서가 좋습니다. Debian, Ubuntu, Fedora 데스크톱 사용자를 위해 아키텍처 확인, 의존성 해결, 데스크톱 실행 항목 복사, 권한 점검 명령을 안내합니다. 여기서 ‘자동 실행’은 데스크톱 로그인 후 클라이언트를 실행하는 것으로, 로그인 전 작동하는 시스템 서비스와는 다릅니다.

1. 설치 전 배포판·아키텍처·패키지 형식 확인

먼저 시스템 환경을 확인한 뒤 설치 패키지를 선택하세요. Debian과 Ubuntu는 보통 deb, Fedora는 rpm을 사용합니다. 파일 확장자만 바꿔 서로 전환할 수는 없습니다. v2rayN은 클라이언트 관리 인터페이스이며, 실제 프록시 연결은 코어가 처리합니다. 창이 열린다고 해서 코어, 라우팅, 프록시 적용까지 모두 정상이라는 뜻은 아닙니다.

cat /etc/os-release
uname -m
getconf GNU_LIBC_VERSION

uname -m 결과가 x86_64이면 해당하는 x64 패키지를, aarch64이면 ARM64 패키지를 선택하세요. 두 아키텍처 모두 64비트일 수 있으므로 ‘64비트 시스템’이라는 이유만으로 선택하면 안 됩니다. 세 번째 명령은 glibc 버전을 확인하는 용도입니다. 프로그램에서 GLIBC_… not found 오류가 발생하면 시스템 C 라이브러리를 교체하지 말고 설치 패키지의 시스템 요구 사항을 확인하세요.

Debian / Ubuntu

설치 패키지
deb
설치 도구
apt
패키지 아키텍처
amd64 또는 arm64
확인 방법
dpkg-deb -f

apt로 로컬 패키지와 저장소 의존성을 함께 처리하는 것이 좋습니다.

Fedora

설치 패키지
rpm
설치 도구
dnf
패키지 아키텍처
x86_64 또는 aarch64
확인 방법
rpm -qpi

dnf가 의존성을 확인하도록 하고 아키텍처 및 의존성 검사를 건너뛰지 마세요.

다운로드 센터에서 Linux용 아키텍처에 맞는 설치 파일을 선택하세요. 아래 명령은 설치 패키지가 있는 디렉터리에서 실행하며, 해당 디렉터리에는 이번에 설치할 deb 또는 rpm 파일 하나만 두는 것을 전제로 합니다. 다른 패키지가 섞인 다운로드 디렉터리에서 와일드카드 설치 명령을 실행하지 마세요.

2. apt 또는 dnf로 설치하고 의존성 해결

그래픽 패키지 설치 프로그램을 사용하든 터미널에서 설치하든, 최종적으로는 시스템 패키지 관리 절차를 거쳐야 합니다. 터미널을 이용하면 오류 메시지를 빠짐없이 확인할 수 있습니다. 설치 전에 패키지 정보에서 이름, 버전, 아키텍처를 확인해 앞서 선택한 환경과 일치하는지 살펴보세요.

Debian / Ubuntu: apt로 로컬 deb 설치

# 이번에 설치할 deb 파일만 있는 디렉터리에서 실행
dpkg-deb -f ./*.deb Package Version Architecture
sudo apt update
sudo apt install ./*.deb

여기서 ./는 생략할 수 없습니다. apt가 저장소에서 같은 이름의 패키지를 찾는 대신 로컬 파일을 설치하도록 지정합니다. 이전에 dpkg -i로 설치해 의존성 설정이 완료되지 않았다면 다음 명령으로 복구할 수 있습니다. apt가 제안하는 작업 내용을 먼저 확인하세요. 대상 패키지를 제거하려 한다면 현재 저장소에서 필요한 의존성을 해결하지 못한다는 뜻일 수 있으므로 그대로 진행하지 마세요.

sudo apt --fix-broken install
sudo dpkg --configure -a

Fedora: dnf로 로컬 rpm 설치

# 이번에 설치할 rpm 파일만 있는 디렉터리에서 실행
rpm -qpi ./*.rpm
sudo dnf install ./*.rpm

의존성을 강제로 무시해 설치를 ‘성공’시키지 마세요. 공유 라이브러리 누락, 오래된 시스템 버전, 잘못된 패키지 아키텍처는 각각 다른 문제입니다. 패키지 관리자는 저장소에 있는 의존성은 설치할 수 있지만, 최신 실행 환경을 기준으로 빌드된 프로그램을 구형 시스템과 호환되도록 바꿔 주지는 않습니다.

3. 첫 실행: 코어부터 시스템 프록시까지 확인

설치가 끝나면 데스크톱 애플리케이션 메뉴에서 v2rayN을 실행하고, 먼저 일반 사용자 계정으로 작동하는지 확인하세요. sudo로 그래픽 인터페이스 전체를 실행하면 관리자 소유 설정 파일이 생길 수 있고, 그래픽 세션·프록시 환경·권한 문제가 뒤섞일 수 있습니다. 메뉴 이름은 버전에 따라 조금씩 다를 수 있으므로 아래에서는 일반적인 중국어 인터페이스의 메뉴 구조를 기준으로 설명합니다.

  1. 클라이언트 실행

    애플리케이션 메뉴에서 v2rayN을 검색하세요. 창이 나타나지 않으면 설치 과정에서 생성된 데스크톱 실행 파일에서 Exec=이 가리키는 프로그램을 확인한 뒤 터미널에서 실행해 오류 출력을 확인하세요.

  2. 구독 가져오기

    ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 그룹을 추가한 다음, 신뢰할 수 있는 출처의 구독 주소를 입력하고 저장하세요. 그런 다음 ‘구독 그룹’으로 돌아가 해당 구독을 업데이트합니다.

  3. 연결 시작

    서버 목록에서 항목을 선택해 활성 서버로 지정한 뒤 로그에 코어 시작 오류가 있는지 확인하세요. VMess, VLESS 등의 프로토콜 설정은 서버 측과 일치해야 합니다. 오류를 없애려고 전송 또는 보안 설정을 임의로 바꾸지 마세요.

  4. 포트 확인

    ‘설정’ → ‘매개변수 설정’에서 로컬 수신 주소와 포트, 허용된 프록시 프로토콜을 확인하세요. 실제 설정을 기준으로 하고, 우선 로컬 컴퓨터에서만 접근할 수 있도록 유지하세요.

  5. 프록시 활성화

    메인 창의 ‘시스템 프록시’에서 ‘시스템 프록시 자동 구성’을 선택한 다음 데스크톱 환경의 네트워크 프록시 설정을 확인하세요. 시스템 프록시를 따르는 앱부터 테스트하고, 문제를 확인하는 동안에는 TUN을 동시에 켜지 마세요.

아래에서는 진단 예시로 10808을 사용합니다. 이는 예시 포트이며 설치할 때마다 기본값으로 사용되는 것은 아닙니다. 먼저 해당 포트가 SOCKS 또는 SOCKS 호환 혼합 수신 포트로 설정되어 있는지 확인한 다음 두 번째 명령을 실행하세요. socks5h는 대상 도메인 처리를 프록시 측에 맡깁니다. 데스크톱에서 프록시를 설정했더라도 터미널의 curl이 자동으로 프록시를 사용하는 것은 아닙니다.

ss -lntp | grep ':10808'
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 30 -I https://example.com/

이 명령들은 각각 ‘로컬 포트가 수신 중인지’와 ‘해당 프록시를 명시적으로 거쳐 요청을 보낼 수 있는지’를 확인합니다. HTTP 응답이 돌아오면 이번 요청이 성공했다는 뜻일 뿐, 모든 앱에 프록시가 적용되었다는 의미는 아닙니다. 프록시를 명시한 요청은 성공하지만 브라우저에서 실패한다면 코어를 바로 재설치하지 말고 브라우저 프록시 설정, 데스크톱 프록시 설정 또는 확장 프로그램 구성을 확인하세요.

4. GNOME과 KDE의 시스템 프록시 차이

Linux 시스템 프록시는 모든 프로세스에 일괄 적용되는 단일 스위치가 아닙니다. 데스크톱 환경은 보통 프록시 설정을 저장하지만, 이를 사용할지는 앱에 따라 다릅니다. 터미널 프로그램은 http_proxy, https_proxy 같은 환경 변수를 읽을 수도 있습니다. GNOME 설정이 적용되더라도 별도의 설정 체계를 사용하는 앱까지 프록시를 따르는 것은 아닙니다.

현재 데스크톱 환경의 프록시 설정 확인

GNOME 데스크톱
  • ‘설정’ → ‘네트워크’ → ‘네트워크 프록시’를 열고 활성화 여부와 로컬 포트를 확인하세요.
  • gsettings get org.gnome.system.proxy mode로 프록시 모드를 확인하세요.
  • gsettings list-recursively org.gnome.system.proxy로 관련 설정을 확인하세요.
KDE Plasma 데스크톱
  • ‘시스템 설정’ → ‘네트워크’ → ‘프록시’를 열고 현재 선택된 프록시 방식을 확인하세요.
  • 현재 v2rayN 버전이 데스크톱 설정과 동기화되지 않는다면 수신 유형에 맞춰 주소와 포트를 직접 입력하세요.
  • 브라우저에 별도의 네트워크 설정이 있다면 다른 고정 설정이 아니라 시스템 프록시를 사용하도록 설정되어 있는지도 확인하세요.

두 데스크톱 환경 모두 실제 요청을 보내 앱 하나씩 먼저 테스트해야 합니다. 설정 화면에 활성화로 표시된다는 사실만으로 트래픽이 프록시를 거친다고 단정할 수는 없습니다.

수동 설정 시 주소는 보통 127.0.0.1을 입력하고, 포트는 v2rayN의 실제 수신 설정을 사용합니다. SOCKS 전용 포트를 HTTP 프록시 입력란에 넣으면 안 됩니다. 데스크톱 프록시를 직접 설정했다면 클라이언트를 종료할 때 수동으로 원래 설정을 복원하세요. 그렇지 않으면 앱이 수신을 중단한 로컬 포트에 계속 연결을 시도합니다.

5. 데스크톱 로그인 시 자동 실행 설정 — 시스템 서비스 아님

데스크톱 클라이언트에는 그래픽 세션이 필요합니다. 일반적인 사용 환경에서는 시스템 관리자 권한으로 부팅 시 실행하는 서비스보다 로그인 후 실행하는 방식이 적합합니다. 로그인 후 실행하면 현재 사용자의 데스크톱 프록시, 알림, 설정 디렉터리를 이용할 수 있습니다. 반면 시스템 서비스는 데스크톱이 준비되기 전에 실행될 수 있고, 다른 사용자의 데이터 경로를 사용하게 될 수 있습니다.

데스크톱 로그인 시 자동 실행

권장

배포판 패키지가 제공하는 desktop 실행 파일을 사용해 현재 사용자가 로그인한 뒤 실행하세요. 설치 위치를 추측하지 말고 원래 프로그램 경로와 실행 인수를 그대로 유지하세요.

적합한 환경: GNOME, KDE 등 데스크톱을 일상적으로 사용하는 경우

시스템 서비스로 실행

사용자가 로그인하기 전에 실행하는 별도의 배포 방식입니다. 그래픽 클라이언트의 실행 명령을 시스템 서비스에 그대로 넣는다고 해서 데스크톱 프록시와 권한이 자동으로 올바르게 설정되는 것은 아닙니다.

적합한 환경: 코어 설정을 별도로 관리하는 독립 백그라운드 서비스가 필요한 경우. 이 문서에서는 데스크톱 설치 방식으로 다루지 않습니다.

KDE Plasma에서는 ‘시스템 설정’ → ‘자동 시작’ → ‘애플리케이션 추가’에서 v2rayN을 선택할 수 있습니다. GNOME에서는 데스크톱에서 제공하는 ‘시작 애플리케이션’ 도구를 사용하세요. 현재 배포판에 해당 도구가 없다면 설치된 desktop 파일을 XDG 자동 시작 디렉터리에 복사할 수 있습니다. 다음 명령은 일반 사용자 권한의 Bash 터미널에서 실행하세요.

launcher=$(find /usr/share/applications /usr/local/share/applications \
  -maxdepth 1 -type f -iname '*v2rayn*.desktop' -print -quit 2>/dev/null)

if [ -n "$launcher" ]; then
  autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
  mkdir -p "$autostart_dir"
  cp -- "$launcher" "$autostart_dir/v2rayn.desktop"
  grep -E '^(Name|Exec|TryExec|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' \
    "$autostart_dir/v2rayn.desktop"
else
  printf '%s\n' '시스템 desktop 실행 파일을 찾을 수 없습니다. 먼저 설치 패키지의 파일 목록을 확인하세요.'
fi

출력에서 Exec=이 실제로 존재하는 프로그램을 가리키는지 확인하세요. 파일에 Hidden=true, 자동 실행 비활성화 필드 또는 데스크톱 제한 필드가 있다면 수정하기 전에 각 필드의 의미를 확인해야 합니다. 파일을 찾을 수 없다면 실행 경로를 임의로 만들지 마세요. deb 패키지는 패키지 관리자로 설치된 파일 목록을 확인하고, rpm 패키지는 rpm -ql로 해당 패키지의 파일 목록을 확인할 수 있습니다.

6. TUN 권한: 장치·권한 부여·라우팅 구분

TUN은 가상 네트워크 장치를 사용해 라우팅 조건에 맞는 트래픽을 처리합니다. 시스템 프록시를 따르지 않는 앱에 적합하지만 모든 연결 문제를 해결하는 기능은 아닙니다. 먼저 일반 프록시가 작동하는지 확인한 뒤 TUN을 켜야 서버 연결 문제와 로컬 트래픽 처리 문제를 구분할 수 있습니다. Linux에서는 TUN 장치, 네트워크 관리 권한, DNS, 라우팅 변경도 확인해야 합니다.

ls -l /dev/net/tun
ip -brief link
ip route show
ip rule show

/dev/net/tun이 없다면 먼저 시스템이 TUN을 지원하는지, 모듈이 로드되어 있는지 확인하세요. 관리자는 시스템 환경에 따라 sudo modprobe tun을 사용할 수 있습니다. 컨테이너 또는 제한된 환경에서는 호스트에서 장치 접근을 허용해야 할 수도 있으며, 파일 권한만 바꿔서는 해결되지 않습니다. 장치가 존재하더라도 일반 프로세스에 인터페이스 생성 및 라우팅 변경 권한이 있다는 뜻은 아닙니다.

TUN을 끈 뒤 라우팅과 네트워크가 복구되었는지 확인하세요. ‘네트워크 복구’를 위해 모든 정책 규칙을 한꺼번에 삭제하지 마세요. 데스크톱의 기존 네트워크 연결까지 손상될 수 있습니다. 로그인 시 무인 실행이 필요하다면 권한이 계속 유지되는지 별도로 확인하세요. 권한을 수동으로 확인할 수 있다고 해서 로그인 과정에서 권한 확인을 건너뛸 수 있는 것은 아닙니다.

7. 설치 및 자동 실행 관련 자주 묻는 질문

deb 설치 후 아이콘을 눌러도 창이 열리지 않으면 어떻게 하나요?

먼저 desktop 파일에서 Exec=이 가리키는 프로그램을 확인한 뒤 터미널에서 실행하세요. 라이브러리 누락, 실행 환경 버전 불일치, 기존 인스턴스가 종료되지 않은 문제를 각각 구분해 해결해야 합니다. 이전에 관리자 권한으로 실행한 적이 있어도 홈 디렉터리 전체의 소유권을 재귀적으로 변경하지 마세요. 먼저 현재 버전이 실제로 사용하는 설정 디렉터리를 확인하세요.

Fedora에서 의존성 누락 오류가 나면 강제로 설치해도 되나요?

먼저 sudo dnf install ./*.rpm을 실행해 dnf가 누락된 의존성 이름을 표시하도록 하세요. 아키텍처, 저장소, 배포판 요구 사항을 확인합니다. 저장소에 필요한 버전이 없다면 시스템과 호환되는 패키지를 사용하거나 시스템을 업그레이드하세요. 의존성 검사를 건너뛰어 문제를 감추지 마세요.

로그인 후 클라이언트가 실행되는데 웹페이지는 왜 열리지 않나요?

먼저 로그에서 코어가 정상적으로 시작되었는지 확인한 뒤 ss -lntp로 수신 포트를 점검하세요. 이어서 시스템 프록시가 올바른 포트로 설정되어 있는지 확인합니다. 로그인 시점에는 네트워크가 아직 준비되지 않았을 수 있으므로 네트워크 연결 후 다시 시도하세요. 창이 열렸다고 해서 코어가 성공적으로 시작된 것은 아닙니다.

v2rayN을 종료한 뒤 브라우저도 인터넷에 연결되지 않나요?

데스크톱 네트워크 프록시 설정을 열어 127.0.0.1의 중단된 포트를 계속 가리키는지 확인하고, 필요하면 프록시를 사용하지 않도록 되돌리세요. 터미널에서도 문제가 계속되면 env | grep -i proxy를 실행해 현재 환경 변수를 확인하세요. 셸 설정 파일에 입력한 프록시 변수는 별도로 제거해야 합니다.

마지막으로 정해진 순서에 따라 확인하세요. 일반 사용자로 클라이언트를 실행할 수 있는지, 코어 로그가 정상인지, 프록시를 명시한 요청이 성공하는지, 데스크톱 앱이 예상대로 프록시를 사용하는지, 다시 로그인했을 때 클라이언트 인스턴스가 하나만 실행되는지 확인한 다음 TUN을 테스트합니다. 배포판·클라이언트 버전, 패키지 아키텍처, 주요 오류 메시지만 기록해도 유용한 문제 해결 자료가 됩니다. 기록을 공유할 때는 구독 주소, 인증 정보 및 개인 연결 정보를 숨기세요.

v2rayN 다운로드