2026. 4.5. 내용 추가:
쓰다 보니 아무래도 이건 아닌갑다 싶어서 이번에 알파인 리눅스로 갈아탔습니다. 참고:
라우터용으로 VyOS 쓰다가 알파인 리눅스로 갈아탄 사연
https://www.clien.net/service/board/cm_linux/19173178CLIEN

이미지 출처는 아래 링크입니다. VyOS에서 뭔가 굉장한 걸 하신 분인데, 읽다가 빵터진 댓글:
"삽으로 지하 15층까지 뚫으신 것 같습니다.ㄷㄷ"
https://www.clien.net/service/board/lecture/18056665CLIEN
우선, 라우터 종류가 보통 리눅스 기반인데 뭔 소린가 하실 수 있겠습니다만;
pfSense나 OPNsense 등을 사용해서 일반컴을 라우터로 사용하는 거랑 비슷한 얘기입니다.
이곳 게시판 검색하시면 pfSense 등으로 라우터 구축한 사용기가 더러 있으니 참고하시고요.
VyOS를 사용하게 된 계기
제가 기존에 쓰던 라우터가 아마도 10년 넘었을 듯한 ASUS 제품인데, 어느날 갑자기 와이파이가 안 되기 시작하고, 확신은 못하겠지만 하드웨어에 문제가 생긴 듯하고, 너무 오래된 라우터라서 펌웨어 업데이트도 진작에 끊겼고, 이 모양이 될 때까지 썼으면 보안 쪽은 도무지 못 믿을 물건이겠고, 라우터 새로 사자니 돈 아깝고 해서 생각한 게 pfSense였습니다. 그랬다가 인공지능한테 물어 보는 과정에서 VyOS를 사용할 생각을 했고요.
참고로 저는 평소에 리눅스를 사용하기는 하지만 어디까지나 엔드유저이며, 개발자도 아니고 네트워크 전문가는 더더욱 아닙니다.
설치
OS 설치는 윈도우 10 깔려 있던 구형 무소음 미니PC를 활용했습니다. 윈도우 11 최소 사양이 안 되는 넘이라 이런 용도로 재활용하면 딱이겠더군요. 자세한 설치 방법은 유튜브 영상 참고하셔도 되고, 저는 그냥 인공지능이 알려주는 대로 했습니다.
기존 라우터는 브릿지 모드로 VyOS 컴에 연결하는 식으로 재활용했습니다. 그런데 생각해 보니까 저는 굳이 유선 견결을 하지 않아도 와이파이만 있으면 웬만한 건 다 해결되어서, 평소에는 기존 라우터는 꺼놓고 꼭 필요할 때만 전원을 켭니다. 얼마 안 되겠지만 전기요금 아까워서요. 와이파이는 VyOS 설치한 미니PC에 달려 있는 와이파이 어댑터를 핫스팟으로 설정했습니다.
주요 특징 / 실사용 / 시행착오 / 바이브코딩(?)으로 설정하기
많이들 쓰시는(?) pfSense 안 쓰고 제가 VyOS를 선택한 이유와 VyOS의 주요 특징, 그리고 제가 시행착오를 겪었던 부분은 이렇습니다:
* pfSense는 리눅스가 아닌 freeBSD 기반이며 OPNsense는 pfSense에서 파생했음
* VyOS는 데비안 리눅스 기반이며 podman이 기본 패키지에 포함되어 있다 (즉, 도커를 사용할 수 있다. 이 대목에서 솔깃!)
* 현재까지의 설정을 간단히 파일로 저장하고, 여차 하면 예전에 저장한 여러 설정 중 하나를 간단히 불러올 수 있다. 그 과정에서 리부팅 같은 거 할 필요 없음. 방화벽 설정 같은 거 꼬였을 때 엄청 유용한 기능!
* OS 업데이트할 때, 기존 환경을 그대로 둔 상태에서 새 OS 이미지를 CLI 명령어 하나로 간단히 다운로드 및 설치해서 부팅 메뉴에 추가하는 식으로 간편하게 관리할 수 있다.
* Nightly Build는 공짜이며 LTS는 유료. 그런데 알고 봤더니 LTS 프리뷰 버전은 공짜라서 이걸 설치.
* 철저하게 CLI 기반인 게 장점이자 단점. 즉 GUI 인터페이스가 아예 없습니다;; 웹UI를 개발중이기는 하다는 듯.
* 모르는 거 있을 때 인공지능한테 물어보기에는 GUI보다 CLI가 유리하지 않나 싶네요. 마치 바이브코딩 하듯이 바이브 세팅;이 가능합니다.
* CLI 기반이라는 게 일반적인 리눅스 명령어로 다 해결된다는 게 아니라 자체 명령어를 사용해야 합니다. 인공지능 없었으면 새로 배울 엄두를 못 냈을지도;
* 데비안/우분투 계열의 종특이 아닌가 싶은데, 버전별로 명령어 문법이 미묘하게 파편화되어 있어서 인공지능도 곧잘 엉터리로 알려주곤 합니다. 다만, 문법이 틀렸을 때 틀린 지점을 CLI 환경이 알려주고, 틀린 지점 바로 앞에서 물음표를 입력하면 마치 메뉴 펼치는 것처럼 가능한 명령어 노드를 펼쳐 줍니다. 그래서 인공지능이 좀 틀리게 알려주더라도 올바른 명령을 찾아내는 게 가능합니다.
* 데비안 리눅스 기반이라고는 하지만 apt 패키지 매니저는 사실상 쓸모가 없습니다. 자세한 내용은 나무위키에서 인용: "데비안을 기반으로 만들어져 있어서 Proxmox 처럼 apt 패키지 매니저를 통해 추가 패키지를 설치하여, 본래 목적을 넘어 선 활용을 할 수 있을 것 같지만 apt를 통해서는 하지 않는 것이 좋다. 이는 VyOS의 시스템 설치 방식 때문인데 OS 업데이트 및 설치시 펌웨어 교체마냥 시스템 파일을 통째로 교체하기 때문이다. VyOS의 CLI를 통해 변경되거나, 관리되는 모든 파일들이 /config 폴더 안에 저장되고 이곳 외의 모든 변경점은 OS 업데이트시 리셋된다.
VyOS 가 미지원하는 기능은 Podman을 통해 컨테이너를 돌리면 된다. 하지만 이 역시 일반적인 도커/포드맨 처럼 쓰기 보다는 VyOS CLI를 통해서 컨테이너 정의를 선언하게 된다. 또한 Podman 컨테이너의 퍼시스턴트 볼륨의 호스트 바인딩 경로를 꼭 /config 하위 경로로 구성하는걸 잊지 말자."
* 아무리 그래도 neovim은커녕 그냥 vim도 안 깔려 있고 옛날옛적 vi가 깔려 있는 건 좀 너무하지 않나 싶네요. 다만, neovim은 그냥 공식 빌드된 실행파일을 수동으로 다운로드해서 실행경로에 옮겨놓으면 문제 없이 사용 가능합니다. 같은 방식으로 제가 주력으로 사용하는 파일 매니저인 nnn도 빌드된 실행파일을 직접 다운로드해서 사용합니다. 다른 것들은 그냥 podman 컨테이너로 해결.
* 위에 인용한 나무위키에서도 지적한 내용인데, podman이 된다고는 하지만 자체 CLI 체계 안에서 사용하게 됩니다. 일반적인 docker 호환 명령어도 안 되는 건 아닌데, 서버 네트워크 자원을 사용하려면 sudo 명령어와 함께 사용하지 않는 이상 되는 게 사실상 없더군요. 사람들이 도커 대신 podman 쓰는 이유가 sudo 명령어 안 쓰려는 이유일 텐데, 그 점을 생각하면 역시 VyOS CLI를 통해서 쓰는 게 맞습니다. 차이가 뭐냐고 인공지능한테 물어 봤더니, 자체 CLI를 통하면 최소한의 백엔드만 podman을 사용하기 때문에 더 안전하다고 하네요.
* podman 컨테이너를 돌릴 수 있으니까, 라우터로 가능할 거라 생각 못했던 용도로 마구 활용하게 되는데요. 보안 생각하면 이래도 괜찮나 싶기는 해서 남이 만들어 놓은 컨테이너를 사용하기보다는 Dockerfile을 직접 작성해서 (사실은 이것도 바이브코딩으로 해결;) 컨테이너 이미지를 빌드해 봤습니다. 그런데 도커 호환 podman 명령어를 사용하면 잘되던 것이 자체 CLI를 통하면 알 수 없는 오류가 곧잘 나더군요. 인공지능이 시키는 대로 해봐도 안 되고, 어디가 잘못됐는지 스스로 알아낼 실력도 안 되고 해서, 그냥 알파인 리눅스 공식 컨테이너를 실행한 다음 수동으로 필요한 설정을 하고 그 상태를 새로운 컨테이너 이미지로 commit하는 식으로 사용하는 게 백배 편하더군요.
* VyOS는 방화벽으로 nftables를 사용한다고 합니다. 그런데 이것도 마찬가지로 자체 CLI를 통해서 설정하게 되는데, 이래나 저래나 저는 인공지능한테 물어 봐야 하는 건 마찬가지라서; 암튼 인공지능한테 보안 취약점 있는지 봐달라고 해서 엄청 강력한 (듯해 보이는?) 방화벽 설정을 만들어 사용하고 있습니다. 처음에는 너무 많이 틀어막았더니 안 되는 것들이 있어서, 방화벽 로그를 확인해 가면서 꼭 필요한 것만 하나씩 풀어 줬습니다. 인공지능 만세입니다.
LINK
네트워크 관점으로 보면 L7까지 기능을 다 지원하죠
문제는 네트워크만이아닌 여러기능들리 다 있다보니
라우터용으로 쓰기에는 비요율적이고 덩치가크다는 문제점이 있을 뿐이었고
그나마 리눅스는 윈도우에 비해 가벼워 쓸만한겁니다
어쩌피 L4급이상 네트워크 장비들은 대부분 리눅스커널에 필요기능만 올려서 팔아 먹고 있을겁니다
이런거 경우에는 리눅스커널만 빼서 네트워크 전용으로 만든게 아닌 배포판 리눅스를 커스터마이징해서 만든거 같은데
요즘 하드웨어 성능이 넘쳐나니 이렇게 써도 괜찮은 시대가 온거라고 봅니다