Posted by on the 17th of March, 2024 at 4:47 pm under 컴퓨터.  This post has no comments.

이미 단종된지 오래인 RT-AC56R 공유기를 아직 메인으로 쓰고 있다. 집에 네트워크 장치가 그렇게 많지 않고 기가비트 네트워크도 충분히 만족하기 때문이다. 다만, 최근에 안드로이드 폰에서 OpenVPN Connect로 접속할 때 보안 설정을 Insecure로 바꿔야만 동작해서 불만이었다. 사실 외부에서 LTE를 사용하면서 NAS에 접속하는 용도로 쓰기 때문에 Insecure 상태로도 큰 문제는 없지만, 그래도 안전한 방법으로 바꾸고 싶었다. 그래서 이 문제를 해결할 방법을 찾아보았다.

  1. 공유기 교체
    • 가장 간단한 방법이지만 돈이 든다.
    • 요즘 공유기는 뭐가 좋은지 잘 모르겠다. 제품들도 너무 비싼데 사실 지금 구성에 큰 불만이 없어서 오히려 이 돈을 들여서 해야 하나 싶었다.
  2. 공유기 자작
    • 클리앙에서 이 글을 보고 공유기도 자작이 가능한 것을 알았다. (내일 자작공유기에 사용할 장비가 한국 입항하네요.jpg)
    • 자작의 세계를 둘러보니.. HW부터 SW 까지 선택지가 다양했다.
    • 그렇지만, 맨 처음 내가 원하는 것 (최소한 OpenVPN의 Insecure 설정 회피) 을 하기에는 수고가 많이 든다.
  3. 커스텀 펌웨어
    • 예전부터 ASUS 공유기에 커스텀 펌웨어를 많이 사용한다고 들어서 찾아봤다.
    • Asuswrt-merlin
      • https://www.asuswrt-merlin.net/
      • 처음엔 이 펌웨어를 생각했다. 가장 순정에 가깝기 때문이다.
      • 그런데 내가 사용하는 RT-AC56R 은 이미 멀린펌웨어에서도 지원이 끝났다.
      • 소스 코드 받아서 OpenVPN 버전이랑 업데이트 해볼까 했는데.. 마지막 지원 버전임에도 빌드가 안되었다.
    • OpenWrt
      • https://openwrt.org/ 
      • 그 다음에 알게 된 펌웨어
      • 그런데 알고보니 브로드컴을 사용하는 공유기는 드라이버가 없어서 WiFi가 안된다고 한다.
    • DD-WRT
      • https://dd-wrt.com/
      • DD-WRT 는 드라이버가 있어서 WiFi도 문제가 없다고 한다.
      • 그런데, 다운로드 하려고 보니 어떤 버전을 받아야 하는지 도무지 알 수 없었다. 검색해서 나오는 버전은 구버전이고 다운로드 사이트에서 최신은 찾을 수 있었지만 이게 맞나 싶었다.
    • FreshTomato
      • http://freshtomato.org/
      • merlin 펌이랑 OpenWRT 검색하다가 어느 게시글에서 우연히 알게되었다.
      • 브로드컴을 사용하는 공유기 전용 펌웨어다.
      • 펌웨어 버전도 직관적이고 내가 사용하려는 기능도 있어서 가장 마음에 들었다.
  4. 공유기 교체(중고)
    • 이 와중에.. RT-AC68U 를 당근마켓에서 찾아보았다. 혹시나 Asuswrt-merlin 을 올린다면 아직 지원이 되기 때문이다. 다행히 근처에 매물이 있긴 했지만 일단 커스텀 펌웨어를 먼저 해보기로 했다.

 

일단 커스텀 펌웨어 선택지 4개중에 3개는 이런저런 이유가 있서 사실상 FreshTomato 말고는 선택할 것이 없었다. 현재 공유기 설정을 메모하고 단자함에 있던 공유기를 내 방에 가져왔다. 아무렇지 않게 FreshTomato 펌웨어를 올리려고 했는데, 아차! 컴퓨터에 아직 펌웨어를 받기 전이었다. 😂 급 스마트폰을 연결해 인터넷 연결공유로 펌웨어를 받았다. 공유기 작업하는 도중에 인터넷 검색하는데도 도움이 되었다.

