저는 T-Mobile에서 나온 AC-1900 공유기를 사용하고 있습니다. 이 공유기는 ASUS의 RT-AC68U와 동일하고 펌웨어만 다를 뿐입니다. 저는 여기에 merlin 펌웨어를 올려서 사용하고 있습니다.

1년 넘게 문제없이 사용 중인 상태에서 포트포워딩(Port Forwarding) 1개를 추가하려고 보니 포트포워딩 리스트가 전부 비워져 있더군요. 리부팅해보아도 여전히 표시되지 않고 포트포워딩 기능도 동작하지 않더군요.

펌웨어 설정 백업해둔 것으로 복원해보아도 여전히 리스트가 표시되지 않아서 복구 방법을 찾아보았습니다. 초기화하고 다시 설정하면 될 것 같지만 문제 원인을 찾고 싶었습니다.

검색 결과 nvram(Non-Volatile RAM)이 부족하면 그럴 수 있다는 글을 보았습니다.

nvram에서 사용하지 않는 부분을 삭제해준다는 스크립트도 받아서 돌려봤지만 문제는 해결되지 않았습니다.

그래서 nvram에 저장된 내용 전체를 확인해보니 뭔가 이상한 값이 긴 문자로 저장된 부분을 하나 찾았습니다. MULTIFILTER_TMP_T라는 부분입니다. TMP라는 이름으로 되어 있길래 필요 없다 싶어서 삭제하고 리부팅해보니 포트포워딩 리스트가 제대로 표시되고 잘 동작되는 것을 확인했습니다.

아래는 상세한 설명입니다.

nvram 용량 확인

관리자 페이지의 Tools 메뉴에 들어가면 “Internal Storage”에서 NVRAM의 상태를 표시해줍니다.

현재는 65,536 바이트 중 60,536 바이트가 사용 중이지만 문제가 되었을 때는 64,xxx 바이트 정도 사용되고 있었습니다.

 

설정 백업

작업 중 잘못되었을 때를 대비해서 [관리-시스템-복원/저장/설정 업로드] 메뉴에서 “설정 저장” 버튼을 눌러 설정을 백업해둡니다.

 

ssh 활성화

관리자 페이지의 [관리-시스템-서비스] 메뉴에서 Enable SSH를 LAN only로 설정하고 적용 후 ssh 클라이언트로 공유기에 접속합니다. 아이디/암호는 공유기 관리자 페이지에 로그인할 때 사용한 것과 동일합니다.

 

nvram 내용

아래 명령을 사용하여 nvram에 저장된 내용을 확인합니다.

more 명령을 추가했기 때문에 한 페이지씩 표시됩니다. 스페이스 바를 눌러 전체 내용을 확인합니다.

nvram에는 관리자 페이지에서 설정한 클라이언트의 이름-아이피 주소 목록, DHCP 수동 아이피 할당 리스트, vpn 설정 등 각종 내용이 저장되어 있습니다. 관리자 페이지에서 이런 것과 관련된 설정만 많이 삭제해도 문제가 해결될 수 있을 거 같습니다.

위에서 언급했듯 저는 MULTIFILTER_TMP_T라는 이름으로 아주 긴 값이 저장되어 있었고, 그 값이 필요없을 것 같아서 삭제했습니다. 아래 명령으로 삭제한 후

MULTIFILTER_TMP_T 대신에 원하는 다른 값을 입력하면 됩니다.

 

아래 명령으로 변경 사항을 기록하면 됩니다.

 

그리고 공유기를 재시작하면 됩니다.

혹시나 문제가 발생했을 경우에는 초기화하고 백업한 설정으로 복원하시기 바랍니다.