Скрипт перезапуска интерфейса.

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 11:12:15

Добрый день!
У меня возник следующий трабл... :unknown: На сервере по непонятной причине залипает интерфейс который смотрит в локальную сеть. Сервер под управлением FreeBSD 5.4. После запуска команды ifconfig em0 down up все подымается. Вопрос: можно ли как то автоматизировать этот процесс? На сайте лисяры нашел следующий скрипт для похожей задачи но с vtun, пытался его переделать...помогите пожалуйста, замучался уже я с ним...
Воть что у меня получился за скрипт:

Код: Выделить всё

#!/bin/sh

# Скрипт перезапуска интерфейса em0, на случай падений

# переменные
ping="/sbin/ping"
grep="/usr/bin/grep"
wc="/usr/bin/wc"

if [ `${ping} -c 4 192.168.0.0 | ${grep} "Host is down" | ${wc} -l` -lt 1 ]
    then
    ifconfig em0 down up #> /dev/null 2>&1
    else
fi
exit

Буду очень благодарен за помощь! :"":
Все Админы деляться на добрых, справедливых и меня.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

D_CPU350
рядовой
Сообщения: 39
Зарегистрирован: 2008-06-11 17:06:40
Контактная информация:

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение D_CPU350 » 2009-05-06 11:16:02

Можно поинтересоваться?
как залипает?
есть ли какие-нибудь изменения в sysctl?

Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 11:23:31

Та вообщем то он падает ни с того ни с сего. Просто в один момент локальная сеть перестает видеть шлюз (em0) не отвечает на пинги, так же как и он с своей стороны не видит сеть, такое ощущение что сетевушку отключили, но при выводе ifconfig состояние пишет active
В sysctl если честно даже незнаю, я его конфиг не трогал, как то не приходилось...
Все Админы деляться на добрых, справедливых и меня.

Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 11:42:38

D_CPU350 писал(а):Можно поинтересоваться?
как залипает?
есть ли какие-нибудь изменения в sysctl?
Меня в принципе интересует сам скрипт, у меня есть подозрение что это падения сетвушки происходят на апаратном уровне.
Поэтому хочу написать скрипт для автоматизации процедуры перезапуска интерфейса...
Я так понимаю, что в скрипте ошибка в этой строке

Код: Выделить всё

if [ `${ping} -c 4 192.168.0.15 | ${grep} "Host is down" | ${wc} -l` -lt 1  ] 
а именно -lt 1 Не пойму как правильно задать параметр если Host is down больше 1, то выполнить ifconfig em0 down up
Все Админы деляться на добрых, справедливых и меня.

D_CPU350
рядовой
Сообщения: 39
Зарегистрирован: 2008-06-11 17:06:40
Контактная информация:

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение D_CPU350 » 2009-05-06 11:53:28

Код: Выделить всё

#!/bin/sh

ping -c 4 -t 5 192.168.0.0  || ifconfig em0 down up

Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 12:04:05

D_CPU350 писал(а):

Код: Выделить всё

#!/bin/sh

ping -c 4 -t 5 192.168.0.0  || ifconfig em0 down up
а как же условие? после чего он должен перезапускаться? :unknown:
Все Админы деляться на добрых, справедливых и меня.

D_CPU350
рядовой
Сообщения: 39
Зарегистрирован: 2008-06-11 17:06:40
Контактная информация:

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение D_CPU350 » 2009-05-06 12:10:49

в конце работы команда ping выдает код завершения - 0 если все ок, не ноль, если есть ошибки
|| - логическое "или"

Передергивать интерфейс - неправильный подход.
Нужно все-таки определить аппаратная проблема или нет (заменить сетевуху)
У меня была аналогичная проблема, оказалось не в железе :smile:

Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 12:15:37

D_CPU350 писал(а):в конце работы команда ping выдает код завершения - 0 если все ок, не ноль, если есть ошибки
|| - логическое "или"

Передергивать интерфейс - неправильный подход.
Нужно все-таки определить аппаратная проблема или нет (заменить сетевуху)
У меня была аналогичная проблема, оказалось не в железе :smile:
Ну заменить я ее пока и не могу, по причине лагов днк директора :-D
Поэтому и взялся за скрипт... А в чем у тебя была проблемма тогда?
Все Админы деляться на добрых, справедливых и меня.

D_CPU350
рядовой
Сообщения: 39
Зарегистрирован: 2008-06-11 17:06:40
Контактная информация:

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение D_CPU350 » 2009-05-06 12:23:53

дооптимизировал через sysctl. К сожалению не смог выяснить какая конкретно опция убивала сеть, т.к. просто все снес оттуда и прописал только нужное.

Код: Выделить всё

security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.hardlink_check_uid=1
security.bsd.hardlink_check_gid=1
#kern.ipc.somaxconn=1024
#kern.ipc.maxsockbuf=16777216
kern.coredump=0
#net.link.ether.inet.max_age=1200
#net.inet.icmp.icmplim=50
#net.inet.icmp.drop_redirect=1
#net.inet.icmp.log_redirect=1
#net.inet.icmp.bmcastecho=0
#net.inet.icmp.maskrepl=0
#net.inet.ip.redirect=0
#net.inet.ip.sourceroute=0
#net.inet.ip.accept_sourceroute=0
#net.inet.udp.blackhole=1
#net.inet.tcp.blackhole=2
#net.inet.tcp.nolocaltimewait=1
#net.inet.tcp.msl=7500
net.inet.tcp.delayed_ack=0
net.inet.tcp.drop_synfin=1
net.inet.tcp.rfc1323=1
#net.inet.tcp.sendspace=1048576
#net.inet.tcp.recvspace=1048576

security.bsd.hardlink_check_uid=1
security.bsd.hardlink_check_gid=0
одна из закоментированных опций убивала

Аватара пользователя
kos_fist
рядовой
Сообщения: 41
Зарегистрирован: 2009-05-06 10:59:55

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение kos_fist » 2009-05-06 12:32:04

Так дело в том что раньше такого небыло, и конфиг sysctl никто не трогал...Ладно, я только что прописал конфиг в крон, будем смотреть, спасибо огромное! :) Теперь хоть знаю если что куда копать :good:
Все Админы деляться на добрых, справедливых и меня.

D_CPU350
рядовой
Сообщения: 39
Зарегистрирован: 2008-06-11 17:06:40
Контактная информация:

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение D_CPU350 » 2009-05-06 12:33:41

ну это у меня было, у Вас может быть что угодно;)))

5chme1
проходил мимо

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение 5chme1 » 2012-02-02 19:45:41

У меня такая же фигня. интерфейс падает ни с того ни с сего. FreeBSD 8.2
При этом стабильно работало несколько месяцев, конфиги никто не трогал. Уже и не знаю, что делать...

5chme1
проходил мимо

Re: Скрипт перезапуска интерфейса.

Непрочитанное сообщение 5chme1 » 2012-02-02 20:42:46

только через некоторое время в консоли появляется такое сообщение:
named[767]: could not listen on UDP socket: permission denied
named[767]: creating IPv4 interface igb0 failed; interface ignored
И все, пинги с него не идут, хотя он сам пингуется 0_о

UPD: Нашел подлеца, прописавшего статический IP. Проблема решена