OpenWrt 초기설정

OpenWrt를 플래싱 후 웹을 통한 관리자 페이지 접속과 기본적인 초기설정 및 puttygen을 이용한 ssh-key생성, 및 putty설정에 관한 내용입니다.

초기 웹 로그인

브라우저 주소창에 http://192.168.1.1 또는 http://openwrt 로 접속하면 브라우저 상으로 라우터를 관리하는 페이지가 나오는데 이걸 luci라고 부릅니다. luci는 기존 터미널에서 관리하던 것이 발전해 웹을통해 직관적이고 편리하게 라우터를 관리하는 웹인터페이스이라고 생각하면 됩니다. (다만 모든 설정을 luci로 할수 있는 것은 아닙니다.)
관리자 접속 id : root , 패스워드는 설정되어 있지 않으므로 공란으로 로그인 한 후 패스워드를 설정합니다.

initlogin

Time zone 설정

luci > system > geneal setting > time zone : asia/seoul 선택 후 save and apply 버튼 클릭

ssh 설정

ssh는 tcp 22번 포트를 보안상 1024번 이상의 다른 포트로 변경하고 패스워드가 아닌 ssh key를 통한 ssh 로그인이 되도록 설정 할 겁니다. ssh key 생성은 이전에 OpenWrt 설치시 다운받은 puttygen으로 하고 공개키는 라우터에, 개인키는 putty에 등록 후 ssh로 라우터에 접속하게 설정합니다.

  1. luci 기본설정 (패스워드를 통한 ssh 접속 차단)
    1. 메뉴 > adminstration ssh access 이동
    2. port : 2222
    3. password authentication : uncheck
    4. allow root logins with password : uncheck
    5. save and apply 버튼 클릭
  2. puttygen 실행 (내용 업데이트 : openwrt v21 부터 dropbear가 ed25519를 지원합니다. RSA보다 ed25519를 추천)
    1. parameters : 4096 선택 (dropbear는 OpenWrt ssh daemon으로 ed25519 미지원하여 RSA로 선택합니다)
    2. genetate 버튼 클릭하여 키 생성
    3. key comment : root@Openwrt 입력
    4. key passphrase / confirm passphrase : 보통 집에서 라우터를 관리하므로 암호 입력하지 않음(암호없이) - 필요한 경우 암호 입력
    5. 키생성이 완료되면 puttygen 상의 public key for pasting into openssh authorized_key files : 란의 공개키 값이 생성되는데 이를 복사하여 OpenWrt luci 메뉴 > administration > ssh keys 에 입력 save and apply 버튼 클릭
    6. puttygen 의 save private key 버튼을 눌러 원하는 경로에 화일이름은 openwrt_rsa-nopassord.ppk 화일 저장
  3. putty 에 ssh key 등록하고 로그인 설정
    1. session > host name : 192.168.1.1 입력
    2. session > port : 2222 입력
    3. session > connection type : ssh 선택
    4. connection > ssh > auth > private key file for authentication : browse 버튼을 눌러 위에서 생성한 openwrt_rsa-nopassord.ppk 화일 경로 선택
    5. connection > data > login detail > auto login username : root 입력
    6. session > load, save or delete a stored session > saved session > 192.168.1.1 입력
    7. session > load, save or delete a stored session> save 버튼 클릭하여 저장
    8. 저장된 root@OpenWrt 선택하고 open 버튼 클릭하여 ssh 접속
puttygen generate key
putty config ssh auth
putty config connection
putty config session
Using username "root".
Authenticating with public key "root@OpenWrt"
Passphrase for key "root@OpenWrt":


BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.4, r11208-ce6496d796
 -----------------------------------------------------
root@OpenWrt:~# Code language: Shell Session (shell)

LED 끄기

라우터 전원이 켜지면 power나 wifi 상태에 따라 LED가 점등되는데 신경쓰이거나 야간에 방해가 된다면 LED를 꺼놓을 수 있습니다.

luci > system > LED configuration >

  • power LED 상시 끄기 예제
    1. add LED action 버튼 클릭
    2. name : power
    3. led name : power
    4. trigger : none
    5. save
    6. save and apply
ledoff

cat /etc/config/system

...
config led
        option trigger 'none'
        option sysfs 'r7800:white:power'
        option name 'POWER'
        option default '0'
Code language: Lua (lua)

luci https 적용 및 외부접속 차단

방화벽에서 wan으로 들어오는 80, 443포트를 개방하지 않는 이상 필요없는 설정입니다. 아래는 참고만 하세요.

luci가 https를 지원하도록 아래와 같이 ssh로 접속해 luci-ssl 패키지를 설치합니다.(v21이후 luci-ssl은 factory-img에 포함됨)

opkg update
opkg install luci-ssl

luci는 웹인터페이스로 웹서버인 uhttpd 으로 구동되는데 외부에서의 접근을 차단하고 http를 https로 rediret하기 위해 shell에서 vi 편집기로 uhttpd 설정화일인 /etc/config/uhttpd.conf를 아래와 같이 수정합니다.

  • ipv6 서비스 하지 않음 (#으로 주석처리-국내 통신사는 현재 ipv6을 서비스 하지 않습니다.)
  • ipv4 0.0.0.0 을 192.168.1.1로 변경해 외부 접속 차단합니다. (외부 접속을 허용하는 경우 0.0.0.0 그대로 두고 방화벽에서 80, 443포트를 개방합니다.)
  • http를 https 로 redirect

cat /etc/config/uhttpd.conf

config uhttpd main
        # HTTP listen addresses, multiple allowed
        list listen_http        192.168.1.1:80
        #list listen_http       [::]:80
        # HTTPS listen addresses, multiple allowed
        list listen_https       192.168.1.1:443
        #list listen_https      [::]:443
        # Redirect HTTP requests to HTTPS if possible
        option redirect_https   1
...
Code language: Lua (lua)

변경 후 uhttpd 재시작 합니다

/etc/init.d/uhttpd restart

Software NAT 가속 설정

미디어텍 mt7621칩셋 라우터만 하드웨어 nat 가속을 지원합니다. 해당 라우터가 아니라면 소프트웨어 nat가속을 설정합니다.

luci > network > firewall > routing/nat offloading : software flow offloading : check 후 save and apply 버튼 클릭

software flow offloading
config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option htmode 'VHT80'
        option channel '44'
config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option key 'strongpassword'
        option ssid 'OpenWrt50'
        option encryption 'psk2+ccmp'
config wifi-device 'radio1'
        option type 'mac80211'
        option hwmode '11g'
        option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
        option htmode 'HT20'
        option channel '11'
config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option key 'strongpassword'
        option ssid 'OpenWrt24'
        option encryption 'psk2+ccmp'
Code language: Lua (lua)

Leave a Comment