Убрал лишний IP в конце диапазона
This commit is contained in:
10
white_ip.sh
10
white_ip.sh
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user