четверг, 15 марта 2012 г.

Linux apache не работает SSL file not found

Не так давно столкнулся с такой ошибкой
на 80 порту apache отдает документ нормально на 443 выдает ошибку file not found.
хотя ничего лишнего в конфиге и htacces небыло, да и смотрели оба Vhosts в 1 папку.
Посkt продолжительных экспериментов было выяснено сто на тестовой машине этот конфиг работает без проблем.
В итоге как оказалось дьявол кроется в мелочах
Apache/2.2.15 не понимает <IfDefine SSL>
но прекрасно понимает <IfDefine SSL_module>.
Так что будьте внимательнее коллеги.

суббота, 3 марта 2012 г.

Настройка SSTP соединений на маршрутизаторах Mikrotik.

 Secure Socket Tunneling Protocol (SSTP)  - это транспорт использующий PPP туннель поверх SSL 3.0 канала. Использование SSL на TCP-порт 443 SSTP позволяет передавать  через практически все брандмауэры и прокси-серверов.





  • TCP соединение устанавливается от клиента к серверу. (по умолчанию используется 443 порт);
  • SSL Проверяется сертификат сервера. Если сертификат валидный соединение устанавливается, если нет соединение сбрасывается.
  • Клиент отправляет контрольный SSTP пакет через HTTPS сессию, который устанавливает SSTP сессию на обоих машинах.
  • PPP общается с сервером поверх SSTP. Клиент проходит авторизацию на сервере, и получает связку IP адрес и SSTP интерфейс.
  •  SSTP тунель установлен и можно передавать информацию.

   
Примечание:
Если используются 2 устройства Mikrotik то можно создать SSTP туннель без сертификатов с любым доступным методом авторизации.
В иных конфигурациях для создания защищенных туннелей с MSCHAP авторизацией использование сертификатов обязательно.

Корректно SSTP работает только на Windows Vista, Windows 7 и RouterOS.

Сертификаты.

Для настройки SSTP туннеля необходимы сертификаты. На сервере проверка подлинности происходит по логину\паролю, но
на клиент серверное соединение производит проверку сертификата. Также сертификаты необходимы для SSL и PPP соединения.
Если SSTP клиенты - это Windows-ПК то для настройки SSTP туннеля необходимо импортировать самоподписаный сертификат сервера в систему и пометить этот сертификат как доверенный.

Настройка SSTP клиента.

Sub-menu: /interface sstp-client

Опции


add-default-route (yes | no; Default: no)     Задать ip адресс SSTP сервера как шлюз по умолчанию.
authentication (mschap2 | mschap1 | chap | pap; Default: mschap2, mschap1, chap, pap) Выбор метода проверки подлиности.
certificate (string | none; Default: none)     Использование сертификата.
comment (string; Default: )     Задать коментарий для соединения.
connect-to (IP:Port; Default: 0.0.0.0:443)     ip адресс и порт удаленного SSTP сервера.
dial-on-demand (yes | no; Default: no)    
disabled (yes | no; Default: yes)     Включение\выключение интерфейса.По умолчанию выключен.
keepalive-timeout (integer | disabled; Default: 60) Максимальное время простоя соединения. по умолчанию 60 секунд.   
max-mtu (integer; Default: 1500)     Максимальный размер пакета отправляемого через SSTP интерфейс.
mrru (disabled | integer; Default: disabled)     Максимальный размер пакета проходяшего через SSTP интерфейс.Если пакет больше чем MTU, он будет разбит на несколько пакетов.
max-mru (integer; Default: 1500)     Максимальный размер пакета получаемого через SSTP интерфейс.
name (string; Default: )     Задать имя для соединения.
password (string; Default: "")     Пароль для авторизации.
profile (name; Default: default-encryption)     Выбор PPP профиля.
proxy (IP:Port; Default: 0.0.0.0:443)     Адресс и порт HTTP прокси сервера.
user (string; Default: )     Амя пользователя используемое при авторизоции.
verify-server-certificate (yes | no; Default: no)     Проверка сертификата сервера.
verify-server-address-from-certificate (yes | no; Default: yes)     Проверка ip адреса сервера и сертификата.

