Нужно определить IP выданный провайдером по DHCP и гейвей на одном из нескольких сетевух и засунуть его в другой скрипт
>Нужно определить IP выданный провайдером по DHCP и гейвей на одном из
>нескольких сетевух и засунуть его в другой скриптИ в чём сложность?
man ifconfig
man route
man netstat
>>Нужно определить IP выданный провайдером по DHCP и гейвей на одном из
>>нескольких сетевух и засунуть его в другой скрипт
>
>И в чём сложность?
>
>man ifconfig
>man route
>man netstatСложность в том что это всё надо автоматезировать, т.к. повайдер сволочь 3 раза за сутки адрес мне меняет, независимо от того то в тот момент используется канал и из-за этого много программ становится, и им всем надо объяснить сто ИП поменялся, но ночями я сплю и днем не всегда есть возможность сидеть у компьютера!
>[оверквотинг удален]
>>
>>man ifconfig
>>man route
>>man netstat
>
>Сложность в том что это всё надо автоматезировать, т.к. повайдер сволочь 3
>раза за сутки адрес мне меняет, независимо от того то в
>тот момент используется канал и из-за этого много программ становится, и
>им всем надо объяснить сто ИП поменялся, но ночями я сплю
>и днем не всегда есть возможность сидеть у компьютера!Ну тогда в добавок man sh. Или Вы хотите, чтобы за Вас скрипт написали?
>[оверквотинг удален]
>>>man netstat
>>
>>Сложность в том что это всё надо автоматезировать, т.к. повайдер сволочь 3
>>раза за сутки адрес мне меняет, независимо от того то в
>>тот момент используется канал и из-за этого много программ становится, и
>>им всем надо объяснить сто ИП поменялся, но ночями я сплю
>>и днем не всегда есть возможность сидеть у компьютера!
>
>Ну тогда в добавок man sh. Или Вы хотите, чтобы за Вас
>скрипт написали?был бы очень признателен :)
>[оверквотинг удален]
>>>Сложность в том что это всё надо автоматезировать, т.к. повайдер сволочь 3
>>>раза за сутки адрес мне меняет, независимо от того то в
>>>тот момент используется канал и из-за этого много программ становится, и
>>>им всем надо объяснить сто ИП поменялся, но ночями я сплю
>>>и днем не всегда есть возможность сидеть у компьютера!
>>
>>Ну тогда в добавок man sh. Или Вы хотите, чтобы за Вас
>>скрипт написали?
>
>был бы очень признателен :)честно говоря, мне ничего не помогло :(
>[оверквотинг удален]
>>>>тот момент используется канал и из-за этого много программ становится, и
>>>>им всем надо объяснить сто ИП поменялся, но ночями я сплю
>>>>и днем не всегда есть возможность сидеть у компьютера!
>>>
>>>Ну тогда в добавок man sh. Или Вы хотите, чтобы за Вас
>>>скрипт написали?
>>
>>был бы очень признателен :)
>
>честно говоря, мне ничего не помогло :(нашел такой скриптик:
dhclient-exit-hooksего содержимое такое:
#!/bin/sh
PATH=/usr/sbin:${PATH}
case "$new_ip_address" in
10.*) ;;
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
192.168.*) ;;
*)
logger -t dhclient IP address changed to $new_ip_address >/dev/null 2>&1
;;
esac
что в него нужно добавить чтоб он ещё и гейтвей видел?помогите, очень прошу...
>помогите, очень прошу...Что туда добавить не знаю, к тому же не совсем понял что вообще делает этот скрипт. Сложилось впечатление, что вообще ничего не делает.
Вот вариант по определению ИП.#!/bin/bash
# задаем сетевухи, по которым нужна инфа
eth[0]=eth0
eth[1]=eth1# поиск ip на сетевухах
i=0
while [ "${eth[$i]}" ]; do
ip[$i]=`ifconfig "${eth[$i]}" | grep "inet addr" | awk '{ print $2 }' | awk -F : '{ print $2 }'`
len=`echo "${ip[$i]}" | awk '{ print length($1) '}`
i=$[ $i + 1 ]
done# вывод ip на сетевухах
i=0
while [ "${eth[$i]}" ]; do
echo "$i. ${eth[$i]} = ${ip[$i]}"
i=$[ $i + 1 ]
done
Для того чтобы определять дефолтные маршруты надо исходя из ИП адреса из маски (все эти данные выдаёт ifconfig, маска берётся аналогично ИП) определять подсеть в которой находится ИП. К сожалению как заставить bash это расчитать не знаю. Если найдётся способ - остально тоже не сложно.
># поиск ip на сетевухах
>i=0
>while [ "${eth[$i]}" ]; do
> ip[$i]=`ifconfig "${eth[$i]}" | grep "inet addr" | awk '{ print $2 }' | awk -F : '{ print $2 }'`
> len=`echo "${ip[$i]}" | awk >'{ print length($1) '}`
> i=$[ $i + 1 ]
>doneтут строка лишняя:
>len=`echo "${ip[$i]}" | awk >'{ print length($1) '}`
>[оверквотинг удален]
> echo "$i. ${eth[$i]} = ${ip[$i]}"
>
> i=$[ $i + 1 ]
>
>done
>Для того чтобы определять дефолтные маршруты надо исходя из ИП адреса из
>маски (все эти данные выдаёт ifconfig, маска берётся аналогично ИП) определять
>подсеть в которой находится ИП. К сожалению как заставить bash это
>расчитать не знаю. Если найдётся способ - остально тоже не сложно.
>или я чегото не понял, или
route | grep "default" | awk '{ print $2 }'
>[оверквотинг удален]
>>
>>done
>>Для того чтобы определять дефолтные маршруты надо исходя из ИП адреса из
>>маски (все эти данные выдаёт ifconfig, маска берётся аналогично ИП) определять
>>подсеть в которой находится ИП. К сожалению как заставить bash это
>>расчитать не знаю. Если найдётся способ - остально тоже не сложно.
>>
>
>или я чегото не понял, или
>route | grep "default" | awk '{ print $2 }'Так нужен просто дефолтный шлюз или дефолтный для каждой сетевухи/сети?
>[оверквотинг удален]
>>>Для того чтобы определять дефолтные маршруты надо исходя из ИП адреса из
>>>маски (все эти данные выдаёт ifconfig, маска берётся аналогично ИП) определять
>>>подсеть в которой находится ИП. К сожалению как заставить bash это
>>>расчитать не знаю. Если найдётся способ - остально тоже не сложно.
>>>
>>
>>или я чегото не понял, или
>>route | grep "default" | awk '{ print $2 }'
>
>Так нужен просто дефолтный шлюз или дефолтный для каждой сетевухи/сети?Дефолтный, он просто дефолтный. Освежите основы.
>Дефолтный, он просто дефолтный. Освежите основы.освежать основы не требуется, лучше не придераться к терминологии.
1: 10.0.0.0 0.0.0.0 255.255.255.0 U 5 0 0 eth0
2: 10.10.0.0 0.0.0.0 255.255.255.0 U 5 0 0 eth1
3: 0.0.0.0 10.10.0.1 0.0.0.0 UG 0 0 0 eth1Что требуется выяснять? Пункты 1 и 2 или 3? (под дефолтными для каждой сети/сетевухи подразумевались пункты 1 и 2). И, наскока я понимаю, автор хотел выяснить именно эти маршруты.
Хотя всё это не важно, автор уже давно забил на эти рассуждения.
>[оверквотинг удален]
> UG 0
> 0 0
>eth1
>
>Что требуется выяснять? Пункты 1 и 2 или 3? (под дефолтными для
>каждой сети/сетевухи подразумевались пункты 1 и 2). И, наскока я понимаю,
>автор хотел выяснить именно эти маршруты.
>
>Хотя всё это не важно, автор уже давно забил на эти рассуждения.
>Ещё раз - читайте основы. В Вашем примере default gateway обозначается третьей записью (0.0.0.0). Ну не надо показывать свою глупость, прошу Вас!
>[оверквотинг удален]
>>
>>Что требуется выяснять? Пункты 1 и 2 или 3? (под дефолтными для
>>каждой сети/сетевухи подразумевались пункты 1 и 2). И, наскока я понимаю,
>>автор хотел выяснить именно эти маршруты.
>>
>>Хотя всё это не важно, автор уже давно забил на эти рассуждения.
>>
>
>Ещё раз - читайте основы. В Вашем примере default gateway обозначается третьей
>записью (0.0.0.0). Ну не надо показывать свою глупость, прошу Вас!Огромное спасибо за помощь...
>[оверквотинг удален]
>>>каждой сети/сетевухи подразумевались пункты 1 и 2). И, наскока я понимаю,
>>>автор хотел выяснить именно эти маршруты.
>>>
>>>Хотя всё это не важно, автор уже давно забил на эти рассуждения.
>>>
>>
>>Ещё раз - читайте основы. В Вашем примере default gateway обозначается третьей
>>записью (0.0.0.0). Ну не надо показывать свою глупость, прошу Вас!
>
>Огромное спасибо за помощь...А всетаки, как определить gateway?
>
>А всетаки, как определить gateway?Почитать про таблицы маршрутизации и научиться пользоваться awk.