Fedora에서 Clash Verge: SELinux·firewalld로 로컬·LAN 프록시 실측 절차

왜 Ubuntu 가이드만으로는 Fedora가 불안할까?

FedoraRHEL 계열은 기본적으로 SELinuxEnforcing이고, 방화벽은 firewalld가 활성인 경우가 많습니다. Clash Verge 같은 Linux용 GUI 클라이언트는 동일하게 구독 URL을 넣고 노드를 고르는 흐름이지만, “로컬에서는 되는데 같은 Wi-Fi 휴대폰만 안 된다”, “혼합 포트가 리슨 목록에 안 보인다”, “TUN만 켜면 실패한다” 같은 증상이 Ubuntu보다 먼저 표면화될 수 있습니다. 이는 앱이 나쁜 것이라기보다, 보안 프로파일이 보수적인 배포판에서 바인딩·소켓·가상 인터페이스 생성이 추가 관문을 만나기 때문입니다.

이 글은 설치 → 구독 동기화 → 리슨 확인 → SELinux → firewalld → LAN·TUN 순으로, 증상을 섞지 않고 한 층씩 내려가는 것을 목표로 합니다. 데비안 계열 절차는 Ubuntu·Clash Verge·systemd 가이드와 함께 보면 개념이 맞물리고, LAN 쪽 일반 논리는 Allow LAN·방화벽 체크리스트와도 연결됩니다.

시작 전에 갖춰 둘 것

구독 URL은 대시보드에서 복사한 원격 프로필 주소입니다. 앞뒤 공백이나 줄바꿈이 끼면 파싱 오류가 나기 쉬우니, 메모장에 한 줄로 정리한 뒤 다시 붙여 넣는 습관이 안전합니다. Firefox나 Chromium에서 같은 주소를 열었을 때 YAML·Base64 응답이 내려오는지, 로그인 페이지로 리다이렉트되는지 먼저 확인하면 클라이언트 쪽 실패를 빨리 가릴 수 있습니다.

클라이언트 받기: 배포판별 패키지는 다운로드 페이지에서 고르는 것을 권장합니다. GitHub 릴리스는 변경 이력·빌드 확인용으로 두고, 설치 파일의 주된 안내는 사이트 쪽을 따르면 경로·버전 혼선이 적습니다.

Fedora에 Clash Verge 올리기

Linux용 Clash Verge 계열은 RPM, AppImage, 혹은 압축 해제형 바이너리로 제공되는 경우가 많습니다. AppImage라면 실행 권한을 부여한 뒤 터미널에서 직접 실행해 표준 출력을 확인하는 편이 빠릅니다. Fedora Workstation에서는 그래픽 스택과 권한 프레임워크가 비교적 최신이라, Wayland·X11 혼용 환경에서 트레이 아이콘 동작만 약간 다를 수 있습니다.

패키지 설치 시 WebKitGTK·SSL 관련 의존성 메시지가 나오면 안내에 따라 추가 패키지를 맞춘 뒤 다시 시도하세요. 설치 위치는 이후 SELinux 문맥과도 연결되므로, 가능하면 배포판이 기대하는 경로(/opt 등)나 홈의 고정 하위 디렉터리처럼 “재현 가능한 위치”에 두는 것이 유지보수에 유리합니다.

구독 가져오기와 1차 연결 확인

GUI에서 프로필·구독 섹션에 URL을 넣고 동기화합니다. 노드 목록이 채워지면 우선 시스템 프록시 경로로 브라우저 접속을 확인합니다. 여기까지는 배포판 공통이며, Fedora에서 막히기 시작하는 지점은 대개 “프록시는 켰는데 특정 포트가 안 열린다”, “LAN에서만 타임아웃”처럼 호스트 방화벽·강제 접근 제어가 개입하는 단계입니다.

리슨이 실제로 떴는지부터 고정하기

설정에서 mixed-port·HTTP/SOCKS 포트를 확인한 뒤, 터미널에서 ss -tlnp 또는 ss -ulnp로 프로세스가 해당 포트에 바인딩했는지 봅니다. 목록에 없다면 Clash 쪽 설정이 아직 적용되지 않았거나, 다른 인스턴스가 먼저 점유했을 수 있습니다. 목록에는 있는데 외부 기기만 실패하면 다음 단계인 firewalldSELinux를 의심합니다.

SELinux: 거부 로그를 먼저 본다

SELinux를 끄는 것은 최후의 수단이어야 합니다. 우선 getenforceEnforcing인지 확인하고, 문제 재현 직후 ausearch -m avc -ts recent 또는 그래픽 도구로 AVC 거부가 찍혔는지 봅니다. 거부가 보이면 “어떤 도메인이 어떤 클래스(소켓·파일·capability)를 막았는지”가 메시지에 남습니다.