Настройка в терминале:

[admin@SSTP-client]  /interface sstp-client>add user=sstp-test password=123 \
\... connect-to=10.10.10.1 disabled=no
[admin@SSTP-client] /interface sstp-client> print
Flags: X - disabled, R - running
 0  R name="sstp-out1" max-mtu=1500 max-mru=1500 mrru=disabled connect-to=10.1.101.1:443
      user="sstp-test" password="123" proxy=0.0.0.0:443 profile=default
      certificate=none keepalive-timeout=60 add-default-route=no dial-on-demand=no
      authentication=pap,chap,mschap1,mschap2
     
      Настройка SSTP Сервера.

Sub-menu: /interface sstp-server server

Опции:
authentication (mschap2 | mschap1 | chap | pap; Default: mschap2, mschap1, chap, pap) Выбор метода проверки подлиности.
certificate (name | none; Default: none)  Имя сертификата сервера.
default-profile (name; Default: default)     Имя профиля
enabled (yes | no; Default: no)                Включение\выключение сервера.
verify-client-certificate (yes | no; Default: no) Проверка сертификата клиента.
keepalive-timeout (integer | disabled; Default: 60) Максимальное время простоя соединения. по умолчанию 60 секунд.   
max-mtu (integer; Default: 1500)     Максимальный размер пакета отправляемого через SSTP интерфейс.
mrru (disabled | integer; Default: disabled)     Максимальный размер пакета проходяшего через SSTP интерфейс.Если пакет больше чем MTU, он будет разбит на несколько пакетов.
max-mru (integer; Default: 1500)     Максимальный размер пакета получаемого через SSTP интерфейс.

Настройка в терминале. 

[admin@SSTP-server] /interface sstp-server server> set certificate=server
[admin@SSTP-server] /interface sstp-server server> set enabled=yes
[admin@SSTP-server] /interface sstp-server server> print
                     enabled: yes
                        port: 443
                     max-mtu: 1500
                     max-mru: 1500
                        mrru: disabled
           keepalive-timeout: 60
             default-profile: default
                 certificate: server
  verify-client-certificate: no
              authentication: pap,chap,mschap1,mschap2
[admin@SSTP-server] /interface sstp-server server>



Мониторинг:

[admin@SSTP-server] /interface sstp-server> monitor 0
     status: "connected"
     uptime: 13m22s
  idle-time: 13m22s
       user: "sstp-client1"
  caller-id: "10.10.10.11:815"
        mtu: 1500
       
Настройка удаленного клиента.

Создадим пользователя.

[admin@MTtest] /ppp secret> add name=notebook service=sstp password=123
local-address=10.10.10.1 remote-address=10.10.10.100
[admin@MTtest] /ppp secret> print detail
Flags: X - disabled
  0   name="notebook" service=sstp caller-id="" password="123" profile=default
      local-address=10.10.10.1 remote-address=10.10.10.100 routes==""

[admin@MTtest] /ppp secret>       
       
Включим SSTP  сервер.

[admin@MTtest] /interface sstp-server server> set certificate=server
[admin@MTtest] /interface sstp-server server> set enabled=yes
[admin@MTtest] /interface sstp-server server> set authentication=mschap2
[admin@MTtest] /interface sstp-server server> print
                     enabled: yes
                        port: 443
                     max-mtu: 1500
                     max-mru: 1500
                        mrru: disabled
           keepalive-timeout: 60
             default-profile: default
                 certificate: server
  verify-client-certificate: no
              authentication: mschap2

[admin@MTtest] /interface sstp-server server>

Вот и все удаленные не Mikrotik клиенты могут подключатся к нам с использованием авторизации mschap2.

Проверим подключение.

[admin@MTtest] /interface sstp-server> print
Flags: X - disabled, D - dynamic, R - running
 #     NAME      USER         MTU        CLIENT-ADDRESS    UPTIME   ENCODING  
 0  DR <sstp-... notebook     1500       10.10.10.108:6586 4h12s 

