[수원=Netcity News] 스마트폰을 작은 서버로 쓰는 실험에서 가장 먼저 부딪히는 문제는 성능보다 네트워크다. Termux, Nginx, PHP, code-server 같은 도구는 폰 안에서 비교적 가볍게 움직일 수 있지만, 외부 장비가 그 폰을 어떤 주소로 찾아갈 것인지는 별도의 문제다.
지금까지는 PC 중계서버가 스마트폰을 USB로 붙잡고, ADB 포워딩이나 USB 역테더링을 통해 폰 내부 서비스로 길을 열어주는 방식이 많이 쓰였다. 그러나 스마트폰이 USB OTG를 지원하고 USB 이더넷 어댑터 또는 랜 USB 허브를 정상적으로 인식한다면, 구조는 훨씬 단순해진다. 공유기에 연결된 USB 랜 장치를 통해 스마트폰이 직접 DHCP IP를 받을 수 있기 때문이다.
스마트폰이 공유기에서 직접 IP를 받는 구조
USB-C OTG 젠더나 USB 허브에 이더넷 포트가 있고, 그 포트가 공유기와 연결되어 있다면 스마트폰은 하나의 LAN 장비처럼 동작할 수 있다. 이때 공유기의 DHCP 서버가 192.168.0.x 같은 내부망 주소를 스마트폰에 할당한다. 폰 안에서 Termux Nginx가 8080 포트로 떠 있다면, 같은 네트워크의 PC나 다른 장비는 192.168.0.x:8080으로 바로 접속할 수 있다.
이 구조의 장점은 명확하다. 중계 PC가 매번 포트를 잡아주지 않아도 되고, 스마트폰은 독립적인 네트워크 노드가 된다. 작은 웹 서버, 현장 기록 서버, 음성 인식 입력 서버, 파일 수집 서버처럼 “항상 켜져 있는 단말형 서버”를 만들 때 관리가 쉬워진다.
가능 조건은 OTG, 칩셋, 전원이다
다만 모든 스마트폰이 자동으로 되는 것은 아니다. 스마트폰이 USB OTG를 지원해야 하고, 안드로이드 커널이 USB 랜 칩셋을 인식해야 한다. 흔히 쓰이는 칩셋으로는 RTL8152, RTL8153, AX88179 계열이 있다. 구형 폰에서는 칩셋 드라이버 지원 여부가 더 중요해진다.
전원도 변수다. USB 랜 어댑터와 허브는 생각보다 전력을 먹는다. 스마트폰 한 대에 유선 랜, 저장장치, 키보드 같은 주변기기를 같이 붙일 계획이라면 전원 입력이 있는 USB 허브를 쓰는 편이 안정적이다. 공유기 쪽에서는 DHCP가 켜져 있어야 하며, 접속할 서비스 포트가 폰 내부에서 실제로 열려 있어야 한다.
여러 스마트폰이 모두 역테더링을 쓴다면
여기서 중요한 구분이 있다. USB 랜 허브를 통해 폰이 직접 IP를 받는 구조와, PC가 폰마다 네트워크를 열어주는 USB 역테더링 구조는 다르다. 여러 스마트폰이 모두 역테더링을 쓴다면 각 스마트폰은 각자 별도의 네트워크 경로를 가져야 한다.
예를 들어 Wide3는 PC의 18080 포트에서 폰 내부 8080으로 전달하고, LG-T540은 18088 포트에서 다른 폰 내부 HTTP로 전달하는 식이다. 폰마다 터널, IP, 포트포워딩을 분리해야 충돌이 나지 않는다. 결국 원칙은 하나다. 한 폰에는 한 네트워크 정체성이 필요하다.
역테더링으로도 스마트폰이 IP를 받거나 중계서버가 고정 포트로 경로를 만들어주면 웹서비스를 운영할 수 있으며, 리버스 프록시나 포트포워딩을 통해 도메인 주소로 연결하는 것도 가능하다.
기존 와이파이 연결 대신 USB 역테더링을 쓰려는 이유도 여기에 있다. 같은 스마트폰 서버라도 무선 구간을 거치지 않고 USB 케이블을 통해 중계서버와 직접 붙으면 체감 응답이 더 빠르고, 패킷 손실이나 무선 간섭의 영향을 덜 받는다. 실제 운영 환경에서는 와이파이보다 USB 역테더링 경로가 더 빠르게 반응하기 때문에, 스마트폰을 서버처럼 계속 노출해야 할 때 유리한 선택지가 된다.
현재 운영 방식도 이 역할 분담에 가깝다. 작업 진행과 일반 조작은 와이파이 환경에서 유연하게 처리하고, 실제 웹서비스로 노출되는 서버 연결은 USB 역테더링 형식으로 고정해 운영한다. 이렇게 하면 작업 편의성은 무선으로 확보하면서도, 서비스 접속 경로는 더 빠르고 안정적인 유선 USB 경로로 유지할 수 있다.
특히 이곳처럼 랜선이 하나만 연결되어 있는 환경에서는 USB 역테더링의 의미가 더 분명해진다. 하나의 유선 랜은 192.168.0.197 중계서버가 받고, 스마트폰 서버들은 USB 케이블로 중계서버에 붙어 각자의 서비스 경로를 확보한다. 별도의 랜선이나 공유기 포트를 폰마다 늘리지 않아도, 한 개의 유선 인터넷 회선을 기준으로 여러 스마트폰 서버를 묶어 운영할 수 있는 셈이다.
운영 팁. USB 역테더링을 연결할 때는 이곳에서 쓰는 것처럼 검은색 데이터 USB 선을 기준으로 연결하는 편이 좋다. 충전 전용 케이블은 전원선만 있고 데이터 통신선이 빠져 있거나 품질이 낮은 경우가 많아, 스마트폰은 충전되지만 ADB·역테더링·서버 포워딩 연결은 안 되는 일이 자주 생긴다.
직접 LAN 모드와 중계서버 모드의 역할 분담
직접 LAN 모드는 단순하고 빠르다. 공유기가 IP를 나눠주고, 스마트폰은 LAN 안의 서버로 곧장 노출된다. 반대로 역테더링 또는 ADB 포워딩 모드는 중계 PC가 중심이 된다. 이 방식은 외부 공개 주소, 리버스 프록시, 포트 정리, 여러 폰의 서비스 관리에 유리하다.
넷시티의 192.168.0.197 중계서버처럼 여러 스마트폰 서버를 한 화면에 모으는 구조에서는 두 방식을 함께 쓸 수 있다. 직접 IP를 받을 수 있는 폰은 LAN 노드로 두고, 오래된 폰이나 드라이버가 맞지 않는 폰은 기존처럼 중계서버의 포워딩 경로로 묶는다. 중요한 것은 모든 스마트폰을 같은 방식으로만 묶으려 하지 않고, 장비가 가진 연결 능력에 맞춰 경로를 나누는 것이다.
스마트폰 서버 구축의 핵심은 결국 “폰이 인터넷을 쓴다”가 아니라 “폰이 네트워크에서 어떤 이름과 주소를 갖는가”다. USB 랜 허브는 이 질문에 가장 단순한 답을 준다. 인식만 된다면 스마트폰은 더 이상 주변기기가 아니라, 공유기에서 IP를 받은 하나의 서버 장비가 된다.