안드로이드폰이 USB 유선랜 허브를 직접 인식하면 공유기 IP를 자체적으로 받을 수 있습니다

현재 구성은 안드로이드폰이 PC 또는 우분투 중계서버를 거쳐 통신하는 방식입니다. 이 경우 스마트폰은 PC가 만든 USB 경로, ADB 포워딩, 역테더링, 프록시를 통해 외부와 연결됩니다. 반대로 USB-C 유선랜 허브나 OTG 이더넷 어댑터를 스마트폰에 직접 꽂고, 허브의 LAN 포트를 공유기에 연결하면 스마트폰 자체가 하나의 유선 네트워크 장치가 됩니다.

성공하면 공유기 DHCP가 안드로이드폰에 192.168.0.xxx 형태의 내부 IP를 직접 할당합니다. 이때는 중계서버의 보조 IP가 아니라 스마트폰이 공유기에서 받은 자기 IP가 되며, Termux의 PHP, Nginx, SSH, Android HTTP 서버 같은 서비스도 그 IP와 포트로 접근할 수 있습니다.

현재 방식 PC 경유 USB, ADB 포워딩, 중계서버가 경로를 만듭니다.
직접 방식 USB LAN 스마트폰이 USB 유선랜을 직접 인식합니다.
IP 공급 공유기 DHCP에서 192.168.0.xxx를 받습니다.
권장 목표 192.168.0.195 공유기 DHCP 고정 예약으로 맞추는 것이 안정적입니다.

PC 중계 구조와 직접 공유기 IP 구조의 차이

두 구조는 둘 다 USB를 사용하지만 네트워크의 주체가 다릅니다. PC 중계 구조에서는 PC가 스마트폰으로 길을 만들어 줍니다. 직접 공유기 IP 구조에서는 스마트폰이 USB 이더넷 장치를 잡고 공유기 네트워크의 한 장비가 됩니다.

현재 PC 경유 구조

안드로이드폰 → USB 케이블 → PC/우분투 중계서버 → 공유기 순서입니다. 외부 요청이나 내부 요청은 중계서버가 받은 뒤 ADB 포워딩, 프록시, 역테더링 같은 방식으로 스마트폰까지 넘깁니다. 스마트폰은 직접 공유기 IP를 받지 않아도 서비스에 참여할 수 있습니다.

USB 유선랜 직접 구조

공유기 LAN 포트 → 랜선 → USB 유선랜 허브 → 안드로이드폰 순서입니다. 이때 스마트폰이 OTG 호스트가 되어 유선랜 칩을 직접 인식합니다. 공유기는 스마트폰을 하나의 유선 장치로 보고 DHCP IP를 내려줍니다.

운영 의미

직접 IP를 받으면 http://192.168.0.195:8082처럼 스마트폰 자체 주소로 접속할 수 있습니다. 중계서버 없이 내부망에서 바로 테스트할 수 있고, 필요하면 공유기 포트포워딩이나 앞단 Nginx를 통해 도메인 연결도 설계할 수 있습니다.

필요한 장비 조건

일반 USB 허브만으로는 안 됩니다. 반드시 LAN 포트가 있는 USB 이더넷 허브 또는 USB 이더넷 어댑터가 필요합니다. 충전까지 같이 해야 장시간 서버 운영이 가능하므로 PD 충전 입력이 있는 USB-C 멀티허브가 가장 현실적입니다.

스마트폰
USB OTG를 지원해야 합니다. USB-C 폰이 가장 쉽고, Micro-USB 폰은 OTG 젠더가 별도로 필요합니다.
허브
RJ45 LAN 포트가 있는 USB-C 허브, 또는 USB 이더넷 어댑터가 필요합니다. 단순 USB 포트 확장 허브는 IP를 받을 수 없습니다.
랜칩
안드로이드가 인식하는 칩이어야 합니다. Realtek RTL8152/RTL8153, ASIX AX88772/AX88179 계열은 인식 사례가 많습니다.
공유기
LAN 포트와 DHCP 서버가 켜져 있어야 합니다. 고정 IP처럼 쓰려면 공유기 관리자 화면에서 MAC 주소 기반 DHCP 예약을 설정합니다.
전원
서버로 오래 켜둘 경우 허브의 PD 충전 입력으로 스마트폰을 충전하면서 유선랜을 유지하는 구성이 좋습니다.

연결 순서

먼저 허브가 스마트폰에서 인식되는지 확인하고, 그 다음 공유기 IP를 받는지 확인합니다. IP가 들어오면 그때 Termux나 HTTP 서버 앱의 포트를 열어 테스트합니다.

1단계

  1. 공유기 LAN 포트에 랜선을 꽂습니다.
  2. 랜선을 USB 유선랜 허브의 RJ45 포트에 연결합니다.
  3. 허브를 안드로이드폰 USB-C 또는 OTG 젠더에 연결합니다.
  4. 충전 겸용 허브라면 PD 충전기를 허브에 연결합니다.

