OpenWrt 초기 설정 절차

OpenWrt 초기 설정 절차

4 min read

설정 가이드

제공되는 OpenWrt 템플릿 초기 설정 절차

초기 부팅 후 안전하게 사용을 시작하기 위한 절차입니다. WAN을 먼저 설정하고, LuCI를 HTTPS로 보호하면서 단계적으로 구성합니다.

WAN = eth0
작업용 LAN = eth1
HTTPS GUI (LuCI)
SSH는 필요시에만

대상 및 전제 조건 #

  • 대상: 제공되는 OpenWrt 템플릿
  • WAN = eth0 (글로벌 IP를 설정하는 포트)
  • 작업용 LAN = eth1 (DHCP / 콘솔 복구용 네트워크)
  • 초기에는 HTTPS GUI (LuCI)로 로그인
  • SSH는 필요시에만 (키 등록 후 시작 / 22 개방, 패스워드 SSH는 금지)

중요 사항 (필독) #

본 템플릿은 cloud-init 미지원이므로 초기에는 수동 설정이 필요합니다.

  • 접속 소스 IP 제한은 필수입니다 (클라우드 측 FW / SG와 OpenWrt 측 FW 양쪽에서 443 / 22를 고객님의 관리 IP만 허용해 주십시오)
  • 설정을 잘못하면 접근이 불가능해집니다. 작업 중에는 콘솔을 열어둔 채로 진행해 주십시오
  • 콘솔은 US 배열로 해석될 수 있습니다 (특히 /: 등). 본 절차에서 필요한 기호는 주로 ./ 및 공백입니다

전체 흐름 #

  1. (선택사항) 포털에서 OpenWrt 인스턴스 생성
  2. 포털에서 WAN 정보와 관리 IP 확인
  3. 콘솔에서 root 로그인
  4. firstboot.sh를 실행하여 WAN과 HTTPS 초기 설정
  5. 클라우드 측 FW / SG에서 TCP 443을 「관리 IP만」 허용
  6. LuCI (HTTPS)에 로그인
  7. (필요시에만) SSH 공개키 등록 → enable_ssh.sh로 SSH 활성화 → 클라우드 측 FW / SG에서 TCP 22를 「관리 IP만」 허용

Step 0(선택사항) 포털에서 OpenWrt 인스턴스 생성 #

이미 인스턴스가 할당된 경우 건너뛰어도 됩니다. 포털 UI는 제공자에 따라 차이가 있지만, 녹화에서는 다음과 같은 흐름이었습니다.

Step 0.1 템플릿 (OS)을 OpenWrt로 설정 #

생성 화면에서 OpenWrt 템플릿을 선택하는 예그림: 생성 화면에서 템플릿을 선택하는 예 (1 = OS 템플릿 / 2 = 호스트명).

Step 0.2 Public IP 할당 설정 확인 후 생성 #

네트워크 설정에서 Public IP 할당을 확인하는 예그림: 네트워크 설정 예 (1 = IPv4 Pool을 Public IP로 / 2 = IP 수 (일반적으로 1) / 3 = 생성 버튼).

포인트: 이 절차서의 전제는 eth0이 WAN (Public)입니다. 포털 측에서 NIC 할당이나 순서를 변경할 수 있는 경우 반드시 eth0이 Public 측이 되도록 확인해 주십시오.

Step 1사전 준비 (포털에서 확인) #

포털 (할당 정보)에서 다음을 확인해 주십시오.

WAN (글로벌) 정보 #

  • IPv4 주소 (예: 203.0.113.2)
  • 넷마스크 (예: 255.255.255.224)
  • 게이트웨이 (예: 203.0.113.1)
  • DNS (지정이 없으면 1.1.1.1 8.8.8.8로 OK)

관리 IP (귀하 단말기의 글로벌 IP) #

  • 고정 글로벌 IP (권장): 회사 회선 / VPN 출구 등
  • 예: 203.0.113.10/32

관리 IP가 바뀌는 회선 (모바일 / 가정용 회선)을 사용하면 나중에 스스로를 차단할 가능성이 높아집니다. 가능하면 고정 IP (회사 / VPN)를 사용해 주십시오.

우려되는 점이 있으시면 지원 티켓을 열어 상담해 주십시오.

포털에서 콘솔과 WAN IP를 확인하는 위치 예그림: 포털에서 「콘솔」과 「IP (WAN)」를 확인하는 위치 예 (1 = 콘솔 / 2 = IP).

