Для того, чтобы из офиса одного разрешались имена внутренней сети домена в другом офисе, помогла следующая подсказка. На микротике настраивалось. Офис соединен по L2TP с серверной, и теперь видит внутренние имена серверов.
Mikrotik site-to-site L2TP + Split DNS
So I got sick and tired of adding hostnames for each and every internal server’s IP address at my home…
I finally came up with a few MikroTik firewall rules that would allow you to resolve and reverse DNS lookup internal names from your office’s DNS server, while performing ALL other DNS queries from your default (ISP) DNS servers.
For example, my setup looks as follow:
My office is using the *.mydomain.co.za domain name for all our servers
Most of our servers share public IP addresses, but each one of them have unique internal IP addresses (192.168.*.*). I need access to the internal IP addresses, because SSH is only enabled from inside
The DNS server is hosted on 192.168.0.1
My primary DNS server on my home MikroTik is Google’s DNS server: 8.8.8.8
For instance if I’ll try and lookup www.kalahari.net, then my MikroTik will query it from 8.8.8.8
Whenever I try to lookup anything.mydomain.co.za, then the Layer-7 regular expression matches and then the DNS query is forwarded to my office’s DNS server, which will respond with like 192.168.0.2 IP address. Without the rule, I would’ve gotten something like 41.168.1.123 and then not be able to get SSH access to anything.mydomain.co.za.
The regular expression would also match the reverse DNS lookups (192.168.*.* — please take note that the IP range is in reverse in the regular expression), like when I would lookup 192.168.0.3, it would also forward the DNS lookup to my office’s DNS server and reply with like myhost.mydomain.co.za, instead of ‘Non-existent domain’ that 8.8.8.8 would give me.
If you’re using those rules, please remember to change:
the mydomain.co.za, with your own office’s internal hostnames/domain.
the 192.168.0.1 IP address with your DNS server address of your office
[0-9]+.[0-9]+.168.192 part of the regular expression with the reverse of your office’s internal IP range. Like [0-9]+.[0-9]+.168.192 is the reverse of 192.168.[0-9]+.[0-9] aka 192.168.*.*
I hope this is useful to some of you guys out there who are using VPN connections to your office
Off-Topic:
We have Neotel Neobroadband 5Mbps Fiber at our office, but we had endless issues with it, where a reset of the Cisco router fixed it. Luckily the colleague of mine had a network diagram (with the VLAN tags), so we simply removed our Cisco router (that Neotel gave us) and plugged it in directly on our MikroTik RB1100 and now our Internet is pumping again.
Для того чтобы в винде появилась видеокамера, которая будет забирать поток с телефона и передавать в ПО(teamviwer, skype), использую IP Cam adapter в качестве виртуальной вебкамеры.
Чтобы из телефона сделать IP камеру и создать видеотрансляцию, ставим на него IP Webcam:
Задача: Вывод картинки видеорегистратора с аналоговыми камерами на сайт WordPress. Решение: Используем комп с windows XP. Изображение части экрана компа транслируем с помощю VLC плеера(v2). На сайте с помощью плеера принимаем трансляцию. Также используем прокси апача, для доступа во внутреннюю сеть.
Содержимое bat файла для автозапуска VLC трансляции:
@echo off cd c:\ cd Program Files\VideoLAN\VLC\ start vlc.exe screen:// :screen-left=0 :screen-top=0 :screen-height=263 :screen-width=576 :screen-fps=1.000000 :live-caching=300 :sout=#transcode{vcodec=FLV1,vb=20}:std{access=http{mime=video/x-flv},dst=:8081/stream.flv,mux=ffmpeg{mux=flv}} exit
Вариант 2 (для телефонов, без Адоб Флеш)
@echo off cd c:\ cd Program Files\VideoLAN\VLC\ start /min vlc.exe screen:// :screen-left=78 :screen-top=23 :screen-height=680 :screen-width=820 :screen-fps=1.000000:live-caching=300 :sout=#transcode{vcodec=WMV2,vb=800,acodec=wma2,ab=128,channels=2,samplerate=44100,scodec=none}:http{dst=:8081/stream.asf} :no-sout-all :sout-keep exit
Добавить задачу в nncron.tab. Каждый день в 9:01, если еще не запущен VLC, то запустить батник и через 60сек свернуть окно VLC.
Ставим WordPress плагин KVS Player. Настраиваем в нем размер картинки и время буфера. Используя шорт код [flv:http://домен.тут/stream.flv]добавляем на страницу в нужном месте.
На работе поставили задачу организовать общий доступ к
таблицам Excel для одновременного редактирования несколькими
сотрудниками предприятия, возможность оперативно посмотреть информацию
если это потребуется, а так же внести поправки и другую важную
информацию.К слову не все сотрудники сидят в одном здании, а на разных
объектах и площадках, которым необходимо видеть информацию занесенную
коллегами. В связи с этим было рассмотрено несколько вариантов для
реализации доступа:
Microsoft Excel
Непосредственно штатным Excel который установлен у всех,но есть некоторые нюансы:
— Файл должен находится в одной сети (у нас все пользователи раскиданы по разным объектам)
— Некоторые задачи становятся недоступны (создавать таблицы
Excel;создавать, менять или просматривать сценарии; удалять листы;
объединять либо разделять ячейки.)
— Частая «блокировка» файла
— Не видно кто что делает, т.е. информация будет доступна только
после сохранения файла. Один не приятный момент при работе с файлом —
если вы записываете информацию в одну и ту же ячейку, при сохранении
файла работает правило «кто последний тот и папа»)))))
Реализация делается следующим образом, заходим в «Рецензирование» и щелкаем по значку «Доступ к книге».
После этих действий файл станет общим и даёт пользователям одновременное редактирование. В названии файла появится приписка [Общий]
При нажатии кнопки «Доступ к книге» может возникать ошибка:
Достаточно сделать по шагам что написано в диалоговом окне ошибки и она пропадёт!
И так что же мы увидим когда нажмем кнопку «Доступ к книге»?!
А увидим список пользователей которые работают в данный момент и не забудем так же поставить галочку «Разрешить изменять файл нескольким пользователям одновременно»
Для трансляции изображения с камеры из внутренней сети на сайт потребуется прокси модуль апача. Само вещание ведёт ContaCam 7.0(для Windows XP). Понравилось, что сразу и онлайн-вещание и возможность посмотреть записи обнаруженных движений. Вставил трансляцию на страницу с помощью фрейма: <iframe allowtransparency=»true» scrolling=»no» style=»border:1px solid #ededed» src=»http://webcam.site:8800″ frameborder=»0″ height=»750″ width=»750″>
Чтобы маршрут до DVR сервера апач выбрал через внутреннюю сеть, включаем mod_proxy. Это модуль Apache для перенаправления соединений (то есть, шлюз, пропускающий их). Он доступен для использования так же, как любой другой стандартный модуль или базовая конфигурация. В целом, mod_proxy – это не один модуль, а набор модулей, каждый из которых обладает особенными функциональными возможностями.
Некоторые из этих модулей:
mod_proxy: основной прокси-модуль Apache, который управляет соединениями и перенаправляет их.
mod_proxy_http: функции прокси-сервера для протоколов HTTP и HTTPS.
mod_proxy_ftp: функции прокси-сервера для протокола FTP.
mod_proxy_connect: тунеллирование SSL.
mod_proxy_ajp: взаимодействие с протоколом AJP.
mod_proxy_wstunnel: работа с веб-сокетами (например, WS и WSS).
mod_proxy_balancer: кластеризация и балансировка нагрузки.
В файле конфигурации виртуальных хостов вставить блок кода:
<VirtualHost *:*>
ProxyPreserveHost On
# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
ServerName localhost
</VirtualHost>
Активация балансировки нагрузки
При наличии нескольких внутренних серверов можно использовании
функцию балансировки нагрузки Apache, чтобы распределить соединения при
проксировании.
Отредактируйте настройки виртуального хоста (как в предыдущем разделе), используя следующие конфигурации:
<Proxy balancer://mycluster> # Define back-end servers: # Server 1 BalancerMember http://0.0.0.0:8080/ # Server 2 BalancerMember http://0.0.0.0:8081/ </Proxy> <VirtualHost *:*> # Apply VH settings as desired # However, configure ProxyPass argument to # use "mycluster" to balance the load ProxyPass / balancer://mycluster </VirtualHost>
Активация SSL для поддержки обратного прокси
При использовании сертификатов и соединений SSL нужно также
активировать промежуточный виртуальный хост. Для этого используйте
нижеприведенный блок кода.
Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/file.pem
# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
# Or, balance the load:
# ProxyPass / balancer://balancer_cluster_name
</VirtualHost>
Перезапустить службу апача.
Теперь Apache будет проксировать соединения на внутренние серверы приложений.
Задача: на машине стоят 3 диска(c, d, e). Нужно добавить в расписание проверку сразу нескольких дисков на ошибки с помощью команды chkdsk с поиском поврежденных секторов и восстановлением, и выводом на экран списка файлов.
Решение: создать CMD или BAT и добавить в расписание. Содержимое:
Результат($1$5htlgrc7$FHf5uCbSol0oKKYN3upE0/), добавляем в файл /etc/vsftpd_login.db. Синтаксис файла: Имя_юзера1:Пароль_юзера1 Имя_юзера2:Пароль_юзера2
Создать папку по имени пользователя в /home/Имя_юзера права на нее выставить 755, владельцем сделать ftpuser‘а под которым работают виртуальные пользователи. Получить список всех пользователей: cat /etc/passwd .
Для начала нужно определить имя устройства, которое мы только что добавили. В этом нам поможет следующая команда:
geom disk list
Или же вот такая команда:
camcontrol devlist
В реальной системе эти команды покажут более полезную информацию, а именно: названия устройств и их серийные номера.
До установки нового устройства мы знали, что наша система установлена
на ada0, значит по логике вещей наш новый диск ada1. Это вы можете
определить по названию нового устройства, его серийному номеру или же
объему.
Теперь проверим, имеется ли разметка на нашем новом диске
gpart show ada1
Диск не имеет никакой разметки.
Удаление существующей разметки
Если диск уже использовался и есть необходимость удалить с него разметку, просто выполните:
gpart destroy -F ada1
Создание разметки GPT
Для начала мы должны создать разметку диска. Крайне рекомендую забыть
о MBR и перейти на новую, более удобную и функциональную — GPT.
Создаем разметку GPT на диске, затем проверяем, что вышло:
gpart create -s gpt /dev/ada1
gpart show ada1
Теперь у нас диск имеет разметку GPT. Из вывода можно увидеть, что
абсолютно весь диск, начиная с LBA 34 и заканчивая LBA 8388541 пуст. LBA
0−33 — зарезервированы системой под таблицу разделов.
Допустим, нам необходимо создать два раздела на этом диске:
swap — раздел подкачки
data — раздел типа ufs для хранения каких либо, необходимых нам, данных.
Создание разделов (слайсов)
Если установка производится на современные жесткие диски, у которых
размер сектора = 4 кб, то при создании разделов (партиций) необходимо
использовать выравнивание. Можно поступить двумя способами: 1) если
указываем параметры раздела в блоках, то номер блока вводить кратным 8,
например: -b 40; 2) если указываем размер раздела в байтах, либо не указываем вообще начало и размер, использовать параметр -a 4k,
который подгонит начало и конец раздела под секторы, размером 4 кб. Так
как мы в данном примере производим тестовую установку на виртуальный
жесткий диск, то этого можно не делать. В любом случае перед созданием
разделов нужно точно знать размер сектора вашего накопителя, иначе это
выльется жуткими тормозами в работе.
Теперь создадим разделы. Для этого существует команда gpart add с различными параметрами. Первый параметр -t
— указывает на тип создаваемой файловой системы. В нашем случае будет
использовано два типа: freebsd-swap и freebsd-ufs. Далее идут два
необязательных параметра: -b — указывает на номер LBA,
начиная с которого необходимо создать раздел. Если не указать данный
параметр, то раздел будет создан автоматически с первого свободного LBA.
-s — указывает на размер раздела в LBA. Размер одного
блока LBA = 512 байт. Желательно указывать в количестве блоков LBA, но
можно и в кило/мега/гига/… байтах (суффикс k/M/G). Если не указать
данный параметр, то раздел будет создан до максимально возможного LBA в
пределах пустой области. Также в качестве параметра можно указать метку
раздела, например: -l swap1 — в этом случае будет
создана метка /dev/gpt/swap1, по которой можно более удобно обращаться к
разделу. Последним обязательным параметром идет путь к диску. В нашем
случае: /dev/ada1.
Давайте создадим два раздела, а затем посмотрим, что у нас
получилось. Первый раздел будем создавать без указания начального LBA,
но с указанием размера 1 Гб (2097152 блоков). Второй раздел создадим без
указания начального LBA и без указания размера — таким образом он будет
создан на всем свободном пространстве.
Размер можно указывать в байтах, а не блоках. Это значительно
удобней. Единственный минус — система не всегда может корректно
рассчитать количество блоков. Возможны случаи, когда на диске останется
пустовать некоторое количество блоков при указании размера раздела в
байтах.
Создание файловой системы (форматирование)
Разделы типа swap форматировать нет необходимости. А вот разделы типа
ufs перед использованием должны быть отформатированы. Правильнее
сказать: на них должна быть создана файловая система.
Для того, чтобы создать файловую систему на втором разделе, достаточно выполнить следующую команду:
newfs -U /dev/ada1p2
В данном случае использовался параметр -U — он говорит о том, что в
данной файловой системе должен использоваться механизм Soft Updates. Вы
можете не использовать этот параметр, чтобы не включать данный механизм.
Монтирование
Следующим шагом будет монтирование разделов. Для начала, чтобы не
забыть, добавим наши новые разделы в /etc/fstab. Мой файл после
редактирования выглядит вот так:
Я добавил две строки: первая монтирует swap, вторая монтирует новый
раздел в каталог /mnt. На деле у вас должен быть какой-то более значимый
каталог. Каталог /mnt служит для временно монтированных устройств.
Для того, чтобы перемонтировать все разделы согласно файла /etc/fstab, просто выполним команду:
mount -a
Как видно из вывода, раздел /dev/ada1p2 смонтирован. Теперь посмотрим, что произошло с разделом SWAP. Выполним команду:
swapinfo
Как видно, новый раздел SWAP не смонтирован. Чтобы смонтировался SWAP, необходимо его включить специальной командой:
swapon /dev/ada1p1
Точно так же при помощи команды swapoff нужно отключать раздел SWAP перед тем, как произвести над ним какие-то действия.
На этом все действия по добавлению нового жесткого диска в систему завершены.
Краткая инструкция
Дано: жесткий диск /dev/ada1
Цель: удалить существующую разметку, создать новую
разметку GPT, создать два раздела: подкачка и данные и подключить их к
рабочей системе.
После каждого действия выполняйте gpart show, чтобы наблюдать за результатом. Последовательность действий:
Создать новую разметку:
gpart create -s gpt /dev/ada1
Создать два раздела: подкачка и данные:
gpart add -t freebsd-swap -s 2097152 /dev/ada1
gpart add -t freebsd-ufs /dev/ada1
Создать файловую систему UFSv2 на втором разделе:
newfs -U /dev/ada1p2
Добавить в файл /etc/fstab строки для автомонтирования при загрузке:
/dev/ada1p1 none swap sw 0 0
/dev/ada1p2 /mnt ufs rw 2 2
Смонтировать новый раздел (команда монтирует все разделы из файла /etc/fstab):
mount -a
Включить в работу новый раздел swap командой:
swapon /dev/ada1p1
На этом настройка завершена.
Ошибки при пропаже подключенного в FSTAB диска
При удалении диска прописанного в fstab система не загрузится нормально, перейдет в однопользовательский режим с доступом к корневому винту только на чтение. Для перевода диска с системой в обычный режим, запустить: mount -a
Монтируем NTFS
Начиная с FreeBSD 10, Fuse — это часть ядра. Делаем так, чтобы он загружался с системными модулями, в /boot/loader.conf пишем:
fuse_load="YES"
Это сработает после перезагрузки. В текущем сеансе подгрузим этот модуль вручную
#kldload fuse
Проверить загружен ли модуль или нет можно командой
#kldstat
Если в списке будет присутствовать fuse.ko, значит всё хорошо.
#kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 1fa7c38 kernel
2 1 0xffffffff821a9000 1a7c8 fuse.ko
Далее мы должны определиться, как видит система флешку или внешний жёсткий диск:
#dmesg | grep da
Вывод будет примерно таким:
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> s/n 00H79BHRYGX22JBN detached
(da0:umass-sim0:0:0:0): Periph destroyed
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 00H79BHRYGX22JBN
da0: 40.000MB/s transfers
da0: 14870MB (30453760 512 byte sectors)
da0: quirks=0x12<NO_6_BYTE,NO_RC16>
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> s/n 8968888304C9BB52 detached
(da1:umass-sim1:1:0:0): Periph destroyed
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> Removable Direct Access SCSI-2 device
da1: Serial Number 8968888306C9BB52
da1: 40.000MB/s transfers
da1: 1999MB (4093952 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>
Видим, что в системе у нас две флешки с идентификаторами da0 и da1. В нашем примере мы будем использовать только флешку da0.
Монтируем её следующей командой:
ntfs-3g /dev/da0 /mnt
/dev/da0 — это наша флешка, мы это выяснили в пункте 3. /mnt — это точка монтирования. Она может быть любой.
Если появилась ошибка, монтируем раздел флешки. После ввода
ntfs-3g /dev/da0
жмём TAB и видим разделы флешки
da0 da0s1
И монтируем этот раздел
ntfs-3g /dev/da0s1 /mnt
Переходим в каталог, куда мы примонтировали флешку и видим там её содержимое:
Теперь на флешку можно записывать файлы и читать их с неё.
Для того, чтобы отмонтировать флешку, сначала покинем каталог, куда она примонтирована. Например,
#cd /
А после этого, воспользуемся командой
#umount /mnt
Использование /etc/fstab - таблицы ФС для монтирования:
При ntfs-3g обязательно использовать опцию late
воспользуемся опцией mountprog=<program> и заменим ntfs-3g на ntfs в /etc/fstab:
Dump - утилитой dump(8) снимать специальные архивные копии для ФС. 0 - не снимать. Pass - порядок проверки fsck. 0 - файловую системы не нужно проверять Если у вас произошла ошибка при монтировании, та что ниже:
noauto - не монтировать автоматически при загрузке ОС.
теперь должно быть без ошибок:
% mount /dev/da0p1
или если использовали опцию late(опция указывает на то что раздел не будет смонтирован при mount -a, а только при mount -al ):
% mount -avl
Размонтировать(форсировано)
% umount -f /ExtHDD
Смонтируем вручную с umask=002 и UID=1001(gx1) и GID=0(wheel):