펌웨어를 받고 Asus 설정 페이지에서 펌웨어 업데이트 까지는 좋았는데, 재부팅 이후 공유기 반응이 없었다. 분명 전원 LED하고 Wired LED 불은 들어오는데 IP가 제대로 안잡혔다. 등골이 서늘했다. 너무 안일하게 진행한거 같아 좀 후회했다. 다시 원래 펌웨어로 돌리리고 Asus Firmware Restoration을 받았다. 그런데, 아무리 가이드에 나온 방법을 써도 공유기가 인식되지 않았다.😮 여러번 복구모드를 실행하다 보니 다행히 Broadcom CFE miniWebserver로 접속할 수 있었다. 그 화면에서 Restore default NVRAM values를 한번 해주고, 다시 접속해서 FreshTomato 펌웨어를 올렸다. 사실은 정식 펌웨어로 올리려고 했는데 원인은 모르겠으나 내가 가지고 있던 정식 펌웨어가 되지 않아 혹시나 하고 넣었다. 그리고 재부팅을 하고 잠시 기다렸는데, 짠~ 이제는 제대로 부팅되었다. 아마 NVRAM 초기화 한게 도움이 된 듯.

다시 원래 쓰던 설정 그대로 다 적용했다. 원래 목적이었던 OpenVPN도 이제 Insecure로 설정하지 않아도 잘 동작한다.

오랫동안 써왔던 공유기, 진짜 고장날때까지 계속 쓸 것 갈다. 😁

Posted by on the 7th of October, 2023 at 11:02 am under 컴퓨터.  This post has no comments.

Recently, I found that Nginx Proxy Manager docker is not working properly after reboot my Synology NAS. But it works properly just restart the container again.

I found this log when it had the problem.

❯ Configuring npm user …
0
s6-rc: fatal: timed out
s6-sudoc: fatal: unable to get exit status from server: Operation timed out
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
usermod: no changes

It said “timed out”. It seems that it doesn’t get enough processing time because I have 16 containers that start at boot. I added this environment varaible, and now it works properly after reboot.

S6_CMD_WAIT_FOR_SERVICES_MAXTIME 60000

