설정 가이드
초기 부팅 후 안전하게 사용을 시작하기 위한 절차입니다. WAN을 먼저 설정하고, LuCI를 HTTPS로 보호하면서 단계적으로 구성합니다.
작업용 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 배열로 해석될 수 있습니다 (특히
/나:등). 본 절차에서 필요한 기호는 주로.와/및 공백입니다
전체 흐름 #
- (선택사항) 포털에서 OpenWrt 인스턴스 생성
- 포털에서 WAN 정보와 관리 IP 확인
- 콘솔에서 root 로그인
firstboot.sh를 실행하여 WAN과 HTTPS 초기 설정- 클라우드 측 FW / SG에서 TCP 443을 「관리 IP만」 허용
- LuCI (HTTPS)에 로그인
- (필요시에만) SSH 공개키 등록 →
enable_ssh.sh로 SSH 활성화 → 클라우드 측 FW / SG에서 TCP 22를 「관리 IP만」 허용
Step 0(선택사항) 포털에서 OpenWrt 인스턴스 생성 #
이미 인스턴스가 할당된 경우 건너뛰어도 됩니다. 포털 UI는 제공자에 따라 차이가 있지만, 녹화에서는 다음과 같은 흐름이었습니다.
Step 0.1 템플릿 (OS)을 OpenWrt로 설정 #
그림: 생성 화면에서 템플릿을 선택하는 예 (1 = OS 템플릿 / 2 = 호스트명).Step 0.2 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.18.8.8.8로 OK)
관리 IP (귀하 단말기의 글로벌 IP) #
- 고정 글로벌 IP (권장): 회사 회선 / VPN 출구 등
- 예:
203.0.113.10/32
관리 IP가 바뀌는 회선 (모바일 / 가정용 회선)을 사용하면 나중에 스스로를 차단할 가능성이 높아집니다. 가능하면 고정 IP (회사 / VPN)를 사용해 주십시오.
우려되는 점이 있으시면 지원 티켓을 열어 상담해 주십시오.
그림: 포털에서 「콘솔」과 「IP (WAN)」를 확인하는 위치 예 (1 = 콘솔 / 2 = IP).참고: CIDR → 넷마스크 변환 #
| CIDR | 넷마스크 |
|---|---|
| /29 | 255.255.255.248 |
| /28 | 255.255.255.240 |
| /27 | 255.255.255.224 |
| /26 | 255.255.255.192 |
| /24 | 255.255.255.0 |
Step 2콘솔에서 로그인 (필수) #
- 포털에서 콘솔 (noVNC / Proxmox 등)을 엽니다.
login:이 표시되면root로 로그인합니다.
초기 상태는 root 패스워드가 미설정 (잠김)인 경우가 많으며, 콘솔 로그인은 가능한 것을 전제로 한 템플릿입니다. 만약 패스워드를 요구하는데 알 수 없는 경우 제공업체에 문의하세요.
Step 3초기 설정 스크립트 실행 #
프롬프트가 root@OpenWrt:~# 인지 확인하고 firstboot.sh 를 실행합니다.
./firstboot.sh만약 실행할 수 없는 경우 (Permission denied 등), 경로를 지정하여 실행합니다.
sh /root/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 의 입력 예 (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 측)
그림: 기반 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에서 System 메뉴를 열고 Administration을 선택하는 예(1 = System / 2 = Administration).
그림: 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를 시작하고 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 접속 불가(타임아웃) #
먼저 의심해야 할 순서:
- 클라우드 측 FW / SG에서 TCP 443이 관리 출처 IP에서 허용되어 있는가
- 관리 출처 IP가 정말 맞는가(회선이 바뀌지 않았는가)
- 콘솔에서 WAN 설정이 들어있는가
콘솔 확인:
uci show network.wan
ip -o -4 addr show
ip route패킷이 도달하는지 확인(예시):
tcpdump -ni eth0 tcp port 443Step 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 restartSSH를 사용하는 경우:
uci set firewall.allow_ssh_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restartStep 8.3 WAN 디바이스(eth0 / eth1)를 잘못 지정 #
WAN을 잘못된 인터페이스로 설정하면 통신 불가 상태가 됩니다. 이 경우에도 콘솔에서 복구할 수 있습니다. network.wan.device가 eth0로 되어 있는지 확인하십시오.
uci show network.wan.device
uci show network.wan.ifname # 환경에 따라 이 키인 경우도 있습니다