사용자 홈 아래에 내려받은 단일 파일 실행형은 파일 라벨이 기본 정책과 어긋나 실행 자체는 되지만 특권 동작이 막히는 패턴도 있습니다. 이 경우 ls -Z로 보이는 문맥과 기대 문맥을 비교하고, 배포판 문서에 맞게 semanage fcontextrestorecon을 적용하거나, 공식 패키지가 제공하는 경로로 옮기는 편이 안전합니다. 임시로 검증할 때만 chcon을 쓰고, 영구 정책은 테스트 후 고정하는 습관이 좋습니다.

TUN을 켰을 때만 실패한다면 커널 모듈·/dev/net/tun 접근·capabilities 요구가 엮입니다. 개념 정리는 Clash TUN 모드 가이드를 참고하되, Fedora에서는 GUI가 제안하는 서비스 모드·코어 설치 절차를 먼저 따르고, 동일 증상이 남을 때 SELinux 감사 로그를 다시 확인하는 순서를 권장합니다.

firewalld: 존과 인바운드를 맞춘다

firewalld는 “전체 OFF”가 아니라 존(zone)별로 인터페이스와 규칙이 나뉩니다. firewall-cmd --get-active-zones로 어떤 NIC가 어느 존에 묶였는지 확인하세요. LAN 프록시를 쓰려면 Clash가 리슨하는 TCP 포트(예: 혼합 포트)가 해당 존에서 인바운드 허용되어야 합니다.

예시로, 활성 존이 home이고 혼합 포트가 7890이라면 다음과 같은 형태를 자주 씁니다. 포트 번호는 본인 설정에 맞게 바꿉니다.

# Example: allow inbound TCP 7890 on the active zone (replace port)
sudo firewall-cmd --permanent --add-port=7890/tcp
sudo firewall-cmd --reload

Wi-Fi가 public 존에 잡히면 기본 정책이 더 보수적일 수 있어, 동일 규칙을 추가해도 체감이 다르게 느껴질 수 있습니다. 공용망에서는 포트 노출 범위를 최소화하고, 가능하면 홈 존으로 인터페이스를 옮기거나, 특정 소스 IP만 허용하는 rich rule을 검토합니다.

규칙을 넣었는데도 외부에서만 안 되면, 라우터의 AP 격리·게스트 SSID·다른 PC의 보안 제품이 개입했는지 LAN 체크리스트 순서로 한 번 더 가릅니다.

Clash 쪽에서 같이 맞출 설정

Allow LAN을 켜도, 리슨 주소가 127.0.0.1에 고정되어 있으면 외부에서 올 수 없습니다. 혼합 포트·SOCKS·HTTP가 어떤 주소에 바인딩되는지 GUI 또는 생성된 설정에서 확인하세요. 브라우저·휴대폰이 같은 서브넷인지, 수동 프록시에 적는 IP가 맞는지도 함께 점검합니다.

시스템 프록시만으로 부족한 앱을 끌어오려면 TUN 쪽으로 확장하게 되는데, 이는 권한·정책 요구가 커집니다. 우선은 시스템 프록시 경로로 안정화한 뒤 단계적으로 넓히는 편이 문제 분리에 유리합니다.

권장 점검 순서(요약)

  1. 구독 동기화 후 브라우저가 로컬 루프백 기준으로 정상인지 확인한다.
  2. ss로 Clash가 의도한 포트에 실제 리슨했는지 본다.
  3. SELinux AVC가 있으면 거부 이유를 기준으로 라벨·정책·경로를 조정한다.
  4. firewalld에서 활성 존에 맞게 포트·소스 규칙을 넣고 재로드한다.
  5. LAN 기기에서만 실패하면 바인딩·서브넷·AP 격리를 다시 본다.
  6. TUN만 문제면 GUI의 코어·권한 설치와 커널·SELinux를 함께 본다.

더 보기

규칙 분할·DNS 순서를 손보려면 Clash 규칙 분할 가이드를 참고할 수 있습니다. 사이트 전체 목차는 문서·튜토리얼에서 한눈에 볼 수 있습니다.

주의: 프록시·구독 서비스는 거주 지역의 법령과 이용 약관을 지켜 합법적인 용도로만 사용해야 합니다. 타인의 구독 링크를 무단으로 사용하지 마세요.

마무리

Fedora에서 Clash Verge를 장기적으로 쓰려면, Ubuntu와 같이 “구독을 넣고 노드를 고른다”는 공통층 위에 SELinuxfirewalld라는 두 겹의 안전장치를 함께 설계해야 합니다. 거부 로그를 근거로 최소 권한만 열고, 방화벽은 활성 존에 맞춰 인바운드를 조정하면 “로컬만 되고 LAN만 안 된다”는 증상을 빠르게 좁힐 수 있습니다.

비슷한 범주의 도구들과 비교해 보면 Clash 생태계는 원격 구독과 규칙 표현이 정돈되어 있어, 데스크톱 설정을 문서화해 두면 다른 배포판으로 옮겨도 같은 습관으로 이어가기 쉽습니다.

지금 쓰는 OS에 맞는 클라이언트로 바로 시험해 보시려면 Clash를 무료로 다운로드하고, 매끄러운 구독 연동과 안정적인 LAN·TUN 경험을 직접 확인해 보세요.