3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWrt システム クイックスタート 初期・基本設定

3
Last updated at Posted at 2023-08-11

:flag_jp: Japanese notation

OpenWrt_icon.png

はじめに

記事について

OpenWrt初期設定・運用ガイドです
インストールから各種設定、チューニングなどをまとめています

初心者対応構成

デバイスアクセス

PowerShellの開始

  • パワーシェル起動:キー入力:Win+x > a > はい
  • コンソールログイン (パワーシェル)
    ※192.168.1.1以外の場合、以下の形式で入力後にワンライナーを入力下さい
$ip="192.168.*.*"
  • コンソールログイン (192.168.1.1用)
    万能型ワンライナー
if(!$ip){$ip="192.168.1.1"}; ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL -o GlobalKnownHostsFile=NUL -o HostKeyAlgorithms=+ssh-rsa -tt root@$ip

最初にやる事

デバイス情報確認

ディストリビューション
cat /etc/openwrt_release

cat /etc/openwrt_version

cat /etc/os-release

uname -a

uname -r


システム情報

システム情報

CPU

cat /proc/cpuinfo

MTD

cat /proc/mtd

MODULES

cat /proc/modules

devices

cat /proc/devices

free

free

meminfo

cat /proc/meminfo

iomem

cat /proc/iomem

ps

ps

ifconfig

ifconfig

dmesg

dmesg

プロセス数の上限

sysctl kern.maxproc kern.maxprocperuid 

sysctl kernel.threads-max


LuCi 確認

※リリースビルドのみ

ROOTパスワード

passwd

Changing password for root
New password:

passwd:入力モード
任意のパスワード

Retype password:

passwd:入力モード
再入力

passwd: password for root changed by root

exit

SSHアクセスインターフェース

※WAN側からアクセスする場合不要

# 設定値
SSH_INTERFACE='lan'  # lan / wan / 空欄=全インターフェース
SSH_PORT='22'        # SSHポート番号

# SSH設定
uci -q batch << EOF
set dropbear.@dropbear[0].Interface='${SSH_INTERFACE}'
set dropbear.@dropbear[0].Port='${SSH_PORT}'
commit dropbear
EOF

/etc/init.d/dropbear restart

設定

config(設定ファイル)は /etc/config/以下に格納
※以下設定は、新規インストール用

システム

# 設定値
HOSTNAME='openwrt'                        # ルーター名
DESCRIPTION=$(cat /etc/openwrt_version)   # 説明
NOTES=$(date +%F\ %H:%M)                  # 備考
COUNTRY='JP'                              # 国コード
TIMEZONE='JST-9'                          # タイムゾーン
ZONENAME='Asia/Tokyo'                     # ゾーン名
NTP='pool.ntp.org'                        # NTPサーバー

# システム基本設定
uci -q batch << EOF
set system.@system[0].hostname='${HOSTNAME}'
set system.@system[0].description='${DESCRIPTION}'
set system.@system[0].notes='${NOTES}'
set system.@system[0].timezone='${TIMEZONE}'
set system.@system[0].zonename='${ZONENAME}'
set system.@system[0].conloglevel='6'
set system.@system[0].cronloglevel='9'
delete system.ntp.server
set system.ntp.enable_server='1'
set system.ntp.use_dhcp='0'
set system.ntp.interface='lan'
add_list system.ntp.server='0.$(echo ${COUNTRY} | tr 'A-Z' 'a-z').${NTP}'
add_list system.ntp.server='1.$(echo ${COUNTRY} | tr 'A-Z' 'a-z').${NTP}'
add_list system.ntp.server='0.${NTP}'
add_list system.ntp.server='1.${NTP}'
commit system
EOF

/etc/init.d/system reload
/etc/init.d/sysntpd restart

LED

利用可能LED確認

ls /sys/class/leds/ 

設定

# 設定値
LED_WHITE='white:power'  # 白LED(デバイスにより異なる)
LED_RED='red:power'      # 赤LED(デバイスにより異なる)

# LED設定
uci add system led
uci -q batch << EOF
set system.@led[-1].name='WHITE-OFF'
set system.@led[-1].sysfs='${LED_WHITE}'
set system.@led[-1].trigger='none'
set system.@led[-1].default='0'
EOF

uci add system led
uci -q batch << EOF
set system.@led[-1].name='POWER-RED'
set system.@led[-1].sysfs='${LED_RED}'
set system.@led[-1].trigger='default-on'
EOF

