Restart WAN interface when internet is down - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์ž์ฃผ ๋Š๊ธฐ๊ณ  "ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค"์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด, ์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ AC86U์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ผ์šฐํ„ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๊ธ‰ ์Šคํฌ๋ฆฝํŠธ

์ปค๋ฎค๋‹ˆํ‹ฐ ์‚ฌ์šฉ์ž๋“ค์ด ์ž‘์„ฑํ•œ ํ›Œ๋ฅญํ•œ ์Šคํฌ๋ฆฝํŠธ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

https://www.snbforums.com/threads/need-a-script-that-auto-reboot-if-internet-is-down.43819/post-371791

https://github.com/MartineauUK/Chk-WAN

๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ

๋‹ค์Œ์€ 3๋ถ„๋งˆ๋‹ค ์‹คํ–‰๋˜์–ด 10๋ฒˆ์˜ ํ•‘์ด ์‹คํŒจํ•˜๋ฉด WAN ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋Š” ๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ์กฐ์ •ํ•˜์„ธ์š”. ๋” ํฌ๊ด„์ ์ด๊ณ  ํšจ๊ณผ์ ์ธ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด์„œ๋Š” ์œ„๋ฅผ ์ฐธ์กฐํ•ด ์ฃผ์„ธ์š”.

  1. ์ƒˆ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ•˜์„ธ์š”:
nano /jffs/scripts/custom_wan_monitor
  1. ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”:
#!/bin/sh

PING_HOST=1.1.1.1
PING_WAIT=2
MAX_TRIES=10

wan_monitor(){
    echo "WAN Monitor: $@"|/usr/bin/logger -s
}
restart_wan_interface(){
    wan_monitor "Force restarting WAN interface now..."
    service "restart_wan_if 0"
    sleep 10
    service "restart_wan_if 1"
    wan_monitor "WAN interface is restarted."
}
ping_test(){
    count_tries=0
    ping_test_passed=0
    wan_monitor "Running ping test..."
    while [ $count_tries -lt $MAX_TRIES ]; do
        if /bin/ping -c 1 -W $PING_WAIT $@ >/tmp/wan_check.log; then
            ping_test_passed=1
            wan_monitor "Ping test succeeded within $PING_WAIT secs."
            break
        else
            sleep 1
            let count_tries=count_tries+1
            wan_monitor "Ping failed [$count_tries]"
        fi
    done
}

ping_test $PING_HOST

if [ $ping_test_passed -gt 0 ]; then
    wan_monitor "Internet was reachable. No need to restart WAN."
    break
else
    wan_monitor "Pings failed. Internet must be down."
    restart_wan_interface
fi
  1. ์ด ์ „์ฒด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์„ธ์š”:
touch /jffs/scripts/init-start ; echo 'cru a custom_wan_monitor "*/3 * * * * /jffs/scripts/custom_wan_monitor"' >> /jffs/scripts/init-start ; cat /jffs/scripts/init-start

init-start์— ์ƒˆ ์ค„์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์„ธ์š”.

  1. ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์„ธ์š”:
chmod 755 /jffs/scripts/init-start /jffs/scripts/custom_wan_monitor

๋ผ์šฐํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜์„ธ์š”.

ํฌ๋ก  ์ž‘์—…์ด ๋‚˜์—ด๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์„ธ์š”:

cru l

์‹œ์Šคํ…œ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ง€์†์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

ํฌ๋ก  ์ž‘์—… ํƒ€์ด๋ฐ์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋„์›€์€ ์—ฌ๊ธฐ์—์„œ ์ฝ์–ด๋ณด์„ธ์š”. ํฌ๋ก ํƒญ ๊ตฌ๋ฃจ

์ฐธ๊ณ  ์ž๋ฃŒ

๊ณ„์†๋˜๋Š” ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ๋งํฌ๋“ค์ž…๋‹ˆ๋‹ค:

ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ - SNB ํฌ๋Ÿผ์Šค

์ƒˆ RT-AX88U, 4์ผ ํ›„ WAN ์—†์Œ - SNB ํฌ๋Ÿผ์Šค

AC3100 ์ฃผ WAN ํ• ๋‹น, ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ์„ ํ‘œ์‹œ - SNB ํฌ๋Ÿผ์Šค

์•„์ˆ˜์Šค ํŽŒ์›จ์–ด DHCP ์—ฐ์† ๋ชจ๋“œ, ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ž ์žฌ์  ํ•ด๊ฒฐ์ฑ… - SNB ํฌ๋Ÿผ์Šค

ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ - SNB ํฌ๋Ÿผ์Šค

๋ชจ๋Ž€/๋ผ์šฐํ„ฐ ๋’ค์˜ RT-AX88U ๋ผ์šฐํ„ฐ, ISP - SNB ํฌ๋Ÿผ์Šค

RT-AX88U ์ธํ„ฐ๋„ท ์ƒํƒœ ๋Š๊น€ - SNB ํฌ๋Ÿผ์Šค

AC86U ์ž„์˜ ๋Š๊น€, ๊ทธ๋Ÿฌ๋‚˜ ๊ณ„์† ์ผœ์ง - SNB ํฌ๋Ÿผ์Šค

ISP ๋ผ์šฐํ„ฐ ๋’ค์˜ AX88U, ์ธํ„ฐ๋„ท ๋“œ๋ž, VPN, ISP DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ - SNB ํฌ๋Ÿผ์Šค

WAN ์—ฐ๊ฒฐ, ISP์˜ DHCP๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ - SNB ํฌ๋Ÿผ์Šค