Убрал лишний IP в конце диапазона

This commit is contained in:
Maksim Ivanov
2021-09-13 23:15:11 +03:00
committed by GitHub
parent 7f6fe16ec9
commit 12c98cb4d9

View File

@@ -1,7 +1,9 @@
#!/bin/bash
#Подсеть и маска
net_addr="100.64.0.0"
net_mask="10"
#Преобразование IP адреса в число
ip2int ()
{
local IFS=. ip num e
@@ -14,10 +16,9 @@ ip2int ()
}
start_int=`ip2int $net_addr`
(( end_int = start_int + 2 ** ( 32 - net_mask ) ))
#echo IP range is $start_int - $end_int
(( end_int = start_int + 2 ** ( 32 - net_mask ) - 1 ))
#Получение адреса wan интерфейса, при необходимости замените на свой вариант
ip=$(ip -f inet -o addr show pppoe-wan|cut -d\ -f 7 | cut -d/ -f 1)
ip_int=`ip2int $ip`
@@ -25,9 +26,12 @@ echo `date` Current IP is $ip "("$ip_int")"
if [[ $ip_int -ge $start_int && $ip_int -le $end_int ]];
then
#Таймауты между попытками необходимы чтобы не словить кратковременную блокировку от РТ
echo `date` Grey IP received, restarting wan...
#30 секунд таймаут перед отключением, после чего гасим wan шинтерфейс
sleep 30
ifdown wan
#Еще 30 секунд таймаут и повторная попытка подключения
sleep 30
ifup wan
fi