Browse Category

Программирование

Программирование

Установка и обслуживание IP АТС Asterisk

Установка и обслуживание IP АТС Asterisk

Офисная IP АТС

Преимущества решения IP-телефонии на базе Asterisk:

  • Подключение телефонных номеров через интернет – отказ от медных линий, независимость от местоположения офиса, многоканальность
  • Возможность использования как IP-телефонов так и обычных аналоговых телефонов через VoIP шлюз, софтфонов на ПК и мобильных устройствах
  • Возможность удаленной работы через интернет, в том числе из-за границы
  • Переадресация на внутренние и внешние телефонные номера, поиск абонента по заданному алгоритму
  • Экономия на междугородних и международных вызовах
  • Возможность создания многоуровневых голосовых меню (IVR)
  • Конференции
  • Различные режимы обработки звонков в зависимости от времени суток и дня недели
  • Факс на email
  • Голосовая почта на email
  • Запись и прослушивание разговоров
  • Определение номера абонента (CallerID), сопоставление номера с именем или названием клиента
  • Отчетность
  • Интеграция с CRM системами

По вопросам установки и обслуживания IP-телефонии в регионах обращайтесь к менеджерам.

 

Linux как Firewall в локальной сети Centos 6

Решил перетащить офис на firewall IPtables. Написал правила может быть кому то пригодиться.  Коротко eth0 смотрит наружу, eth1 внутрь сети. На сервере установлены следующие службы:

  1. VPN сервер
  2. OpenVPN настроен в качестве net-to-net
  3. MySQL сервер, следить за трафиком

Собственно сами правила:

# Generated by iptables-save v1.4.7 on Wed May 23 11:14:29 2012
*nat
:PREROUTING ACCEPT [3:237]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1:172]
-A PREROUTING -d внешний IP/32 -p tcp -m tcp –dport 33899 -j DNAT –to-destination 192.168.1.204:3389
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Wed May 23 11:14:29 2012
# Generated by iptables-save v1.4.7 on Wed May 23 11:14:29 2012
*mangle
:PREROUTING ACCEPT [15:1039]
:INPUT ACCEPT [15:1039]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:728]
:POSTROUTING ACCEPT [6:728]
COMMIT
# Completed on Wed May 23 11:14:29 2012
# Generated by iptables-save v1.4.7 on Wed May 23 11:14:29 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [6:728]
:SMB – [0:0]
-A INPUT -p udp -m udp –dport 1701 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state INVALID -j DROP
-A INPUT -p tcp -m tcp –tcp-flags SYN,ACK SYN,ACK -m state –state NEW -j REJECT –reject-with tcp-reset
-A INPUT -p tcp -m tcp ! –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j DROP
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p gre -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp –dport 6000:6063 –tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22267 -j ACCEPT
-A INPUT -j SMB
-A INPUT -i eth0 -p gre -j ACCEPT
-A INPUT -i eth1 -p gre -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp –dport 1723 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp –dport 1723 -j ACCEPT
-A INPUT -p tcp -j ULOG –ulog-cprange 100
-A INPUT -i eth0 -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp –dport 443 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp –dport 443 -j ACCEPT
-A INPUT -p udp -m udp –dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A FORWARD -m state –state INVALID -j DROP
-A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.204/32 -i eth0 -o eth1 -p tcp -m tcp –dport 3389 -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i ppp+ -o eth1 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT
-A FORWARD -i eth1 -o ppp+ -j ACCEPT
-A FORWARD -p tcp -j ULOG –ulog-cprange 100
-A FORWARD -i tun+ -o eth0 -j ACCEPT
-A FORWARD -i tun+ -o eth1 -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o tun+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 21 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 25 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 80 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 443 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 110 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 465 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 995 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 123 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp –dport 993 -j ACCEPT
-A FORWARD -s 192.168.1.204/32 -i eth1 -m mac –mac-source 64:31:50:37:FC:E1 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp –dport 1723 -j ACCEPT
-A OUTPUT -o eth0 -p gre -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp –dport 1723 -j ACCEPT
-A OUTPUT -o eth1 -p gre -j ACCEPT
-A OUTPUT -j SMB
-A OUTPUT -p tcp -j ULOG –ulog-cprange 100
-A OUTPUT -o tun+ -j ACCEPT
-A SMB -s 192.168.0.0/23 -p tcp -m tcp -m multiport –dports 137,138,139,445 -j ACCEPT
-A SMB -s 192.168.0.0/23 -p udp -m udp -m multiport –dports 137,138,139,445 -j ACCEPT
-A SMB -s 192.168.0.0/23 -p tcp -m tcp -m multiport –sports 137,138,139,445 -j ACCEPT
-A SMB -s 192.168.0.0/23 -p udp -m udp -m multiport –sports 137,138,139,445 -j ACCEPT
-A SMB -p tcp -m tcp -m multiport –dports 137,138,139,445 -j REJECT –reject-with icmp-port-unreachable
-A SMB -p udp -m udp -m multiport –dports 137,138,139,445 -j REJECT –reject-with icmp-port-unreachable
-A SMB -p tcp -m tcp -m multiport –sports 137,138,139,445 -j REJECT –reject-with icmp-port-unreachable
-A SMB -p udp -m udp -m multiport –sports 137,138,139,445 -j REJECT –reject-with icmp-port-unreachable
COMMIT
# Completed on Wed May 23 11:14:29 2012