2단계

  1. 안드로이드 설정에 Ethernet 또는 유선 네트워크 항목이 보이는지 확인합니다.
  2. Termux에서 ip addr로 새 인터페이스를 확인합니다.
  3. eth0, usb0, enx... 같은 항목에 192.168.0.xxx가 붙으면 성공입니다.

3단계

  1. 공유기 관리자 페이지에서 해당 장치가 보이는지 확인합니다.
  2. 스마트폰의 MAC 주소를 확인합니다.
  3. DHCP 고정 예약으로 원하는 IP, 예를 들면 192.168.0.195를 지정합니다.

Termux에서 확인하는 명령

안드로이드 설정 화면만으로도 확인할 수 있지만, Termux가 설치되어 있다면 아래 명령으로 더 정확하게 확인할 수 있습니다.

ip addr ip route ping -c 4 192.168.0.1 getprop | grep -i ethernet
ip addr eth0, usb0, enx... 같은 인터페이스와 192.168.0.xxx 주소를 확인합니다.
ip route 기본 게이트웨이가 공유기 주소, 보통 192.168.0.1로 잡혔는지 확인합니다.
ping 공유기와 통신되는지 확인합니다. 공유기에 응답 제한이 있으면 외부 DNS나 다른 내부 장비로도 테스트합니다.
중요한 기준은 스마트폰 내부 인터페이스에 공유기 대역 IP가 직접 붙었는지입니다. PC 중계 주소나 ADB 포워딩 주소가 아니라, 스마트폰 자신에게 192.168.0.xxx가 보여야 직접 IP 구조입니다.

192.168.0.195처럼 고정해서 쓰는 방법

안드로이드에서 IP를 강제로 고정하는 것보다 공유기에서 DHCP 고정 예약을 거는 방식이 안정적입니다. USB 랜허브의 MAC 주소를 공유기가 기억하고, 매번 같은 IP를 내려주는 방식입니다.

권장 방식
공유기 관리자 페이지 → DHCP 고정 할당 또는 주소 예약 → USB 랜허브 MAC 주소 선택 → 192.168.0.195 지정
주의점
USB 랜허브를 바꾸면 MAC 주소가 바뀝니다. 같은 스마트폰이라도 허브가 바뀌면 공유기에서는 다른 장치로 보입니다.
충돌 방지
이미 다른 장비가 쓰는 IP를 지정하면 충돌이 납니다. 공유기 DHCP 범위와 기존 장비 목록을 보고 비어 있는 주소를 예약해야 합니다.

직접 IP를 받은 뒤 서버 운영

스마트폰이 192.168.0.195를 직접 받으면 내부망에서는 PC 중계 없이 스마트폰 포트로 바로 접근할 수 있습니다. Termux 서버, Android HTTP 서버 앱, Nginx 프록시를 각각 다른 포트로 열 수 있습니다.

Android HTTP 서버 앱

HTTP 서버 앱이 8081 또는 8080에서 열려 있다면 내부망 주소는 http://192.168.0.195:8081/처럼 됩니다.

Termux PHP

Termux에서 php -S 0.0.0.0:8082로 열면 같은 공유기 안의 PC에서 http://192.168.0.195:8082/로 확인할 수 있습니다.

Termux Nginx

Nginx를 8083에 바인딩하면 http://192.168.0.195:8083/로 접근할 수 있습니다. PHP-FPM이나 PHP 내장 서버로 프록시하는 구조도 가능합니다.

보안과 운영 주의점

직접 공유기 IP를 받는다고 해서 바로 인터넷 전체에 공개되는 것은 아닙니다. 내부망에서는 바로 접근되지만, 외부 도메인으로 공개하려면 공유기 포트포워딩, 중계 서버 Nginx 프록시, 또는 터널 구성이 필요합니다.

내부망 운영 같은 공유기 안에서는 192.168.0.195:포트로 접근합니다. 테스트와 내부 대시보드 운영에 가장 단순합니다.
외부 공개 공유기 포트포워딩을 열거나, 197 중계서버가 Nginx로 받아 스마트폰 IP로 넘기는 방식이 필요합니다.
HTTPS 스마트폰 자체에서 인증서를 직접 운영할 수도 있지만, 보통은 197 중계서버나 공개 서버가 HTTPS를 맡고 내부로 프록시하는 편이 안정적입니다.
장시간 운영 발열, 충전 상태, Android 백그라운드 제한, 허브 전원 안정성을 확인해야 합니다. PD 충전 허브가 없으면 장기 운영 중 배터리가 줄 수 있습니다.
결론적으로 인터넷 USB 허브, 정확히는 USB 유선랜 허브를 스마트폰이 직접 인식하면 중계 IP가 아니라 공유기에서 직접 받은 IP로 운영할 수 있습니다. 다만 일반 USB 허브가 아니라 LAN 포트와 안드로이드 호환 랜칩이 있는 허브여야 합니다.