LINUX.ORG.RU

Избранные сообщения v9lij

Уведомление голосом

Форум — Admin

Настраиваю уведомление с mgetty. Очень редко, в 3 случаях из 100 скрипт отображает результат уведомления, скажите что я делаю не так?

Команда:

vm shell -R -d 2 -v -S /bin/bash message.sh XXXX 123.rmd
(ХХХХ - номер телефона). т.е. звонок проходит, голос говорит, но скрипт просто молча завершается, и оооочень редко сообщает мол : «OK. Message sent» или «Error. Busy» (за достоверность не ручаюсь)

Сам скрипт:

( читать дальше... )

 

ang256
()

Быстрое выполнение команд на удаленном сервере

Форум — General

Стандартный способ - это запустить через ssh. Но это медленно, по понятным причинам.

Но если у нас есть приватная сеть виртуальных машин для тестирования, то нам не нужно беспокоится о безопасности, а тесты хочется гонять побыстрее.

Объединять запросы в скрипт и запускать этот скрипт на удаленном сервере не подходит, т.к. зачастую нужно что-то здесь сделать, потом что-то там, потом опять здесь etc.

telnet работает быстрее, но с ним не очень удобно работать из python'a. Приходится закрывать соединение, иногда в ответе обрезается один символ...

На коленке слабали простенький tcp-север, который принимает команду и выполняет ее. Работает в десятки раз быстрее, чем через ssh, что было ожидаемо.

Возможно, существуют готовые решения для такой задачи и нет смысла велосипедить?

 

kulti
()

верить ли компиляторам?

Форум — Talks

В 1975 Кеном Томпсоном (создатель языка программирования C и операционной системы UNIX) была впервые поставлена проблема доверенного компилятора. Публично опубликована в 1984 году в его Тьюринговской лекции «Размышление о том, можно ли полагаться на доверие».

В лекции Кен Томпсон продемонстрировал атаку через бинарную версию компилятора С без необходимости модификации его исходных кодов. Была продемонстрирована закладка в компиляторе, которая добавляет вирусный код в программы скомпилированные этим компилятором. А также настроена и на сам компилятор.

Вирусный код невозможно отследить традиционными методами через исходный код.

А ведь компиляторы также компилируются компиляторами. Доверенному и проверенному исходному тексту компилятора нельзя верить до тих пор пока он сам не будет собран доверенным компилятором. Собирая новые версии компилятора размножается вирусный код в новых версиях компилятора. Яркий пример проявления проблемы «курицы и яйца».

Получается, даже полностью свободное железо может не спасти от закладок

 , ,

TheAnonymous
()

iptables vk_ok_facebook(Всеже их нужно блокировать)

Форум — Admin

