VPN + dnsmasq
Realtime

Lv.1 Realtime (45.♡.159.248)

2025년 7월 27일 AM 02:11 · 수정됨(07. 28. 03:30)

조회 540 공감 0

셀프호스팅으로 이거저거 돌리는 것을 외부 접속까지 하려니 좋은 방법들이 여럿 있더라구요. 일단 ddns+포트포워딩이 생각 났지만 퍼블릭 서비스를 하진 않을거라 다른 길을 가보기로 합니다. 마침 작년에 사둔 nordvpn 회원권이 있어서 지난 며칠 삽질 해보니 이제야 슬슬 자리가 잡힌 모양새 입니다. 

로컬에서야 router => dnsmasq => caddy (mkcert) => service 정도로 간단한 흐름이지만, 

VPN을 저기 앞단에 껴넣는 것을 이번에 처음 해봤더니 생각처럼 착 붙질 않더라구요. 그래도 설정들 이래저래 바꿔가며 어떻게든 돌아가게 만들어놨습니다. 항상 잘 돌아가는 인프라만 쓰다가 이렇게 직접 해보려니 골 아픈 부분이 많네요 ㅎㅎ (항상 고마워 따봉 인뿌라 엔지니어들아....!)

모바일 장치들은 스플릿 터널링 까지 하기엔 조금 오바 같아서 그냥 항상 vpn에 연결 하기로 마음 먹었고....

데탑 클라이언트들은 로컬 접속 시에는 lan discovery를 통해 직접 연결 하되, vpn 접속 시에는 meshnet으로 연결 되는 식으로 설정이 바뀌는데.... 이 과정에서 /etc/resolv.conf 가 어떻게 업데이트 되는지가 관건이네요. 하다하다 안 되길래 systemd-resolved를 아예 지웠더니 그제서야 저 dnsmasq과의 query가 제대로 돌아가기 시작 했습니다 휴.... 

엔터프라이즈 환경에서는 더 좋은 방법들이 있겠지만, 일단 지금 세팅에 만족 합니다. 이런저런 서비스 붙여서 잘 누릴 일만 남았네요 ㅎㅎ


댓글 (2)

  • 신사아님당

    신사아님당 Lv.1

    25.07.28 · 125.♡.243.26

    [https://damoang.net/data/editor/2507/comment_2108814106_SBzVHKre_dd001bbd152970bc50ae6a575e3b7ac0c306bb36.webp]
    +
    저 방금 전까지 resolv.conf를 hosts(와 같은거)라고 생각하고 있었습니다. 앗하 하 {emo:onion-051.gif:50}
    +
    systemd-resolved를 삭제해서 해결되셨다면 원랜 /etc/systemd/resolved.conf 를 수정해야 하는 것이었을까요. /etc/resolv.conf는 직접 만지는게 아닌가봅니다. {emo:onion-019.gif:50}
  • Realtime

    Realtime Lv.1 → 신사아님당 작성자

    25.07.28 · 172.♡.179.201

    기본적으로는 dhcp client daemon이 라우터가 보내주는 dns 서버의 주소를 이 resolv.conf에 저장하는 것이라서, 단순한 네트워크 구성에서 딱히 이 파일을 손 댈 일 자체가 없는 것 같습니다. 아예 chattr로 read only로 만들기도 하더라구요.

    이런저런 필요에 의해 systemd-resolved가 다양한 역할을 수행하는 것 같은데.... 많은 vpn 문서들이 이 데몬을 쓰라고 해서 써봤는데 (/etc/systemd/resolved.conf 수정 또는 resolvedctl 명령어로), 제 환경에서는 잘 안 되더라구요. 삭제하니까 잘 되기 시작하는 ㅂㄷㅂㄷ

    hosts 파일 역시 평소에는 쓸 일이 없지만, dnsmasq를 쓰기 시작하면 서버 입장에서 클라이언트에 따라 dns query를 적절히 변경해서 보내주는게 가능해서 유용한 것 같습니다.

댓글을 작성하려면 이 필요합니다.