По поводу настройки служб расскажу позже.

И не забываем про:

  • net.ipv4.ip_forward = 1
  • и подгружать модули необходимые.

Восстановление Active Directory средствами ntbackup

Решил себе поставить тривиальную задачу для самообразования. Суть такова на работе 2 контроллера домена, и думаю дайка я дома раскатаю в виртуалке себе рабочий контроллер домена, благо железо Intel S1200BTL и на борту 32 гига памяти, в довесок ко всему этому ESXI 5+SP1. Ну сказано, сделано. Тем более второй контроллер домена на работе тоже крутился в виртулке только в 4-ой версии, но не суть.

  1. Ставим систему, желательно с того же диска, у меня под рукой его не было. Взял аналогичную сборку, накатил по возможности обновил.
  2. dcpromo запускаем установку роли контроллера домена, вбиваем все тоже самое что и на работе, главное один в один, включая настройки сети только ДНС желательно сделать 127.0.0.1
  3. Как установили, задали пароль на восстановление, либо при загрузке жмем F8 и грузимся в режиме восстановления службы каталогов, либо через boot.ini Safe Boot – DSRepair.
  4. В режиме восстановления берем наш ntbackup и разворачиваем, соглашаемся на все изменения.
  5. Грузимся в обычном режиме.
  6. Думал что все так просто, но нет система никого кроме Администратора не пускает, ругаясь на множественные повреждения и т.д. Ибо ни одна из оснасток службы каталогов не заработала, все падали с ошибкой что контроллер домена не доступен  :mrgreen:

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

  1. Определяем текущих владельцев ролей fsmo.
    Это достаточно просто сделать, использовав следующие команды (Во всех случаях вываливается ошибка о невозможности найти хозяина операций, оно не удивительно :lol: ):
    dsquery server –hasfsmo schema
    dsquery server – hasfsmo name
    dsquery server – hasfsmo rid
    dsquery server – hasfsmo pdc
    dsquery server – hasfsmo infr
    dsquery server –forest -isgc 
  2. У Active Directory есть два способа передать роли: 1. Добровольная передача ролей и понижение старого сервера до рядового сервера, 2. Принудительный захват ролей когда основной контроллер домена не доступен (что и требуется в нашем случае).
  3. И так принудительный захват ролей.ntdsutil.exe
    roles
    connections
    connect to server имя_сервера (он у нас всего один, теперь один)
  4. После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и мы можем начать принудительно захватывать роли :
    – transfer domain naming master
    – transfer infrastructure master
    – transfer rid master
    – transfer schema master
    – transfer pdc master 
  5. Вот только почему то transfer ird master и transfer pdc master отвалились с ошибкой, то ли не в том порядке то ли еще что-то. После ребута начал прогонять еще раз мне было сказано что все ОК.
  6. Осталось только подправить ДНС удалить старый контроллер домена, но перед правкой его надо еще также более менее корректно удалить благо в этом опыт тоже есть.
  7. Есть замечательна статья в базе данных microsoft KB216498 приведу пример для нашего случая:
  • В командной строке введите ntdsutil и нажмите клавишу ВВОД.
  • Введите metadata cleanup и нажмите клавишу ВВОД. Для фактического выполнения удаления необходимо указать дополнительные параметры.
  • Введите команду connections и нажмите клавишу ВВОД. Это меню предназначено для подключения к серверу, на котором происходят изменения. Если текущий пользователь не обладает правами администратора, перед подключением следует указать другую учетную запись. Для этого введите команду set creds имя_доменаимя_пользователяПароль и нажмите клавишу ВВОД.
  • Введите команду connect to server имя_сервера и нажмите клавишу ВВОД. Появится сообщение о подключении к серверу.
  • Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
  • Введите команду select operation target и нажмите клавишу ВВОД.
  • Введите команду list domains и нажмите клавишу ВВОД. Появится список доменов леса с номерами.
  • Введите команду select domain номер и нажмите клавишу ВВОД, где номер – номер домена, которому принадлежит удаляемый сервер. Выбранный домен используется для проверки того, является ли удаляемый сервер последним контроллером в этом домене.
  • Введите команду list sites и нажмите клавишу ВВОД. Появится список узлов с номерами.
  • Введите команду select site номер и нажмите клавишу ВВОД, где номер – номер узла, которому принадлежит удаляемый сервер. Появится подтверждение выбранного домена и узла.
  • Введите команду list servers in site и нажмите клавишу ВВОД. Появится список серверов узла с номерами.
  • Введите команду select server номер, где номер – номер удаляемого сервера. Появится подтверждение, которое содержит имя выбранного сервера, его DNS-имя и местонахождение учетной записи.
  • Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
  • Введите команду remove selected server и нажмите клавишу ВВОД. Должно появиться сообщение об успешном удалении сервера.
  1. Ну, а далее чистим ДНС все удаляем что было связанно со старым, погибшем контроллером домена.
  2. Меняем настройки сетевой карты ставим в качестве ДНС сервера нормальный адрес нашего контроллера домена т.е самого себя.
  3. Перезагружаемся и наслаждаемся, ибо всех пускает оснастки заработали.