[admin@MTtest] /interface sstp-server>monitor 0
     status: "connected"
     uptime: 4h10s
  idle-time: 4h10s
       user: "notebook"
  caller-id: "192.168.10.18:6586"
        mtu: 1500
       
Если подключение успешно - включаем proxy-arp.

[admin@MTtest] /interface ethernet> set ether2 arp=proxy-arp
[admin@MTtest] /interface ethernet> print
Flags: X - disabled, R - running
  #    NAME                 MTU   MAC-ADDRESS         ARP
  0  R ether1              1500  00:f0:1F:02:7B:C1 enabled
  1  R ether2              1500  00:f0:AF:F6:62:12 proxy-arp
[admin@MTtest] interface ethernet>


пятница, 2 марта 2012 г.

Mikrotik RouterOS Firewall IPv6 manual

IPv6 уверенно входит в нашу жизнь и на просторах русскоязычного сообщества вот вот появятся провайдеры работающие только на IPv6.
В связи с этим небольшой ман по настройке firevall для протокола IPv6 на RouterOS.
Sub-menu: /ipv6 firewall filter

1)   action (accept | add-dst-to-address-list | ...; Default: accept)

Возможные параметры:
  • accept - пропустить пакет..
  • add-dst-to-address-list - добавить IP получателя в address list.
  • add-src-to-address-list - добавить IP отправителя в address list.
  • drop - удалить пакет.
  • jump - Перейти к пользовательской цепочке правил или применить jump-target параметр.
  • log - добавить сообщение в системный лог. 
  • passthrough - игнорировать данное правило и перейти к следующему.
  • reject - удалить пакет.  и отправить ICMP отчет об удалении.
  • return - Passes control back to the chain from where the jump took place.

2) address-list (; Default: )
3) time (; Default: )

четверг, 23 февраля 2012 г.

Обновление Router OS 5.14 от 22.02.2012

Доступна новая версия Router OS 5.14. Скачать ее можно здесь.
В новой версии:
  1. Winbox - исправлена проблема с изменением размера главного окна.
  2. Backup - исправлена проблема с созданием бекапов для устройств в имени которых используется "\".
  3. Wireless - Улучшена стабильность nv2. Уменьшено время прохождения пакета. Требует только обновления AP.
  4. Исправлена проблема с конфигурацией на RB1100AHx2.
  5. Сertificate manager - Исправлена проблема доверия к цепочке сертификатов, для некоторых программ.

среда, 22 февраля 2012 г.

Настройка Nstreme dual на Mikrotik Router OS

Технология Nstreme dual в RouterOS позволяет объединить несколько физических Wlan интерфейсов в 1 логический. Принцип данной технологии немного отличается от описанного в прошлом посте OSFP и имеет свои достоинства и недостатки. В основном же данная технология отличается высокой надежностью, и почти  двукратным увеличением скорости.
И так настройка из консоли:

MikroTik 1.


Влючаем Wi-Fi карточки.

[admin@test-493G] > interface enable wlan1.
[admin@test-493G] > interface enable wlan2

Задаем IP адрес для Ethernet интерфейса.

[admin@test-493G] > ip address add address=192.168.1.1/24 interface=ether1.

Создаем bridge интерфейс.
 
[admin@test-493G] > interface bridge add .

Добавляем интерфейс Ethernet в интерфейс bridge.
 
[admin@test-493G] > interface bridge port add interface=ether1 bridge=bridge1

Зададим для Wi-Fi карт режим работы nstreme.
 
[admin@test-493G] > interface wireless set wlan1 mode=nstreme­-dual­-slave
[admin@test-493G] > interface wireless set wlan2 mode=nstreme­-dual­-slave 

Создадим nstreme dual интерфейс и настроим RX/TX частоту.

[admin@test-493G] > interface wireless nstreme­-dual add rx­-radio=wlan1 tx­-radio=wlan2
rx-­band=5ghz tx-­band=5ghz rx-­frequency=5380 tx­-frequency=5200

Добавим интерфейс nstreme в Bridge.

[admin@test-493G] > interface bridge port add interface=nstreme1 bridge=bridge1