uci commit system
/etc/init.d/led restart

オフロード

フローオフロード

# 設定値
OFFLOAD='software'  # software / hardware / disabled

# オフロード設定
case "${OFFLOAD}" in
    software)
        uci -q batch << EOF
set firewall.@defaults[0].flow_offloading='1'
delete firewall.@defaults[0].flow_offloading_hw
commit firewall
EOF
        ;;
    hardware)
        # ※ハードウェアNATサポート必要(mt7621, MT7986A/B等)
        uci -q batch << EOF
set firewall.@defaults[0].flow_offloading='1'
set firewall.@defaults[0].flow_offloading_hw='1'
commit firewall
EOF
        ;;
esac

/etc/init.d/firewall restart

パケットステアリング

# 設定値
PACKET_STEERING='1'  # 1=有効 / 0=無効

# パケットステアリング設定
uci set network.globals.packet_steering="${PACKET_STEERING}"
uci commit network
/etc/init.d/network restart

カスタムDNS

# 設定値
DNS4_PRIMARY='1.1.1.1'           # IPv4 プライマリDNS
DNS4_SECONDARY='8.8.8.8'         # IPv4 セカンダリDNS
DNS6_PRIMARY='2606:4700:4700::1111'    # IPv6 プライマリDNS
DNS6_SECONDARY='2001:4860:4860::8888'  # IPv6 セカンダリDNS

# カスタムDNS設定
uci -q batch << EOF
delete dhcp.lan.dhcp_option
delete dhcp.lan.dns
add_list dhcp.lan.dhcp_option='6,${DNS4_PRIMARY},${DNS4_SECONDARY}'
add_list dhcp.lan.dns='${DNS6_PRIMARY}'
add_list dhcp.lan.dns='${DNS6_SECONDARY}'
commit dhcp
EOF

/etc/init.d/dnsmasq restart
/etc/init.d/odhcpd restart

確認

Wi-Fi

※W53、W56はDFSにて起動遅延60秒

設定

# 設定値
SSID='OpenWrt'           # SSID
PASSWORD='password1234'  # パスワード(8文字以上)
COUNTRY='JP'             # 国コード

# WiFi設定
for radio in $(uci show wireless | grep "wireless\.radio[0-9]*=" | cut -d. -f2 | cut -d= -f1); do
    band=$(uci -q get wireless.${radio}.band)
    iface="default_${radio}"
    
    # band別の暗号化方式(6GHzはsae必須)
    case "${band}" in
        6g) encryption='sae' ;;
        *)  encryption='sae-mixed' ;;
    esac
    
    uci -q batch << EOF
set wireless.${radio}.disabled='0'
set wireless.${radio}.country='${COUNTRY}'
set wireless.${iface}.ssid='${SSID}-${band}'
set wireless.${iface}.key='${PASSWORD}'
set wireless.${iface}.encryption='${encryption}'
EOF
done

uci commit wireless
wifi reload

確認

他設定

診断アドレス

# 設定値
DIAG='one.one.one.one'  # 診断先ホスト

# 診断アドレス設定
uci -q batch << EOF
set luci.diag.dns='${DIAG}'
set luci.diag.ping='${DIAG}'
set luci.diag.route='${DIAG}'
commit luci
EOF

/etc/init.d/rpcd reload

CRON(スケジュール)

参考

# 再起動 06:00
echo "00 06 * * * sleep 70 && touch /etc/banner && reboot" >> /etc/crontabs/root
# WiFi A OFF 00:00
echo "00 00 * * * uci set wireless.default_radio0.disabled=1; uci commit; wifi" >> /etc/crontabs/root
# WiFi A ON 08:00
echo "00 08 * * * uci set wireless.default_radio0.disabled=0; uci commit; wifi" >> /etc/crontabs/root
# LED 夜間 OFF 00:00 ※再起動で設定値復旧
echo "00 00 * * * echo "none" > /sys/class/leds/white:power/trigger" >> /etc/crontabs/root
/etc/init.d/cron restart

スケジュール確認

crontab -l

フラッシュ&インストールシステム

aios.png

他デバイス設定

初期化

ファクトリーリセット(初期化)

# 要注意
firstboot && reboot now

This will erase all settings and remove any installed packages. Are you sure? [N/y]

  • y

デバイスリセットボタン

デバイスのリセットボタンを5秒押し続ける

あとがき

参考資料(感謝:relaxed:

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?