Вот как то примерно так, в следующий раз. Буду пробовать произвести апгрейд на 2008R2. Единственный минус всего этого восстановления кривизна идет потому как восстанавливается реестр, и если стоял софт, к примеру стоял антивирус nod32 пришлось его чистить утилитой, + чтобы поставить windows support tools требуется оригинальный диск с которого ставился сервер погибший. Но это уже мелочи, ведь можно поднять и даже надо поднимать еще один контроллер домена и на него корректно передать все роли, а этот погасить и вывести.

 

Бесплатный хостинг

Если есть интересный сайт, но не уверены на чем его обкатать, тогда Вам к нам. Основные лишь требования.:

  1. Наш проект полностью бесплатен, т.е никакой рекламы, никаких навязчивых баннеров, от вас же в свою очередь так же требуется не размешать на своем сайте никакой рекламы, никаких рекламных блоков, и никакой коммерции… Если вы сами сочтете нужным вы на своей личной страничке поставите ссылку на главный ресурс т.е на www.kipalex.ru .
  2. Место на нашем сервере будет выделено вам столько сколько вам потребуется… Первоначально вам будет выделено 500 мегабайт… Мы думаем для первоначального развития этого вполне достаточно… Как только вам потребуется больше места делаете заявку в Администрацию проекта, с указанием сколько места вам еще потребуется… Можем прибавить еще 500 мегабайт… Закончиться снова делаете заявку и вопрос решен…
  3. Для вас также будет создана ваша персональная фотогаллерея… Для размещения личных фотографий…
  4. Тех поддержка вашего сайта, будет осуществляться по мере возможности, и будут приняты все необходимые меры..
  5. Будет производиться ежедневный бэкап базы данных, и в частности всего вашего сайта в целом…
  6. У нас также будут иметься в наличии также собственные DNS сервера… Что означает: если вы имеете свое зарегистрированное имя в dns… Вы указываете на наши DNS и ваш сайт будет доступен по www.myname.ru…
  7. Единственное условие: На вашем сайте не должно быть никакой рекламы, выражений не нормативной лексики в адрес других участников проекта… На сайте также запрещено обсуждать коммерческое программное обеспечения, выкладывать crack, ключи, серийный номера…
  8. Нарушивших 7 пункт: Сайт будет удален, записи из наших DNS серверов также будут удаленны… Бэкапы ваши также будут удаленны…
  9. Все вопросы касающиеся данного проекта задавать либо по координатам указанным здесь…

Озадачился тут значит подыскать движок сайта…

Суть трабла в том, что озадачился найти нормальный движок сайта из серии бесплатный и из серии сел и поехал… В свое время баловался Joomla вроде все красиво, но пришло время обновляться и понеслось, шаблон поехал, куча скриптов тупо отвалилось. В итоге полный бэкап встроенными стредствами не спасает почему ХЗ, пытаюсь поднять по-отдельности MySQL+файловый бэкап получаю балалайку в виде пустой страницы.

Вывод все больше склоняюсь к движку WordPress, обновление на полном автомате, ничего не кривеет, по крайне мере у меня за два года! Шаблон полсе обновления не кривеет, вообщем все четко. Придется как то снуля на wordpress еще один сайт бацать…