Доброго дня всем, вобщем решил, я тут, все же заблокировать соцсети (не всем конечно) немного почитал, покурил маны, побороздил google и нашел подходящее как мне показалось решение, но что то не завелось((((

Вобщем ниже часть скрипта фаервола и выхлоп iptables -L -v

# AS32934 -- facebook.com
# AS47541 AS47542  -- vk.com
# AS49988 -- ok.ru
AS_TO_BAN="AS32934 AS47541 AS47542 AS49988"

#Исключения для некоторых пользователей
SOCIAL_ALLOW_IPs="10.0.2.203"
SOCIAL_ALLOW_MACs="00:15:5D:01:C9:01"
 
echo ""
echo "Block Social sites"
 
$IPT -N SOCIAL
 
# Разрешить кому можно по ip
for userip in $SOCIAL_ALLOW_IPs; do
  $IPT -A SOCIAL -s $userip -j ACCEPT
done
 
# Разрешить кому можно по mac
for mac in $SOCIAL_ALLOW_MACs; do
  $IPT -A SOCIAL -m mac --mac-source $mac -j ACCEPT
done
 
# Остальных drop
$IPT -A SOCIAL -j DROP
 
## ТУТ собираем все IP-диапазоны и блокируем доступ
for as in $AS_TO_BAN; do
    for ip in `whois -h whois.radb.net "!g$as" | grep /`
    do
      $IPT -A FORWARD -i eth0 -p tcp -d $ip -j SOCIAL
    done
done
:~$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 204 packets, 22278 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 1935 packets, 1336K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  any    any     10.0.2.4             anywhere            
    0     0 DROP       all  --  any    any     10.0.2.6             anywhere            
    2    96 DROP       all  --  any    any     10.0.2.122           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.125           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.132           anywhere            
    3   144 DROP       all  --  any    any     10.0.2.146           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.153           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.159           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.66            anywhere            
    0     0 ACCEPT     tcp  --  any    eth0    mail.vzsk.org        anywhere             tcp dpt:smtp
    0     0 DROP       tcp  --  any    eth0    anywhere             anywhere             tcp dpt:smtp
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             dr04.lla1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/21     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.184.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae1.pr01.ams3.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.255.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae2.bb05.prn2.tfbnw.net/18 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.224.0/19     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.224.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae5.br01.vie1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae2.bb05.prn2.tfbnw.net/19 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             173.252.70.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/18       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.24.0/21       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.152.0/21     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.159.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.239.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.240.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/19       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.65.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.67.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.68.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.69.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.70.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.71.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.72.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.73.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.74.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.75.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.76.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.77.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.96.0/19       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.66.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             173.252.96.0/19     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.178.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.78.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.79.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.80.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.82.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.83.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.84.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.85.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.86.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.87.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.88.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.89.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.90.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.91.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.92.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.93.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.94.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.95.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.253.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.186.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.81.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.192.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.192.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.193.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.194.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.195.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.60.216.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             45.64.40.0/22       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             dr04.lla1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.184.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-224-186-93.vk.com/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-232-186-93.vk.com/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-128-240-87.vk.com/18 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-192.vkontakte.ru/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             95.213.0.0/18       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.32.248.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-200.vkontakte.ru/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-192.vkontakte.ru/20 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             217.20.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.244.0/23     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.246.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.247.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             5.61.16.0/21        

Chain OUTPUT (policy ACCEPT 193 packets, 27073 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain SOCIAL (85 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  any    any     10.0.2.203           anywhere            
    0     0 DROP       all  --  any    any     anywhere             anywhere       

Как я понял, из листинга, правила сработали, но вот доступ к сайтам как был открыт так и остался.

Может кто подскажет ЧЯДНТ

julixs
()

Вопрос от дурака

Форум — Linux-install

Вопрос от дурака, ламера, чайника. Подскажите пожалуйста, как изменить отображаемое имя пользователя в консоли как на скриншоте www.linux.org.ru/gallery/11081055.png P.S. пытался гуглить, увы не хватило мозгов нормально сформулировать запрос

 

topolskij
()

Резервный web server

Форум — Admin

Имеется WebServer (apache+mysql+php), который крутится на CentOS 5.6. Задача поднять на другом сервере точно такой же WebServer, который будет обслуживать клиентов в случаи падения первого (или работать параллельно). Как такое можно реализовать? как организовать синхронизацию? Уверен уже имеются готовые решения.

Заранее благодарен!

leha7hostel
()

Серия видеоуроков о systemd. Выпуск № 1

Новости — Документация
Группа Документация

Доброго времени суток, товарищи линуксоиды.

Некоторые посетители форума знают меня как ненавистника systemd и прочих технологий, которые привнесли в этот мир Леннарт Поттеринг и Red Hat Inc. Однако, я решил посмотреть на всю сложившуюся в сообществе GNU/Linux ситуацию под другим углом, поэтому было дано начало серии видеоуроков «Systemd in action». В этой серии мы постараемся раскрыть все основные аспекты работы, связанные с systemd, в доступном для новичков формате.

Первый эпизод доступен для просмотра здесь. Огромную благодарность хочу выразить intelfx и PaulCarroty за непосредственное участие в проекте. Желающие помочь развитию серии могут присоединиться.

Ждите новых выпусков!

>>> Подробности

 ,

like-all
()

Флэтово

Галерея — Скриншоты

GTK2/3: Iris Light
Иконки: Flattr
Шрифты: не осилил
Обоина: отсюда

P.S. Не удалось загрузить эту же картинку в формате PNG или GIF. Из-за вертикальности?

PNG (1366x1536, 1330 Kb)

 , ,

zezic
()

лучшая работа в мире

Форум — Talks

какая она?

 

smilessss
()

Защита от DDoS и флуда (iptables)

Форум — Security

Поделюсь своим опытом борьбы с DDoS флудом. Защищать будем операционную систему openSUSE Linux с помощью правил iptables.

Для защиты настроим систему и создадим скрипт, который будет отслеживать флуд соединениями на открытые порты.

Сначала о настройке системы. Моё содержимое файла /etc/sysctl.conf:

( читать дальше... )

Теперь о правилах iptables.

Создайте файл /etc/init.d/iptables_myrules и сделайте его исполняемым: chmod +x /etc/init.d/iptables_myrules. Его содержимое:

( Содержимое файла iptables_myrules )

Здесь заданы непосредственно правила iptables.

Рассмотрим настройки:

PROTECTZONE - в этой константе перечисляются через пробел интерфейсы, которые будут защищаться правилами (внешняя зона). Обычно это один интерфейс, через который осуществляется выход в интернет. В данном примере это интерфейс dsl0. Вы должны задать свой интерфейс.
FREEZONE - здесь перечисляются через пробел интерфейсы внутренней зоны, на которой разрешена любая активность (локальные интерфейсы). Интерфейс lo должен обязательно быть здесь. Если у Вас лишь один cетевой интерфейс (например, eth0), через который осуществляется выход в интернет, то он должен быть указан во внешней зоне, а интефейс lo во внутренней.
TCP_PORTS - перечень TCP портов через запятую без пробелов, которые нужно открыть (на которых у нас работают те или иные сервисы, принимающие входящие соединения из внешней зоны).
UDP_PORTS - перечень UDP портов через запятую без пробелов, которые нужно открыть.
TCP_PORTS_PRIV и UDP_PORTS_PRIV - аналогичны константам TCP_PORTS и UDP_PORTS соответственно, только к перечисленным здесь портам будут разрешены подключения лишь с определённых диапазонов IP-адресов, перечисленных в константе PRIV_RANGES (приватные диапазоны).
PRIV_RANGES - перечень приватных диапазонов IP-адресов (начальный-конечный, без пробелов через дефиз), по одному диапазону на каждой строчке. Перечисленные здесь адреса допускаются для соединения с портами, перечисленными в константах TCP_PORTS_PRIV и UDP_PORTS_PRIV. Чтобы задать лишь один IP-адрес, просто укажите одинковые начальный и конечный адреса диапазона.
IS_CONNLIMIT - задаётся разрешённое число оновременных соединений с одного IP-адреса (модуль connlimit). Если задать значение '0', то правило будет отключено.
CONNLIMIT_MASK - маска для проверки одновременных соединений модуля connlimit.
IS_RECENT - активация модуля recent, который ограничивает число соединений с одного адреса за определённый период времени. 1 - включено, 0 - выключено.
RECENT_SECONDS - период в секундах, за который не должно быть превышения лимита количества соединений за заданный интервал времени с одного IP-адреса.
RECENT_HITCOUNT - количество соединений за заданный период времени для модуля recent.
HASHLIMIT_UPTO - количество соединений в единицу времени для модуля hashlimit. Временной интервал может быть: /sec, /min, /hour, /day. При превышении данного лимита пакет будет заблокирован.
HASHLIMIT_BURST - пик количества разовой доставки соединений для модуля hashlimit.
HASHLIMIT_MODE - режим хеширования для модуля hashlimit. Варианты могут быть: dstip, srcip, dstport, srcport (несколько разделяютя запятыми без пробелов).
HASHLIMIT_EXPIRE - время жизни записи в хэш-таблице для модуля hashlimit.
IS_GRE - разрешение протокола GRE (1 - включено, 0 - выключено).
IS_BROADCAST - разрешение broadcast трафика (1 - включено, 0 - выключено).
IS_ICMP_ECHO - icmp echo пакеты (1 - включено, 0 - выключено).
BLACKLIST_IP - здесь можно указать перечень IP-адресов, которые будут блокироваться (по одному на каждой строчке).
BLACKLIST_RANGES - здесь можно указать перечень диапазонов IP-адресов, которые будут блокироваться (по одному на каждой строчке, через дефиз без пробелов).
BLACKLIST_COUNTRIES - перечень кодов стран, которые будут блокироваться, через запятую без пробелов (модуль geoip).

Если система используется как шлюз или маршрутизатор, то нужно разрешить ip_forward и send_redirects.

При запуске скрипта без параметров все правила перезадаются. При запуске с параметром clean правила обнуляются. Параметр list выводит текущий список правил и статистику срабатываний.

Для добавления скрипта в автозапуск, выполните команду: chkconfig -a iptables_myrules. Для удаления скрипта из автозапуска выполните команду: chkconfig iptables_myrules off.

Теперь опишу дополнительный скрипт ddos_block.lua, который следит за входящими соединениями на заданные порты (или группы портов) и блокирует IP-адреса, с которых превышен лимит одновременного числа установленных соединений. Этот лимит задаётся отдельно для каждого порта или группы портов. Вот код скрипта:

( Содержимое файла ddos_block.lua )

Для удобства запуска сделайте его исполняемым. Скрипт написан на языке LUA. Рассмотрим настройки:

ports_protect - перечень защищаемых портов и разрешённое количество соединений с одного IP для каждого из них (или их группы). Количество соединений к группе портов отслеживается в совокупности, как к одному. Формат таблицы таков, что на каждой строке должна быть запись вида:
[{P1,P2,...,Pn}]=N,
где P1,P2,...,Pn - перечень группы портов через запятую, соединения к которым отслеживаются в совокупности. Здесь может быть просто один порт. N - количество разрешённых одновременно установленных соединений к данному порту или группе.
ranges_allow - перечень диапазонов IP-адресов и соответствующий им список портов. Перечисленные здесь адреса не будут ограничены по количеству соединений на указанные порты. Формат таблицы таков, что на каждой строке должна быть запись вида:
[{'IPstart','IPend'}]='P1,P2,...,Pn',
где IPstart - начальный адрес диапазона, IPend - конечный адрес диапазона, P1,P2,...,Pn - перечень разрешённых для данного диапазона портов, соединения к которым не будет ограничиватья. Если в качестве переченя портов указано 'all', то будут разрешены все порты. Чтобы задать только один IP-адрес, просто укажите его как начальный и конечный адрес диапазона.
time_ban - время блокировки IP-адреса, который превысил разрешённый лимит соединений (в секундах).
drop_allow - разрешённое количество попыток соединения во время блокировки. Если после истечения времени блокировки количество попыток соединения не будет превышать разрешённое число, IP-адрес будет разблокирован. В противном случае, блокировка будет продлена ещё на один срок.
scan_period - период между сканированиями в секундах.
log_folder - полный путь к папке для записи логов блокировок и разблокировок (должен оканчиваться слэшем). Если путь не задан (пустая строка), то ведение логов будет отключено.

Константы ниже менять не рекомендуется.
filter_command - шаблон команды для получения списка текущих соединений с защищаемыми портами (шаблон %PORTS заменится на защищаемые порты).
ban_command - шаблон команды блокировки IP-адреса.
unban_command - шаблон команды удаления блокировки IP-адреса.
stat_command - команда для получения статистики о заблокированных IP-адресах.

Данный скрипт должен быть постоянно запущен в терминале.

Вышеописанные методы отлично помогали против DDoS-атак даже на слабом ADSL-соединении, линк не терялся, серверы продолжали работу. Количество ботов было порядка 2000. У себя на ресурсах я использую свою же сборку SteelLinux на базе openSUSE. Во всяком случае, описанные ниже методы работоспособны на этой системе (на Ubuntu, например, это уже не помогало и сервер на её базе падал в оффлайн).

Скачать скрипты можно тут:
iptables_myrules
ddos_block.lua

 , , , ,

SteelLinux
()

Переключение между двумя провайдерами

Форум — Admin

Привет! Появился второй провайдер. Потребности в балансировке трафика нет, но зафейловерить линк во внешний канал не помешает. Основной провайдер предоставляет прямой линк (30 мегабит), резервный дает PPPoE (5 мегабит). Шлюзом выступает Debian 7.

Для выполенения задачи было решено держать оба линка поднятыми и в случае падения первого - переключать default gateway, подгружать альтернативный конфиг iptables и удаленно замеменять конфигурацию squid через SSH на прокси-сервере. Другой конфиг сквида разрешает доступ в интернет только тем пользователям, которым внешняя сеть критична для работы (Это около 15% всех пользоватлей). Учитывая специфику предприятия и то, что ширина резервного канала довольно мала, мне показалось это оптимальным решением.

Для автоматизации процесса я написал скрипт, который запускается по крону каждые пять минут. В моей ситуации это приемлемое время недоступности внешнего канала.

Проблема вот в чем. Мне нужно проверять доступность обоих каналов независимо от того, какой сейчас используется. Для этого я выбрал самый простой способ - ping -I $iface. Правильно ли? Есть что-то лучше?

Когда активный основной линк, я могу пинговать с обоих интерфейсов, -I eth6 и -I ppp0 работают и отвечают. Когда шлюз по умолчанию меняется на резервный, -I ppp0 работает, а вот -I eth6 перестает, - «destination host unreachable». В итоге, после переключения на резервный канал, обратно я уже не возвращаюсь, потому что проверка основного канала заканчивается провалом независимо от его состояния. Почему так?

# основной
# ip r
default via 85.1.1.45 dev eth6
10.0.0.0/21 dev eth1  proto kernel  scope link  src 10.0.0.2
90.2.66.97 dev ppp0  proto kernel  scope link  src 90.2.2.2
85.1.1.44/30 dev eth6  proto kernel  scope link  src 85.1.1.46
# резервный
# ip r
default dev ppp0 scope link
10.0.0.0/21 dev eth1  proto kernel  scope link  src 10.0.0.2
90.2.66.97 dev ppp0  proto kernel  scope link  src 90.2.2.2
85.1.1.44/30 dev eth6  proto kernel  scope link  src 85.1.1.46
Как заставить это работать? Что можно улучшить/упростить? AS, BGP не предлагать :]

Любую информацию предоставлю. Скрипт прикладываю. Баш только изучаю, если есть замечания, ошибки, предложения - пожалуйста, расскажите :)

#!/bin/bash
LOG="/var/log/isp-connect.log"
exec &>>$LOG
CURRENT_IF=$(ip r | grep "default" | awk '{print $5}')
PINGHOST1="8.8.8.8"
PINGHOST2="8.8.4.4"
WAN1_IF="eth6"
WAN1_IP="85.1.1.46"
WAN1_GW="85.1.1.45"
WAN2_IF="ppp0"
WAN2_IP="90.2.2.2"
DATE=$(date "+%m/%d/%y %H:%M:%S")
SENDEMAIL="sendemail -f gw01@domain.ru -t log@domain.ru -u \"WAN STATUS\" -s mail01.my.domain.ru"
#
CHECK_WAN1() { ping -q -c 5 -I $WAN1_IF $PINGHOST1 > /dev/null || ping -q -c 5 -I $WAN1_IF $PINGHOST2 > /dev/null; }
CHECK_WAN2() { ping -q -c 5 -I $WAN2_IF $PINGHOST1 > /dev/null || ping -q -c 5 -I $WAN2_IF $PINGHOST2 > /dev/null; }
ROUTE_WAN1() { route del default; route add default gw $WAN1_GW $WAN1_IF; sleep 5; }
ROUTE_WAN2() { route del default; route add default dev $WAN2_IF; sleep 5; }
#
if [ "$CURRENT_IF" == $WAN1_IF ]; then
        CHECK_WAN1
        if [ $? -ne 0 ]; then
                echo "[FAIL] $DATE WAN1 link is DOWN."
                echo "[INFO] $DATE Checking WAN2."
                CHECK_WAN2
                if [ $? -ne 0 ]; then
                        echo "[FAIL] $DATE ISP-SWITCH failed. Cannot connect to WAN2."
                        $SENDEMAIL -m "[FAIL] $DATE WAN1 and WAN2 are down. Switching is not possible."
                        exit
                else
                        ROUTE_WAN2
                        echo "[OK] $DATE WAN2 connection established."
                        bash /etc/iptables/wan2.ipt
                        # ssh to squid-server placeholder
                        # echo "[OK] $DATE squid configuration changed to EMERGENCY."
                        $SENDEMAIL -m "[WARN] WAN1 is down. Switched to WAN2."
                        exit
                fi
        else
                echo "[INFO] $DATE WAN1 link is UP. There is nothing to do."
                exit
        fi
#
elif [ "$CURRENT_IF" == $WAN2_IF ]; then
        CHECK_WAN1
        if [ $? -ne 0 ]; then
                echo "[INFO] $DATE WAN1 link is still DOWN."
                exit
        else
                echo "[INFO] $DATE WAN1 link looks like UP."
                echo "[INFO] $DATE Trying WAN1."
                ROUTE_WAN1
                CHECK_WAN1
                        if [ $? -ne 0 ]; then
                                echo "[FAIL] $DATE Cannot verify WAN1 connection."
                                echo "[INFO] $DATE ISP-SWITCH was canceled."
                                ROUTE_WAN2
                                exit
                        else
                                echo "[OK] $DATE WAN1 connection established."
                                echo "[OK] $DATE Changing squid3 configuration to MAIN."
                                $SENDEMAIL -m "[OK] WAN1 is back. Switched to WAN1."
                                bash /etc/iptables/wan1.ipt
                                # ssh to squid-server placeholder
                                exit
                        fi
        fi
fi

Помоги ЛОР там, где не смог помочь гугл :(

 ,

strnd
()

Закосимши

Галерея — Скриншоты

Gentoo, Linux 3.13.7
Десктоп: Plasma + Docky + Compiz + Emerald
Софт: Mozilla Firefox, Dolphin, Konversation, xfce4-terminal
Шрифты: Fira Sans, Myriad Pro, Monaco

 ,

zezic
()

OpenVpn сеть за клиентом

Форум — Admin

Ситуация такова на openvpn поднят туннель из центрального офиса с подсетью 192.168.0.0/16 я вижу окончание туннеля(клиента) сетевая карта второй стороны не пингуется предполагаю потому что маршрут по умолчанию уходит на шлюз физической машины на которой установлен сервер openvpn с клиентской стороны я пингую подсеть за сервером openvpn но еще хотелось бы увидеть подсеть за клиентом. Подскажите как смаршрутизировать это дело?

server

/etc/openvpn/ccd

iroute 192.168.x.x 255.255.0.0

push «redirect-gateway def1»

поэтому я понимаю все заворачивается в туннель

client eth2

192.168.3.254

255.255.0.0

10.55.0.6 туннель

хочу увидеть машину за клиентом на ней

192.168.3.3

255.255.0.0

192.168.3.254

 ,

zvergpincher
()

Подвалохостинг

Галерея — Рабочие места

На волне сноуденовской паранойи собрал NAS/SAN, нашлёпал iSCSI LUN'ов, развернул виртуалок, поднял блог, галерею и почту. Пока было холодно, железо с винтами стояло на чердаке, в тумбочке из Икеи. Хост для виртуалок на завалявшемся 1U серваке с парой старых Xeon'ов поставил в подвал, ибо сильно шумел. Пришла весна, солнце стало припекать, винты нагревать. Винты было боязно просто так в подвал спускать, вдруг чё, поэтому купил серверный ящик с замком, прикрутил его к стене и засунул туда всё имевшееся серверное железо.

Значит, ящик Tripp-Lite 6U с 2U полкой, беперебойник APC BE550G, сетевой сторидж - самосбор по мотивам статьи «DIY NAS 2013» с RAID-6 на 4-х 3Тб дисках, сервак под виртуалки - Supermicro X7DCA-L на двух Xeon L5420 и 16гб памяти. Сеть внутри дохлая, гигабитная, но оптоволокно в дом всего 50/15 мегабит, так что пока не критично. Везде стоит текущий Scientific Linux 6.

На сторидже нашлёпано LVM'ных томов, часть отдаётся по iSCSI через tgtd виртуалкам, часть - по NFS для файловой помойки и бэкапов. Бэкапы делаются всего, и корневых систем, и данных, с помощью duplicity. Т.к. они шифрованные и инкрементальные, то планирую ещё бэкапы в облака бэкапить.

Блог на вордпрессе, галерея на piwigo (ничего не вызывающего вопросов под Линуксом так и не нашёл...), почта и чат - на бесплатной версии Зимбры, VPN - на openvpn.

mv
()

спокойная тема KDE

Галерея — Скриншоты

gentoo x86_64 и kde 4.12
эффекты kwin-а выключены напрочь
тема столько раз перенастраивалась мной, что уже не помню что откуда

около часов/календаря виджет загрузки процессора, проц занят числодробилкой
панель задач (только значки)
за лого gentoo прячется стандартное простое меню кде

yakuake, шрифт Droid Sans Mono (в кедах Choco cooky)
ШГ — infinality, (стиль linux), lcdfilter ubuntu

Такой вот домашний уют.
Не знаю что ещё написать, просто пара скринов в добавок:

 , , ,

haku
()

Перевод Call-centra+40 программистов на gentoo реально ли?

Форум — Admin

в общем надо: вход в домен, монтирование 8 локальных дисков автоматически в зависимости от отдела,машины все одинаковые, интел с интел видео. Следственно хотелось бы автоматизировать обновление, то есть,на 1 машине ставить,править и на остальные заливать.... Вход по winbind, ms офис 2007 для общения с деревнями,где мс офис не обновлённый и либру не понимает. С программистами всё ясно,они нужное им написали и там проблем нет.А вот какой виртуалфон(софт телефон) и как реализовать понять пока сложно. Потому как они должны отмечать с какого момента они работают в домене, если этому альтернатива, работает ли самба 4,1 как пишут?
http://www.gentoo-wiki.info/HOWTO_Active_Directory_with_Samba_and_Winbind читал. Какую версию самбы посоветуете, какие могут быть проблемы с выше написанным?Общий парк машин 200.
http://habrahabr.ru/post/174407/ пробовал кто эту программу?

 , call-centr, ,

erzent
()

Требуется «записная» книжка

Форум — Talks

Многоуважаемый ALL
Есть необходимость время от времени делать записки для себя. Записки самого разного характера, от технический и до...просто мыслей. Записи должны быть рассортированы по категориям (которые могут редактироваться/добавляться и т.п.) Все это безобразие должно находится в сети. Перепробовал несколько вариантов:
Имиджборда — не катит вообще, все записи хранятся в линейном виде и в обратном хронологическом порядке, поиск/сортировка отсутствует.
Блог — чуть лучше, но тоже не айс.
Форум — почти то что надо, но чего-то не хватает.
Сейчас пользуюсь связкой форум и гугло диск, на последнем текстовые документы и электронные таблицы. В принципе можно жить, но хотелось бы все и сразу, да еще в одном месте.
Что посоветуете?

 

aksi2000
()

Виртуальная камера и gst-launch

Форум — Multimedia

Доброго времени суток. Возникла следующая задача: нужно транслировать на виртуальную веб-камеру статическую картинку. Моя реализация: gst-launch filesrc location=/home/user/test.jpg ! decodebin ! freeze ! v4l2sink device=/dev/video0 Результат: работает. Виртуальная камера спокойно подхватывается Cheese и даже Skype. Проблема: необходимо, чтобы эту самую виртуальную камеру видел плагин flash-player. Сейчас у него в списке устройств отображается только настоящая камера, виртуальную в упор не видит. Как я понимаю, проблема в формате потока, идущего с виртуальной камеры, флеш просто не признает в нем поток с веб-камеры. Сам я в создании цепочек для скармливания gstreamer'у не силен, прошу помощи уважаемых пользователей портала.

P.S Система - Fedora 17 x86_64, используется gstreamer и вручную собранный v4l2loopback

 , ,

mr_Well
()

Debian шлюз + Wi-Fi роутер

Форум — Admin

Доброе. Помогите понять и решить проблему. Есть шлюз на Debian 5. IPtables: (eth0-внут,eth1-внеш)

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# правила по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# разрешаем локальный трафик
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT

iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -m state --state INVALID -j DROP
#iptables -A FORWARD -m state --state INVALID -j DROP

# запрет на доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth1 -o eth0 -j REJECT

# открываем порты
#iptables -A INPUT -p tcp -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 25,80,110,143,993,995 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

# разрешаем ходить из внутренней сети наружу
#iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p icmp -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m multiport --dports 21,25,80,110,143,443,993,995,5190 -j ACCEPT
#iptables -A FORWARD -i eth0 -p tcp  -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -s 192.168.6.11 --dport 6000 -j ACCEPT

# открываю SSH для определенных IP
iptables -A INPUT -p tcp -d 192.168.1.5 -s 192.168.6.11 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -d 192.168.1.5 -s 192.168.2.4 --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.5 -d 192.168.6.11 --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.5 -d 192.168.2.4 --sport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --sport 22 -j DROP

# НАТ
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# добавляю маршрут для терфонда
route add -net 11.0.0.0/24 gw 192.168.6.9

iptables -L
Компы через этот шлюз работают хорошо.

В сети есть WiFi роутер с натом. Если у роутера прописать шлюз usergate или виндовый шлюз, то компы за роутеров инет имеют. Если прописать шлюз debian, то инет пропадает, хотя пинги в инет остаются. Спасибо.

polecat1979
()

корпоративный мультипользовательский web органайзер

Форум — General

Существуют ли сабж в природе? Желательно бесплатный и в виде CMS. Понятно что есть CMS общего назначения из которых можно слепить органайзер, но может быть кто то встречал уже готовые решения.

 , ,

akinator
()