GL.iNet GL-MT3000 wan 포트 속도 100 제한 문제 해결방안
미니 WiFi 공유기 중 뛰어난 가성비와 휴대성을 자랑하는 GL.iNet GL-MT3000(Beryl AX) 모델에서 상단 모뎀이나 건물 스위치와 연결 시 2.5G WAN 포트가 100Mbps로 제한되는 호환성 이슈가 종종 발생합니다.
이 포스팅에서는 1G 포트를 WAN으로 스왑하여 기가 인터넷 속도를 온전히 복구하고, 표준 랜덤 MAC 위장, Cloudflare DNS 및 무중단 원격 접속 터널(Cloudflare Tunnel), WAF 보안 방어선까지 한 번에 구축하는 안전한 마스터 가이드를 공유합니다.
1. 설정의 핵심: 왜 이렇게 구성하나요?
- 포트 스왑 (1G WAN / 2.5G LAN): 2.5G 포트의 오토 네고시에이션 버그를 회피하여 상단 기가비트 속도(1000Mbps)를 복구하고, PC 측에 2.5G 대역폭을 확보합니다.
- IEEE 802 표준 MAC 위장: 부팅 시 비트마스크(0xfc) 연산을 통해 유니캐스트 정품 랜카드 규격을 만족하는 무작위 MAC을 주입하여 상단망의 기기 식별 및 추적을 차단합니다.
- DNS 누출 및 오픈 리졸버 차단: 상단 통신사 DNS를 거부하고 Cloudflare 순정 DNS(1.1.1.1)로 고정하며, 외부 WAN 포트(53)에 DNS 소켓이 노출되는 취약점을 원천 격리합니다.
- Cloudflare Tunnel 원격 접속: 인바운드 포트를 전혀 열지 않는 아웃바운드 터널과 WAF 관리형 챌린지를 구성하여 외부 어디서든 웹 브라우저로 안전하게 공유기를 원격 관리합니다.
- 시스템 안정성 보장: 공유기를 벽돌로 만들 수 있는 위험한 자동 전체 패키지 업그레이드(opkg upgrade)를 원천 배제하고, 핵심 데몬만 안전하게 자동 갱신합니다.
2. [안전 검증판] 원클릭 마스터 최적화 스크립트
윈도우 CMD나 터미널에서 공유기에 SSH 접속(ssh root@192.168.8.1)한 뒤, 아래 스크립트 전체를 복사하여 붙여넣으세요. 네트워크 단절 없이 모든 최적화가 백그라운드에서 안전하게 적용됩니다.
# [1] 위험 스케줄 및 불필요 백그라운드 서비스 정리
(crontab -l 2>/dev/null | grep -v "maintenance.sh") | crontab -
/etc/init.d/cron restart
rm -f /root/maintenance.sh
sed -i '/maintenance\.sh/d' /etc/sysupgrade.conf 2>/dev/null || true
# 제조사 클라우드(GoodCloud) 및 로컬 브로드캐스트(mDNS) 차단으로 RAM 확보
/etc/init.d/gl_cloud stop 2>/dev/null || true
/etc/init.d/gl_cloud disable 2>/dev/null || true
/etc/init.d/umdns stop 2>/dev/null || true
/etc/init.d/umdns disable 2>/dev/null || true
# [2] 포트 스왑 적용 (2.5G LAN = eth0 / 1G WAN = eth1)
uci del_list network.@device[0].ports='eth1' 2>/dev/null || true
uci add_list network.@device[0].ports='eth0' 2>/dev/null || true
uci set network.wan.device='eth1'
uci set network.wan6.device='eth1'
# [3] WAN DNS 수신 소켓 격리 (오픈 리졸버 취약점 방어)
uci del_list dhcp.@dnsmasq[0].notinterface='wan' 2>/dev/null || true
uci del_list dhcp.@dnsmasq[0].notinterface='wan6' 2>/dev/null || true
uci add_list dhcp.@dnsmasq[0].notinterface='wan'
uci add_list dhcp.@dnsmasq[0].notinterface='wan6'
uci commit dhcp
/etc/init.d/dnsmasq restart
# [4] 부팅 시 표준 무작위 MAC 생성 및 Cloudflare DNS 강제 주입 (/etc/rc.local)
cat << 'EOF' > /etc/rc.local
#!/bin/sh
# 1. IEEE 802 표준 유니캐스트/UAA MAC 주소 0.001초 생성 (0xfc 마스크 적용)
BYTE1=$(hexdump -n 1 -e '1/1 "%02x"' /dev/urandom)
BYTE1=$(printf "%02x" $(( 0x$BYTE1 & 0xfc )))
REST=$(hexdump -n 5 -e '5/1 ":%02x"' /dev/urandom)
RAND_MAC="${BYTE1}${REST}"
# 2. 포트 스왑된 실제 WAN(eth1)에 무작위 MAC 및 Cloudflare DNS 적용
uci set network.wan.macaddr="$RAND_MAC"
uci set network.wan.peerdns='0'
uci del network.wan.dns 2>/dev/null
uci add_list network.wan.dns='1.1.1.1'
uci add_list network.wan.dns='1.0.0.1'
uci commit network
# 3. LAN(PC) 세션 단절 없이 WAN 인터페이스만 단독 리프레시
ifdown wan && ifup wan
exit 0
EOF
chmod +x /etc/rc.local
# [5] 펌웨어 업데이트 시 커스텀 부팅 스크립트 보존 등록
grep -q "/etc/rc.local" /etc/sysupgrade.conf || echo "/etc/rc.local" >> /etc/sysupgrade.conf
# [6] 설정 저장 및 WAN 즉시 갱신
uci commit network
/etc/rc.local
echo "GL-MT3000 최적화가 안전하게 완료되었습니다."
3. Cloudflare Tunnel 무중단 원격 접속 연동
외부 포트포워딩을 열지 않고 Cloudflare의 글로벌 네트워크를 통해 내 공유기 관리 화면(router.내도메인.com)에 접근하는 방법입니다.
1단계: 공유기에 cloudflared ARM64 설치
공유기 SSH 터미널에서 바이너리를 내려받고 실행 권한을 부여합니다:
curl -L -o /usr/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
chmod +x /usr/bin/cloudflared
2단계: OpenWrt 표준 백그라운드 서비스(procd) 등록
Cloudflare Zero Trust 대시보드에서 신규 터널을 생성하고 발급받은 토큰을 아래 스크립트에 넣어 등록합니다:
cat << 'EOF' > /etc/init.d/cloudflared
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=95
STOP=10
TOKEN='여기에_본인의_CLOUDFLARE_터널_토큰_입력'
start_service() {
procd_open_instance
procd_set_param command /usr/bin/cloudflared tunnel run --token "$TOKEN"
procd_set_param respawn 3600 5 0
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
EOF
chmod +x /etc/init.d/cloudflared
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start
3단계: WAF 비대화형 관리형 챌린지(Managed Challenge) 설정
인증서 투명성(CT) 로그를 수집하여 침투를 시도하는 자동화 봇넷을 막기 위해 Cloudflare WAF 방어선을 구축합니다.
- Cloudflare 대시보드 → 도메인 선택 → 보안(Security) → WAF → 사용자 지정 규칙(Custom Rules) 이동
- 규칙 생성: 필드
호스트 이름(Hostname)| 연산자같음(equals)| 값router.내도메인.com - 작업(Action): 관리형 챌린지 (Managed Challenge) 선택 후 배포
- 효과: 브라우저 접속 시 1초 만에 백그라운드로 자동 통과되며, 스크립트 기반 해킹 도구는 100% 차단됩니다.
4. 중요한 하드웨어 참고사항
⚠️ 물리 케이블 연결 및 대시보드 표기 안내
1. 케이블 꽂는 위치가 본체 글자와 반대입니다:
포트 스왑이 적용되었으므로, 인터넷 회선(상단 벽면/모뎀)은 본체에 'LAN'이라고 적힌 포트에 꽂아야 하고, PC는 'WAN'이라고 적힌 2.5G 포트에 꽂아야 합니다.
2. 관리자 화면의 "No cable detected" 메시지:
GL.iNet 기본 대시보드는 2.5G 물리 포트를 WAN 상태 모니터링으로 고정해 두었기 때문에 인터넷이 정상 작동하더라도 GUI 화면에 케이블 미연결 경고가 뜰 수 있습니다. 실제 트래픽과 성능은 100% 정상이므로 안심하셔도 됩니다.
5. 설정 완료 후 검증 방법
터미널에서 아래 명령어들을 실행하여 최적화 상태를 점검합니다.
- 회선 속도 확인:
ethtool eth1 | grep Speed→Speed: 1000Mb/s체결 확인 - DNS 격리 확인:
netstat -tuln | grep ':53 '→ WAN 공인 IP 바인딩이 사라지고127.0.0.1:53,192.168.8.1:53만 남았는지 확인 - MAC 위장 확인:
ip link show eth1 | grep "link/ether"→ 공장 출고값이 아닌 신규 무작위 MAC 확인 - Cloudflare 터널 확인:
ps | grep cloudflared→ 백그라운드 프로세스 정상 구동 확인
이제 시스템 브릭 위험 없이 하드웨어 스왑 가속과 Cloudflare 엔터프라이즈급 원격 보안 파이프라인이 완성되었습니다!