Проверяем MAC адрес nstreme интерфейса.

[admin@test-493G] > interface wireless nstreme­dual print
Flags: X ­ disabled, R ­ running
0 X  name="nstreme1" mtu=1500 mac­address=00:11:22:33:44:55 arp=enabled
disable­running­check=no tx­-radio=wlan2 rx­-radio=wlan1 remote­mac=00:00:00:00:00:00
tx-­band=5ghz tx­-frequency=5300 rx­-band=5ghz rx­-frequency=5180
rates­b=1Mbps,2Mbps,5.5Mbps,11Mbps
rates­a/g=6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbps
framer­policy=none framer­limit=2560

MikroTik 2.


Влючаем Wi-Fi карточки.

[admin@test2-493G] > interface enable wlan1.
[admin@test2-493G] > interface enable wlan2

Задаем IP адрес для Ethernet интерфейса.

[admin@test2-493G] > ip address add address=192.168.1.2/24 interface=ether1.

Создаем bridge интерфейс.
 
[admin@test2-493G] > interface bridge add .

Добавляем интерфейс Ethernet в интерфейс bridge.
 
[admin@test2-493G] > interface bridge port add interface=ether1 bridge=bridge1

Зададим для Wi-Fi карт режим работы nstreme.
 
[admin@test2-493G] > interface wireless set wlan1 mode=nstreme­-dual­-slave
[admin@test2-493G] > interface wireless set wlan2 mode=nstreme­-dual­-slave 

Создадим nstreme dual интерфейс и настроим RX/TX частоту.

[admin@test2-493G] > interface wireless nstreme­-dual add rx­-radio=wlan1 tx­-radio=wlan2
rx­-band=5ghz tx-­band=5ghz rx-­frequency=5200 tx­-frequency=5380
remote­mac=00:11:22:33:44:55 disabled=no

Добавим интерфейс nstreme в Bridge.

[admin@test2-493G] > interface bridge port add interface=nstreme1 bridge=bridge1

Проверяем MAC адрес nstreme интерфейса.

[admin@test2-493G] > interface wireless nstreme­dual print
Flags: X ­ disabled, R ­ running
0  R name="nstreme1" mtu=1500 mac­address=22:33:44:55:66:77 arp=enabled
disable­running­check=no tx­-radio=wlan2  rx­-radio=wlan1 remote­mac=00:11:22:33:44:55
tx­-band=5ghz tx-­frequency=5180 rx-­band=5ghz rx-­frequency=5300
rates­b=1Mbps,2Mbps,5.5Mbps,11Mbps
rates­a/g=6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbps
framer­policy=none framer­limit=2560

MikroTik 1

Настраиваем удаленный МАС адрес на Mikrotik 1

[admin@test2-493G] > interface wireless nstreme­-dual set nstreme1
remote­mac=22:33:44:55:66:77 disabled=no

Все теперь RX и TX передаются на разных частотах, разных карточках и разных антеннах. Резерв на случай отказа карточки, битого пигтейла и сдутой антенны у нас есть.

Удачи вам. 
Если есть вопросы до пишите в каментах. По возможности постараюсь помочь.

Распаралеливание каналов Rx/Tx по Wi - Fi с помощью OSFP

И так  есть задача построить радиоканал с хорошей пропускной способностью, надежный, с минимальной задержкой пакетов (что критично например для VoIP).

Для реализации нам понадобятся:
  • 2 RouterBoard с  2 более miniPCI слотами.
  • 4 Wi-fi карты miniPCI способные работать в диапазоне 5Ггц.
  • 4 Внешних антены.
  • 4 комплекта пигтейлов.
  • 2 антенабокса.
На оборудовании компании Mikrotik схема предложенной реализации выглядит примерно так:


Плюсы данной схемы:
  1. Full Duplex.
  2. Автоматическая балансировка нагрузки между каналами.
  3. Низка задержка  пакетов. (почти вдвое меньше по сравнению с N-Streme-Dual
  4. Автоматическое переключение на один канал при выходе из строя другого.
  5. Увеличение пропускной способности радиочасти.

Через консоль эта конфигурация настраивается примерно так:


Для роутера А.


/ip address add address=192.168.0.1/24 interface=ether1
/ip address add address=192.168.10.1/24 interface=wlan1
/ip address add address=192.168.20.1/24 interface=wlan2
/routing ospf network add network=192.168.10.0/24 area=backbone1
/routing ospf network add network=192.168.20.0/24 area=backbone1
/routing ospf interface add interface=wlan1 cost=100
  
Для роутера Б.
 
/ip address add address=192.168.1.1/24 interface=ether1
/ip address add address=192.168.10.2/24 interface=wlan1
/ip address add address=192.168.20.2/24 interface=wlan2
/routing ospf network add network=192.168.10.0/24 area=backbone1
/routing ospf network add network=192.168.20.0/24 area=backbone1
/routing ospf interface add interface=wlan2 cost=100 
 
Этот конфиг означает что роутер А будет ждать входящий трафик на интерфейсе wlan1
а роутер Б на интерфейсе Wlan2.

Удачи вам. 
Если есть вопросы до пишите в каментах. По возможности постараюсь помочь.


 

вторник, 21 февраля 2012 г.

Backup настроек Mikrotik RouterOS с сохранением на FTP сервер.

В предыдущей статье я писал как настроить отправку бекапа на Email. Но данная конфигурация не всегда удобна так как не у всех есть свой почтовый сервер да и не всем он необходим. Зато с организацией FTP сервера проблем обычно не возникает (Слава Filezilla) настраивается за 5 минут на любой операционке. Туда мы и будем складывать наши ежедневные бекапы.Либо можем настроить FTP сервер на Mikrotik и задирать бекапы средствами сервера.

И так настройка из консоли:

# создаем  scheduler который раз в 10 часов создает бекап системы.

/system scheduler 
add name="settings_backup" on-event="system backup save name=today.backup" \
    start-date=jan/01/1970 start-time=00:00:00 interval=10h comment="" \
    disabled=no
 
# Проверяем включен ли ftp сервер. 
 
/ip service print
Flags: X - disabled, I - invalid 
 #   NAME      PORT  ADDRESS       CERTIFICATE    
 0   telnet    23    0.0.0.0/0    
 1   ftp       21    0.0.0.0/0    
 2   www       80    0.0.0.0/0      
 3   ssh       22    0.0.0.0/0    
 4 X www-ssl   443   0.0.0.0/0     none
 5 X api       8728  0.0.0.0/0    
 6   winbox    8291  0.0.0.0/0   

# Создаем пользователя и даем ему права ходить на ftp.

/user group 
add name="ftp" policy=ftp,!local,!telnet,!ssh,!reboot,!read,!write,!policy,!test,!winbox,!password,!web,!sniff
/user 
add address=0.0.0.0/0 comment="backup ftp mikrotik" disabled=no group=ftp name="ftp"
/user 
set [find name="ftp"] password="mypassword"
 
С настройкой микротика мы закончили. Теперь настроим серверную часть.
 
Для Unix систем я недавно постил подобный скрипт на Perl,
 в котором выполняется подобная задача. Цтобы адаптировать скрипт под наши нужды,
 необходимо изменить переменную $filename="today.backup"; и последний запрос 
$ftp->put($filename) or die "Can't connect: $@\n" ;
изменить на 
$ftp->get($filename) or die "Can't connect: $@\n";
Для Windows систем все немного сложнее.
Нам будет необходимо приложение mtbackup.exe.
Создадим шаблон template1.s с текстом:
 
o 192.168.0.1 21
USER ftp
mypass
binary
$
192.168.0.1 – Router backup
close
quit
 
Теперь запустим вручную этот скрипт с шаблоном.
 
C:\mtbackup\mtbackup.exe "c:\mtbackup\template1.s" "c:\mtbackup\backups"
 
В папке c:\mtbackup\backups\ должен появится первый файл.
Если все прошло нормально можно ставить резервное копирование по расписанию.
 
Удачи вам в работе.
Если есть вопросы до пишите в каментах. По возможности постараюсь помочь.