(from https://github.com/just-containers/s6-overlay)

 

혹시 Docker로 Nginx Proxy Manager 쓰는데 재부팅하면 동작을 안하고 container를 재시작 해야 한다면, 위 환경변수를 추가했을 때 해결될수도 있다.

Posted by on the 24th of September, 2023 at 12:35 pm under 컴퓨터.  This post has no comments.

이번에 업그레이드 하면서 윈도우10을 새로 깔았다. 그리고 가능한 개발 환경은 WSL 을 이용해 리눅스를 이용하고 있다. WSL에 Android Studio를 사용하는데 있던 문제 해결 방법을 적어둔다. 결론은 USBIPD 쓰면 됨.

윈도우 ADB 실행 안됨

일단 윈도우에서 ADB를 실행하는데 자꾸 5037 포트를 열지 못하고 실행이 되지 않았다. 구글링 해보니 Hyper-V 를 사용하는 경우 Hyper-V 에서 임의의 포트를 미리 잡고 있어서 문제가 생긴다고 한다.

다음 명령으로 포트를 바꾸고 재부팅하면 해결 된다.

netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384

(출처: https://stackoverflow.com/questions/52173657/android-studio-error-cannot-connect-to-daemon/76617445#76617445)

WSL Android Studio와 연동하기 (윈도우 adb + socat)

안드로이드 폰을 PC와 연결하면 윈도우PC와 동작한다. 이걸 WSL로 연동을 해야 하는데 USBIPD 가 잘 동작하지 않아 일단 다른 방법을 시도했다.  윈도우에서 adb를 실행시키고 리눅스에서 socat으로 사용하는 방법이다.

먼저 윈도우에서 adb를 실행한다.

adb kill-server
adb -a nodaemon server start

다음에 linux에서 socat을 실행한다.

adb kill-server
export WSL_HOST_IP="$(tail -1 /etc/resolv.conf | cut -d' ' -f2)"
socat TCP-LISTEN:5037,reuseaddr,fork TCP:$WSL_HOST_IP:5037

(출처: https://stackoverflow.com/questions/60166965/adb-device-list-empty-using-wsl2/77049846#77049846)

WSL Android Studio와 연동하기 (USBIPD)

그런데, 이 글을 적다가 진짜 USBIPD로 동작을 안하나 찾아봤다. 그런데 알고보니.. udev rules 파일을 제대로 안만들어서 그런거였다. udev rules가 잘 되어 있다면 윈도우에서는 다음과 같이 실행하면 된다.

usbipd wsl list            # bus id 확인
usbipd wsl attach –busid 0-0 –auto-attach

USBIPD 사용법: https://github.com/dorssel/usbipd-win/wiki/WSL-support

Posted by on the 22nd of September, 2023 at 9:46 pm under 컴퓨터.  This post has one comment.

내가 쓰는 키보드는 예전에 LG IBM 컴퓨터와 나왔던 PS/2 방식 내추럴 키보드다. 찾아보니 예전 글도 하나 있다. 그런데 이번에 산 메인보드는 PS/2 포트가 없다. 어떻게 할까 고민하다 USB 방식으로 개조를 했다.

개조한 결과물. USB 케이블 색깔이 검은색이라 좀 아쉽다.

컴퓨터 업그레이드 이후 키보드 개조까지 이런 일들이 있었다. 너무 길어서 가려둔다.

(read more)

Posted by on the 10th of September, 2023 at 9:23 pm under 사는이야기.  This post has no comments.

이제 언제 했는지도 모를  마지막 업그레이드 이후 컴퓨터 성능에 대한 욕심은 많이 줄었다. 그 당시에 가장 빠른 CPU와 램 32GB에 SSD 까지 달면서 일반적인 성능은 부족함이 없었다. 인텔 4세대 CPU인데 아마 5세대가 나왔을 때 샀으니 적어도 8년전 쯤 했던 거 같다.

그러다 이번에 업그레이드를 했다.

며칠동안 i7-13700 으로 할까  i5-13600k 로 할까 고민을 했다. 구글링 해보면 13700 부터는 공랭이 어렵고, 공랭을 한다고 해도 성능을 다 못쓴다고 하고 비용도 제법 든다. 13600k 는 공랭으로 많이들 쓰는 거 같고 가격도 어쨌거나 더 저렴한데, 컴퓨터에 관심이 많고 욕심이 있는데 i7이 아니라 i5라서 만족감이 떨어지는 느낌이었다. 그래도 13600k 도 충분히 좋은 CPU고, 사실 내가 좋은 CPU 달아 봐야 하는게 크게 달라지는게 없어서 13600k 를 선택했다.

메인보드는 B760 칩셋 사용한 제품중에 MSI B760 토마호크를 선택했다. 다들 박격포를 많이 쓰는데, 내 케이스는 일단 크기도 크고, 일단 안쓰더라도 이것저것 더 많은게 마음에 들었다. 문제는 내가 쓰는 키보드가 하도 예전꺼라 PS/2 방식인데 이 보드는 PS/2 를 더 이상 지원하지 않는다. 그래서 컨버터를 만들려고 작은 보드를 하나 주문했다. 이건 보드가 오면 다른 글을 쓸 예정이다.

메모리는 전에 이미 32GB를 써서 이번엔 64GB로 했다. 예전에는 8GB 짜리 4개로 했는데 이번에는 32GB 짜리 2개를 달았다. 이렇게 메모리를 많이 단 이유는 윈도우와 리눅스를 같이 쓰기 위해서이다. 그냥 평소에 사용하기에는, 그리고 게임하기에는 윈도우가 더 좋다. 그런데, 얼마 하지는 않지만, 개발을 하기에는 확실히 리눅스가 더 편하다. 윈도우PC에서 VMWare나 가상화를 해서 써봐도 뭔가 만족스럽지 않았다.

8년 전에는 Linux를 메인으로 하고 qemu로 윈도우를 깔고 거기에 pcie passthrough를 이용해 게임도 하려고 했다. 다만, 가능성만 확인하고는 그냥 윈도우를 썼다. 그 사이에 생각지도 못했던 WSL, WSLG 가 들어오면서 윈도우에서 리눅스를 쓰는게 훨씬 편해졌다. 이번에 업그레이드 하자마자 WSL을 이용해 gentoo linux를 설치했다.

나머지 부품들은 이미 전부터 쓰던거 그대로 써서 더 살것은 없었다.

 

그런데, 윈도우 깔고 이것저것 해보는데 CPU 온도가 너무 높았다. 아이들이 60도 정도에 뭐만 조금 돌아도 금방 100도를 찍었다. 시네벤치를 해봤는데.. 기대했던 성능의 2/3 정도밖에 나오지 않았다. 이게 여름이라 그런건지, PC가 있는 방이 너무 작고 더워서 그런건지 이상하다 생각을 했는데..

(read more)