참고: CIDR → 넷마스크 변환 #

CIDR넷마스크
/29255.255.255.248
/28255.255.255.240
/27255.255.255.224
/26255.255.255.192
/24255.255.255.0

Step 2콘솔에서 로그인 (필수) #

  1. 포털에서 콘솔 (noVNC / Proxmox 등)을 엽니다.
  2. login: 이 표시되면 root 로 로그인합니다.

초기 상태는 root 패스워드가 미설정 (잠김)인 경우가 많으며, 콘솔 로그인은 가능한 것을 전제로 한 템플릿입니다. 만약 패스워드를 요구하는데 알 수 없는 경우 제공업체에 문의하세요.

Step 3초기 설정 스크립트 실행 #

프롬프트가 root@OpenWrt:~# 인지 확인하고 firstboot.sh 를 실행합니다.

./firstboot.sh

만약 실행할 수 없는 경우 (Permission denied 등), 경로를 지정하여 실행합니다.

sh /root/firstboot.sh
콘솔에서 firstboot.sh 를 실행하는 예그림: 콘솔에서 ./firstboot.sh 를 실행하는 예 (1 = 실행 명령).

Step 4스크립트 질문에 답변 #

스크립트가 순서대로 질문합니다. 입력 값은 Step 1 에서 메모한 내용을 사용합니다.

Step 4.1 root 패스워드 설정 (필수) #

먼저 “root 패스워드가 미설정”으로 판정되면 passwd 가 시작됩니다. 지시에 따라 새 패스워드를 설정하세요.

이 패스워드는 LuCI (HTTPS GUI) 로그인에 필요합니다.

Step 4.2 WAN 설정 입력 #

본 절차의 전제는 eth0 이 WAN이므로, 프롬프트가 WAN device [eth1]: 처럼 나타나는 경우에도 eth0 을 입력하세요.

firstboot.sh 의 입력 예그림: firstboot.sh 의 입력 예 (1 = WAN device를 eth0 으로 설정 / 2 = WAN IPv4, netmask, gateway, DNS 입력).

입력하는 항목 (예):

  • WAN device: eth0
  • WAN IPv4 address: 포털의 IP (예: 203.0.113.2)
  • WAN netmask: 포털의 넷마스크 (예: 255.255.255.224)
  • WAN gateway: 포털의 GW (예: 203.0.113.1)
  • DNS servers: 별도 지정이 없으면 1.1.1.1 8.8.8.8
  • Admin source IP / CIDR: 귀하의 관리 원본 IP (예: 203.0.113.10/32)

Step 4.3 적용 확인 #

마지막으로 내용이 표시됩니다. 문제가 없으면 Apply these settings? [y/N]:y 를 입력합니다.

적용 후 스크립트는 OpenWrt 측의 네트워크 설정과 관리 원본 IP 제한이 적용된 HTTPS 액세스 허용 (FW)을 구성합니다.

Step 5기반 방화벽 (클라우드 측) 설정 (HTTPS) #

스크립트 완료 후, 클라우드 측 (기반 FW / SG) 에서 HTTPS를 허용합니다.

  • 허용: TCP 443
  • 소스: 관리 원본 IP (예: 203.0.113.10/32)
  • 대상: 이 OpenWrt 인스턴스 (WAN 측)
기반 방화벽에서 TCP 443을 관리 원본 IP에만 허용하는 예그림: 기반 FW / SG에서 443을 여는 예 (1 = 소스 IP를 관리 원본으로 제한 / 2 = 대상 포트 443 / 3 = 전송). ※ 포털에 따라 항목명·표시 방식이 다를 수 있습니다.

먼저 기반 FW에서 443을 열어도 OpenWrt 측에서 허용될 때까지 접근할 수 없으므로 비교적 안전하지만, 반드시 소스 IP 제한을 설정하세요.

Step 6HTTPS GUI (LuCI)에서 로그인 #

브라우저에서 다음 주소로 접속합니다.

https://<WAN_IP>/

자체 서명 인증서이므로 경고가 표시됩니다. 내용을 확인한 후 계속 진행합니다 (브라우저 표시는 환경에 따라 다릅니다).

자체 서명 인증서 경고 예그림: 자체 서명 인증서 경고 예 (1 = 고급 설정).

로그인 화면이 표시되면 사용자 root 와 Step 4.1에서 설정한 패스워드로 로그인합니다.

Step 7(필요시에만) SSH 활성화 #

