OPNSense DHCP 강제 lease
최근 블로그를 Wordpress에서 이전한 것도 하나의 큰 일이었지만 방화벽을 OPNSense로 교체한 것도 꽤나 큰 일이었다.
그 중, DHCP 관련해서 삽질을 조금 할 수 밖에 없었던 이유가 있다. 어떠한 이유에서인지 DHCP로 임대한 IP가 할당 해제가 안되고 남아서 다른데서 할당을 받지 못해 맥 기반으로 고정 IP 할당이 안되는 문제였다.
OPNSense 최신 버전을 다운로드 받고 설치하고 나니 기본적으로 "Dnsmasq DNS 및 DHCP"가 기본 DHCP 서버로 동작하고 있었다.
그리고 하나의 호스트를 맥주소를 사용하여 고정 IP로 할당했다가 해제한 후에 다시 다른 맥주소를 이용하여 해당 고정 IP로 할당했더니 계속 호스트를 재부팅해도 해당 IP 받지 못하고 있었다. 그래서 찾다가 lease 파일을 강제로 수정하는 방식으로 접근해서 해결하였다.
Dnsmasq 정지 시키기
가장 먼저 해야할 일은 Dnsmasq 서비스를 정지시키는 것이었다. 우선 OPNSense 관리자 웹으로 접근한 후, 우측 메뉴에서 "Dnsmasq DNS 및 DHCP" 를 선택해서 "일반"으로 이동한 후 우측 상단에 정지 버튼을 눌러 정지시켰다.
OPNSense 콘솔로 접속하기
나는 OPNSense를 proxmox 위에서 돌리고 있어서 proxmox Console을 이용하여 해당 콘솔로 다이렉트로 접근하였다. 혹, 장비 전체를 OPNSense로 사용하고 있다면... 어쩔 수 없이 모니터와 키보드를 연결하여야 한다.
우선 콘솔이 뜨면 로그인을 진행한다. 계정명과 패스워드는 웹 관리자 페이지와 동일하니 쉽게 접속이 가능하다. 그러면 선택하는 화면이 아래와 같이 뜨게 된다.

여기서 8번 Shell을 선택하여 쉘을 띄운다. 그리고
# cd /var/db
# vi dnsmasq.lease명령어를 내려 삭제를 원하는 IP를 아래와 같이 입력하여 찾고
/192.168.10.100만약 검색 결과가 원하는 주소가 아니라면 n을 눌러 다음을 찾는다. 찾았다면, "dd"를 입력하여 해당 라인을 삭제한다.
삭제 후,
:wq명령어를 입력하여 저장하고 쉘로 나온 후, exit 명령으로 쉘을 종료하고, 메뉴가 다시 나오면 0을 선택하여 로그아웃한다.
Dnsmasq 시작
제일 처음에 했던 일을 반대로 해줄 차래다. 우측 메뉴에서 "Dnsmasq DNS 및 DHCP"를 선택해서 "일반"으로 이동한 후 우측 상단에서 실행 버튼을 눌러 실행한다.
그리고 나서 다시 IP 할당하면! 끝!
참 쉬운 일인데 OPNSense를 처음 써보다보니 방황아닌 방황을 하였기에 이렇게 기록으로 남겨둔다.