방침: 키를 등록한 후 SSH를 활성화합니다(패스워드 SSH는 금지). SSH를 사용하지 않는 운영이라면 이 장은 건너뛸 수 있습니다.

Step 7.1 LuCI에서 SSH 공개 키 등록 #

LuCI 메뉴 예시(환경에 따라 표기가 조금 다를 수 있습니다):

System → Administration → SSH-Keys

LuCI에서 Administration 화면을 여는 예그림: LuCI에서 System 메뉴를 열고 Administration을 선택하는 예(1 = System / 2 = Administration).
LuCI에서 SSH 공개 키를 등록하는 화면그림: SSH-Keys 등록 화면 예시(1 = 공개 키 붙여넣기 / 2 = Add key). ※ 공개 키는 「개인 키가 아닌 것」(예: ~/.ssh/id_ed25519.pub)입니다.

공개 키(ssh-ed25519 AAAA... 한 줄)를 붙여넣고 저장합니다.

개인 키(id_ed25519 등)를 붙여넣지 마십시오.

Step 7.2 SSH 활성화 스크립트 실행 #

콘솔에서 다음을 실행합니다.

./enable_ssh.sh

제대로 실행되지 않는 경우 경로를 지정하여 실행합니다.

sh /root/enable_ssh.sh
enable_ssh.sh를 시작하는 예그림: enable_ssh.sh를 시작하고 SSH(22) 허용 출처 IP를 입력하는 예(1 = 실행 부분).

여기서 관리 출처 IP를 묻습니다. HTTPS에서 사용한 관리 출처 IP와 같다면 표시된 기본값 그대로 Enter를 눌러도 됩니다.

이 스크립트는 일반적으로 다음을 수행합니다.

  • dropbear(SSH) 시작
  • 키 인증만 설정(패스워드 인증 비활성화)
  • OpenWrt 본체 FW에 「22를 관리 출처 IP만 허용」규칙 추가

Step 7.3 클라우드 측 FW / SG에서도 22 개방(관리 출처 IP 제한) #

  • 허용: TCP 22
  • 송신 출처: 관리 출처 IP(예: 203.0.113.10/32)
  • 대상: 이 OpenWrt 인스턴스(WAN 측)

주의: OpenWrt 측 SSH 활성화(키 등록 + enable_ssh)보다 먼저 22를 전체 개방하지 마십시오.

Step 7.4 접속 확인(사용자 단말에서) #

ssh -i ~/.ssh/id_ed25519 root@<WAN_IP>

패스워드로 SSH 로그인이 실패하는 것이 정상입니다(키만 허용).

Step 8자주 있는 문제와 복구 #

Step 8.1 HTTPS 접속 불가(타임아웃) #

먼저 의심해야 할 순서:

  1. 클라우드 측 FW / SG에서 TCP 443이 관리 출처 IP에서 허용되어 있는가
  2. 관리 출처 IP가 정말 맞는가(회선이 바뀌지 않았는가)
  3. 콘솔에서 WAN 설정이 들어있는가

콘솔 확인:

uci show network.wan
ip -o -4 addr show
ip route

패킷이 도달하는지 확인(예시):

tcpdump -ni eth0 tcp port 443

Step 8.2 관리 출처 IP가 변경되어 접속 불가 #

콘솔에서 허용 IP를 변경할 수 있습니다(관리 출처 IP가 변경된 경우).

HTTPS 허용 출처 변경:

uci set firewall.allow_https_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart

SSH를 사용하는 경우:

uci set firewall.allow_ssh_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart

Step 8.3 WAN 디바이스(eth0 / eth1)를 잘못 지정 #

WAN을 잘못된 인터페이스로 설정하면 통신 불가 상태가 됩니다. 이 경우에도 콘솔에서 복구할 수 있습니다. network.wan.deviceeth0로 되어 있는지 확인하십시오.

uci show network.wan.device
uci show network.wan.ifname  # 환경에 따라 이 키인 경우도 있습니다

부록: 이 절차에서 자주 사용하는 치환용 플레이스홀더 #

<WAN_IP> #

포털에서 확인한 WAN IPv4

<ADMIN_SOURCE_CIDR> #

귀하의 관리 소스 IP (예: 203.0.113.10/32)

<NEW_IP/32> #

관리 소스 IP가 변경된 경우의 새 IP

Updated on 2026年6月9日

What are your feelings

  • Happy
  • Normal
  • Sad