Настройка роутера Debian/GNU Linux с учетом трафика на основе NetAMS 3.3.5 и iptables
Настройка роутера Debian/GNU Linux с учетом трафика на основе NetAMS 3.3.5 и iptables,а также создание ВПН канала для связи двух удаленных друг от друга офисов на базе OpenVPN.
Есть два офиса(контроллер домена на базе Windows 2003 Server, рабочие станции на базе Windows XP SP2), расположенные на большом расстоянии друг от друга. Необходимо в реальном времени обеспечить доступ удаленному офису к ресурсам главного офиса и наоборот, а именно:
1. Доступ к файлам и принтерам 2. Доступ удаленного офиса к серверу терминалов, т.е. к справочной системе Консультант+ и к программе 1С Бухгалтерия 3. Обеспечить прозрачность удаленной сети для пользователей.
Главный офис.
В главном офисе находятся: "основной" контроллер домена, все файловые сервера, сервер терминалов и будущий основной роутер Debian/GNU Linux. Т.е. будет только один компьютер на базе Linux и он должен уметь следующее:
1. "Раздавать интернет" пользователям, используя авторизацию и квотирование трафика.
2. Делать возможным взаимодействие удаленных КПК(подключенных к интернету) с программой 1С бухгалтерия.
3. Принимать внешние запросы на ВПН соединение, т.е. - ВПН сервер.
Удаленный офис.
В удаленном офисе расположены: рабочие станции и второй роутер на базе Debian/GNU Linux. Функции которого:
Установка и автоматическая поддержка ВПН соединения с роутером главного офиса.
Установка и настройка роутера в главном офисе.
Рассмотрим более детально, что должен делать главный интернет сервер:
1. Конфигурация NetAMS:
а) Авторизация пользователей для доступа в интернет через WEB по паролю без привязки к IP адресу. б) Квотирование трафика. г) Некоторым пользователям разрешено пользоваться только ICQ. д) Учет локального-бесплатного трафика, который не входит в квоты. е) Учет ICQ-трафика(порт 5190).
2. Конфигурация OpenVPN:
а) Маршрутизация пакетов от клиента OpenVPN в локальную сеть обеспечивается подключением типа мост TAP интерфеса сервера OpenVPN к сетевому интерфейсу локальной сети. б) Автоматическая установка ВПН клиенту адреса DNS сервера локальной сети.
3. Конфигурация файрвола(политика: то что явно не разрешено - запрещено):
а) Запрещена любая установка соединений из вне непосредственно с сервером, кроме ВПН(UDP:1194) и Webmin(TCP:10000) б) Из локальной сети разрешено обращаться напрямую к серверу только(+ пункт а): ssh(порт 22) и 80 порт(авторизация через WEB в NetAMS для получения пользователями локальной сети доступа в интернет). в) Перенаправление(порт форвардинг) запросов из вне на сервер терминалов по порту 5555(взаимодействие с КПК) протокол TCP. г) ДНС запросы(TCP, UDP 53 порт) идут напрямую, минуя NetAMS. д) Разрешена почта только "провайдерная"(бесплатная) и электронная отчетность, и она(почта) так же идет напрямую, минуя NetAMS. Для обеспечения надежности работы организации. В случае падения NetAMS главная артерия документооборота будет продолжать функционировать в штатном режиме. ж) Пользователям локальной сети после WEB авторизации в NetAMS разрешено обращение в интернет по следующим портам протокола TCP: 80:82,443,1024:65535. з) Разрешено обращение VPN клиентов, пользователей как главного, так и удаленного офисов друг к другу по любым протоколам и портам.
Нам потребуются большие разделы для логов(/var) и для устанавливаемого ПО(/usr), для раздела /home не нужно много места, т.к. не будет пользователей, использующих роутер как файловый сервер.
В первую очередь необходимо сконфигурировать сетевой интерфейс, подключенный к интернету, т.к. сразу же будут установлены и настроены обновления безопасности системы. После инсталляции установим пакет mc (Midnight Commander).
Сначала добавляем все 3 DVD дистрибутива "в базу" системы установки apt. Добавление DVD дистрибутива в базу:
apt-cdrom add
После вставляем наш DVD в DVD-дисковод и нажимаем ввод. Повторяем для всех 3-х DVD. Установка пакета mc:
apt-get install mc
Далее для удобства будущего удаленного администрирования устанавливаем пакет ssh.
apt-get install ssh
Для того чтобы подключиться к нашему серверу из MS Windows необходима программа putty. В putty: вводим адрес сервера(небходимо сконфигурировать 2й сетевой интерфейс), а так же меняем кодировку(Window-Trancelation) на UTF-8(опционально).
Конфигурируем 2-й сетевой интерфейс(/etc/network/interfaces), например:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).
# The loopback network interface auto lo iface lo inet loopback
# The primary network interface allow-hotplug eth1 iface eth1 inet static address IP адресс провайдера netmask 255.255.255.X network Х.Х.Х.0 broadcast Х.Х.Х.255 gateway Х.Х.Х.Х dns-nameservers Х.Х.Х.X Х.Х.Х.Х auto eth1
iface eth0 inet static address 192.168.Х.Х netmask 255.255.255.0 auto eth0
После необходимо перезапустить "сеть", чтобы ОС установила новые IP адреса: /etc/init.d/networking restart
Вводим команду ifconfig и проверяем установленную конфигурацию сетевых интерфейсов. И команду route -N, в маршрутах должен быть адрес шлюза провайдера, который указан в файле /etc/network/interfaces.
Адреса ДНС серверов находятся в файле /etc/resolf.conf:
nameserver X.X.X.X nameserver X.X.X.X
Теперь необходимо проверить, как все работает, вводим команду ping с параметрами: адрес компьютера в локальной сети и адрес шлюза провайдера, например:
ping 192.168.1.3 ping 82.67.176.1
Пишем скрипт, чтобы обесречить доступ в интернет пользователям локальной сети. Назовем скрип goinet и установим права на запуск, запускаем:
После запуска этого скрипта на одной из рабочих станций под управлением MS Windows устанавливаем адрес шлюза = адресу нашего Линукс роутера в локальной сети, так же адреса ДНС серверов провайдера, пингуем шлюз провайдера и заходим в интернет.
Если все работает, значит можно приступать к установке NetAMS. Настройку файрвола нужно проводить после установки и конфигурирования системы учета трафика и ВПН, чтобы свести к минимуму возможные конфиликты ПО с файрволом.
*В случае дублирования IP адреса в локальной сети нашего интернет сервера *с одной из рабочих станций будут непредсказуемые ошибки во всей сети. *Если при пинговании одного из IP адресов локальной сети с роутера возникают *потери пакетов, то одна из возможных причин - это дублирование IP адреса.
Установка и настройка NetAMS 3.3.5 (http://www.netams.com).
1.Устанавливаем пакеты необходимые для NetAMS и модули Perl, которые могут понадобиться в случае использования дополнительного ПО для администрирования NetAMS(модуль Perl, Crypt::GeneratePassword, может потребоваться при использовании билинга в NetAMS, http://search.cpan.org/CPAN/authors/id/J/JW/JWALT/Crypt-GeneratePassword-0.03.tar.gz ):
debug none language ru user name admin real-name Admin password 123 permit all user name netams password 123 permit all user name nawt password 123 permit all
Этими командами настраивается сервис main, причем явно писать "service main" не нужно. Вначале отключается вывод всей отладочной информации - это нужно для уменьшения размера лог-файла. Далее заводятся пользователи системы, имеющие в ней права администратора (permit all). Указанный пароль "123" потом будет храниться в зашифрованном виде.
service server 0 login local listen 20001 max-conn 6
Этими командами настраивается сервис server, который обеспечивает подключение администратора и скриптов к работающему экземпляру NeTAMS по протоколу telnet. Входящие соединения принимаются только на локальный адрес 127.0.0.1, порт 20001, и возможно не более шести одновременных соединений. Согласно предыдущим строкам подключиться смогут только три пользователя.
service processor lookup-delay 20 flow-lifetime 120 policy name urls target layer7-detect policy name localtrafik target file /etc/localtraf.txt policy name allip target proto ip policy name trafik target proto tcp port 80:82 443 1024:65535 policy name aska target proto tcp port 5190 restrict all drop local pass
Настраивается главный сервис - processor. lookup-delay flow-lifetime задаются параметры, как часто будут проверяться списки юнитов и откладываться записи в базу данных.
Следующие параметры задают политики, по которым будет идти учет трафика. Политика urls необходмима для протоколирования запрошенных ссылок(URL)(опционально). localtrafik учитывает бесплатный-локальный трафик, подсети локального трафика берутся из файла /etc/localtraf.txt, например:
Х.Х.Х.Х /18 Х.Х.Х.Х /19
Политика "allip" задает весь IP-трафик, "trafik" - только тот, который идет по портам TCP 80:82 443 1024:65535, "aska" - тот, который использует программа ICQ.
Последняя строка определяет, как поступать с пакетами, которые прошли через учет по списку юнитов и совпали (или не совпали) с каким-либо юнитом.
Указанная конфигурация пропускает пакеты, которые принадлежат имеющимся в конфигурационном файле юнитам, и не пропускает остальные. Полезно использовать именно указанное сочетание, т.к. это поможет не пускать в сеть "незаконные" компьютеры.
unit group name LAN acct-policy allip trafik aska unit net name local ip 192.168.1.0/24 no-local-pass acct-policy allip aska unit host name server ip 192.168.1.222 no-local-pass acct-policy allip unit net name all ip 0.0.0.0/0 no-local-pass acct-policy all-ip unit user name user1 sys-allow-login description "Скотт" password 123 parent LAN acct-policy allip %localtrafik trafik aska unit user name user2 sys-allow-login password 123 parent LAN acct-policy allip allip %localtrafik trafik aska aska fw-policy aska
Здесь определяются юниты, или учётные объекты. В начале создается группа, которая будет родительской по отношению к включенным в нее юнитам. Затем следует юнит, обозначающий всю подсеть. Далее идут юниты, представляющие отдельные компьютеры.
Для юнита local указан также параметр no-local-pass, который заставляет считать нелокальными все пакеты, принадлежащие сети и не описанные для других юнитов - этим мы отсекаем "неизвестные подключения".
Если вы задаете последовательность из нескольких политик подсчета трафика подряд, то по умолчанию подсчет ведется для каждой политики и трафик суммируется. Чтобы при совпадении политики дальнейший подсчет прекратился используется break flag [%].
В данном случае будет учитываться общий трафик, в который входит локальный трафик и платный трафик, отдельно будет видно ICQ трафик, который уже входит в платный.
Для юнита user2 введен параметр fw-policy aska, то есть весь трафик кроме этой политики будет блокирован для данного юнита. Чтобы разрешить прохождение трафика согласно политикам учета, необходимо убрать параметр fw-policy aska. Указан также пароль, который может быть использован для доступа к индивидуальной статистике в виде HTML-страниц.
storage 1 all
Указывает сервису processor на необходимость сохранять статистику в хранилище, описанном сервисом storage за номером 1. При этом запить будет идти в обе таблицы одновременно - raw и summary.
service storage 1 type mysql accept all
Определяет хранилище для статистики. Тип хранилища - MySQL, для доступа к базе будут использованы стандартные настройки: имя пользователя root, пустой пароль, работающий на той же машине SQL-сервер (подключение через unix socket). Имя базы данных - netams.
service data-source 1 type ip-traffic source ipq layer7-detect urls
Определяет, каким образом данные о трафике будут попадать в NeTAMS. ip-traffic - данные берутся путем перехвата ip-пакетов из ядра через netfilter. Параметр layer7-detect urls необходим, чтобы можно было протоколировать посещаемые url (Указать политику учета для тех юнитов, которые надо отслеживать).
service monitor 0 monitor to storage 1
Сервис monitor позволяет осуществлять запись данных из заголовков пакетов, относящихся к указанным юнитам. При этом в базе данных сохраняется не только информация о локальном источнике-получателе пакета, размере и времени, но и об удаленной стороне. Для этого необходимо добавить, например, monitor unit user1.
service login 0 storage 1 max-inact 3000 max-abs 3600 min-abs 1800 set-user-ip yes set name user1 password 123 inact 3000 abs 0 set name user2 password 123 inact 3000 abs 0
Сервис login необходим для управления процедурами доступа пользователей через веб-интерфейс. Для работы сервиса необходимо будет указать номер сервиса-хранилища данных.
max_inact - максимально допустимая величина времени таймаута неактивности. max-abs - максимально допустимая величина времени абсолютного таймаута. min_abs - минимально допустимая величина времени абсолютного таймаута. Задается в секундах. set-user-ip - Указывает на необходимость в случае успешной авторизации перезаписать IP-адрес юнита (если он имеет тип user) на текущий; при наступлении таймаута или останове доступа адрес сбрасывается в 0.0.0.0. set - pаписывает в структуру данных юнита в памяти и одновременно в SQL-базу параметры юнита (определяется по имени или номеру OID).
Для настройки параметров сервиса login необходимо подключиться к программе через telnet-интерфейс, перейти в режим настройки сервиса командой service login 0 и ввести команду set name user1 password 123 inact 3000 abs 0. После набираем команды: exit(выйти из упраления сервисом), вводим команду show login.
service quota 0 storage 1 policy trafik set name user2 active month 70M in
policy - задает политику учета (acct-policy), которая будет использоваться при проверке квот. Это политика по умолчанию для всех, существует возможность переопределить ее для конкретного юнита. Если не указано, используется первая политика из определенных policy XXX сервиса processor. Команда set используется аналогично как в сервисе login.
service html 0 path /var/www/netams/stat run 2min client-pages all htaccess yes display-health yes display-top 5
Сервис html позволяет автоматически генерировать HTML-страницы с отчетами. Процесс netams будет автоматически создавать эти страницы раз в 2 минуты(далее нужно увеличить этот параметр) и складывать их в каталог /var/www/traffic. Будет создаваться как администраторская часть дерева страниц, так и клиентская. Доступ к статистике будет защищен паролем (на администраторскую " admin:123, клиентам " их логины-пароли).
htaccess { yes | no }
Включает и выключает механизм автоматической защиты каталогов с помощью файлов .htaccess и .htpassword. При этом используются пароли администратора NeTAMS (те, которые задаются в "user... crypted..." в начале конфигурационного файла и собственно пароли на юниты ("unit ... password ..."). При этом администратору доступны любые подкаталоги веб-дерева, а пользователям - только их собственные.
client-pages { all | groups | none | group GG1 GG2 ... }
Показывает, будут ли создаваться клиентские страницы для веб-представления статистики:
all - будет создаваться все groups - только общая статистика и статистика подкаталоги для юнитов типа "группа" none - только общая статистика group GG1 GG2 ... - клиентские статистики только для перечисленных групп и содержащихся в них юнитах (не рекурсивно). Чтобы добавить или удалить группу в списке, необходимо дать команду с новым списком полностью. display-top N - Включает механизм генерации статических страниц, показывающих TOP N (N - число, желательно порядка 10) потребителей трафика (юниты типа USER и HOST) для периодов времени с начала часа, дня, недели и месяца. display-health { yes | no } - Включает и выключает механизм автоматического отображения "здоровья" системы (аналогично show health), т.е. свободного места на жестком диске и загрузки процессора. По умолчанию-выключено.
4.Запускаем нетамс /etc/init.d/netams.sh start, сам файл:
Вводим логин admin и пароль прописанный в конфиге /etc/netams.cfg далее вводим команду html, show config, show version, save. Выходим из telnet и перезапускаем NetAMS. (чтобы произошла корректная привязка сгенерированных OID юнитов к базе данных).
Снова Подключаемся к NetAMS с помощью telnet.
Устанавливаем квоты и логинЫ, из конфига эти параметры в базу не вносятся и если не установить в telnet, то после рестарта NetAMSa они пропадут.
Так же после установки всех параметров и начального формирования конфига(можно и позже), необходимо его сохранить командой save в telnet и перезапустить демон NetAMS, иначе возможна неработоспособность сервиса генерирования html страниц.
Или прописать в конфигурационном файле:
service scheduler 0 time 2min action "html"
5. Изменяем скрипт, чтобы трафик проходил через NetAMS:
6. Добавляем в конфиг апача /etc/apache2/httpd.conf:
Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all DefaultLanguage ru AddDefaultCharset WINDOWS-1251
Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride none Order allow,deny allow from all DefaultLanguage ru AddDefaultCharset WINDOWS-1251
Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride none Order allow,deny allow from all DefaultLanguage ru AddDefaultCharset WINDOWS-1251
AddHandler cgi-script .cgi
ServerName lol Options FollowSymLinks ExecCGI Indexes AllowOverride All
ServerName rofl Options FollowSymLinks ExecCGI Indexes AllowOverride All
Для того чтобы можно было через web интерфейс получить доступ к административному и пользовательскому интерфейсу NetAMS, например, по адресу: http://192.168.1.1/netams И для получения доступа к сервису login через web: http://192.168.1.1/login/login.cgi
7. Создаем каталог /var/www/login и в него копируем файлы config.cgi login.cgi netams_api.pl из каталога /var/www/netams/cgi-bin/
1.создаем каталог /var/www/netams/cgi-bin/ и переписываем туда файлы из каталога cgi-bin дистрибутива NetAMS
2.создаем каталог /var/www/netams/images и /var/www/stat/images
3.переписываем туда файлы из каталога /var/www/netams/cgi-bin/images
4.переписываем файл admintool.cgi из /var/www/netams/cgi-bin/ в /var/www/netams/stat и правим его только в этом каталоге так:
В файле /login/login.cgi прописываем пути, например:
$url_to_stat="/netams/stat/clients/"
В файлах config.cgi(/var/www/netams/cgi-bin/,/var/www/netams/cgi-bin/admin и в /var/www/login) изменяем параметры логина к нетамсу(логин и пароль, прописанные в конфиге netams.conf, т.е. netams 123).
А так же(если нужно) устанавливаем:
$statistic_url="/netams/stat/"
8.Создаем каталог /var/www/login/images и переписыаем в него файл logo_small.gif.
9.Копируем файл .htaccess из /var/www/netams/stat/ в /var/www/netams/
10.Удаляем(если они есть) файлы .htaccess из каталога cgi-bin и cgi-bin/admin.
13.Пробуем снова с рабочей станции получить доступ в интернет. Не должно пустить. Далее заходим на http://адресроутера/login/login.cgi и вводим логин пароль: user 123 и снова пробуем. Заходим на http://192.168.1.1/netams, вводим логин пароль админа.
14.Скрипт загрузки NetAMS при старте системы /etc/init.d/netams.sh:
15. Перезагружаем систему(опционально). При загрузке должен запуститься NetAMS. Далее загружаем тэстовый скрипт для интернета и логинимся через веб, чтобы получить доспут в интернет. Если пользователь был "залогинен" до рестарта, то после перезагрузки у него все равно будет доступ, автоматическое отключение пользователя происходит через 3000 секунд его полной неактивности(задается в конфигурационном файле NetAMS).
Установка и настройка OpenVPN 2.0
Для быстрой настройки OpenVPN используется пакет Webmin 1.410 и модуль к нему OpenVPN-2.5.wbm (http://www.webmin.com), а так же пакет bridge-utils:
Устанавливаем пакет bridge-utils(пакеты для возможности использования соединения типа мост):
apt-get install bridge-utils
Устанавливаем пакет WebMin:
dpkg -i webmin_1.410_all.deb
После выполнения этой команды, dpkg выдаст много ошибок о нарушенных зависимостях и не хватке многих пакетов в системе. Для завершения установки вводим команду:
apt-get install -f
Далее заходим на https://Х.Х.Х.Х:10000/(соглашаемся продолжить), вводим логин пароль (root-xxx) и заходим в Webmin-Change Language and Theme, меняем(опционально) язык на русский, обновляем страницу. Идем в Настройки Webmin-Модули Webmin и загружаем уже скаченный модуль из файла OpenVPN-2.5.wbm, либо в Third party module from, жмем select и выбираем и устанавливаем модуль OpenVPN-admin(будет загружен с сайта http://www.webmin.com). После его установки Webmin напишет, где модуль появится. Обновляем страницу, заходим в модуль(Службы-OpenVPN + CA). Жмем настройка модуля и проверяем пути. Необходимо исправить следующее:
Server Hint for Clients (*) - адрес VPN сервера, который будет прописан в строке ввода: адрес VPN сервера при создании клиента к нашему серверу. То есть пишем адрес нашего VPN сервера(опционально).
Command to start Bridge - /usr/share/webmin/openvpn/br_scripts/bridge_start
Command to stop Bridge - /usr/share/webmin/openvpn/br_scripts/bridge_end
Path to DOWN-ROOT-PLUGIN - /usr/lib/openvpn/openvpn-down-root.so
Жмем сохранить. Далее идем в сертификаты, и генерируем сертификат для нашего сервера и клиентов:
Key size (bit) - 1024(при увелечении возрастает нагрузка на систему)
Expiration time of - 3650 дней по умолчанию (10 лет) Certification Authority key (days)
Сохраняем и генерируем ключи для сервера и клиентов, для каждого клиента свой ключ. Идем в VPN List и создаем сервер:
Device - TAP
Bridge Device - br0
Network Device for Bridge - eth0(интрефейс локальной сети)
IP config for bridge IP-Address/Gateway - IP адрес и маску подсети, которые устнавлены на eth0
IP-Range for Bridge-Clients - диапазон адресов для VPN клиентов
management (Enable Management) - Enable порт, например, 2222. Дает возможность видеть информацию о VPN подключениях(опционально).
Net IP assigns (option server) - ничего не пишем
Additional Configurations - push "dhcp-option DNS 192.х.х.х" (автоматическая установка DNS сервера, возможен повторный вызов для добавления нескольких серверов)
Сохраняем. Наш сервер готов к работе. Заходим в Client List и генерируем клиентов. Понадобится как минимум один - для обесепечения связи двух офисов. Экспортируем конфигурационные файлы клиента(ключ для клиента удаленного офиса необходимо сгенерировать без пароля).
Получился следующий конфигурационный файл сервера:
port 1194 proto udp dev tap1 ca keys/ххcertificat/ca.crt cert keys/ххcertificat/nvserver.crt key keys/ххcertificat/nvserver.key dh keys/ххcertificat/dh1024.pem server-bridge 192.168.х.х 255.255.255.0 192.х.х.150 192.х.х.170 #@@ br0 eth0 crl-verify keys/ххcertificat/crl.pem ifconfig-pool-persist servers/ххserver/logs/ipp.txt tls-auth servers/ххserver/ta.key 0 cipher DES-CBC user nobody group nogroup status servers/ххserver/logs/openvpn-status.log log-append servers/ххserver/logs/openvpn.log verb 2 mute 20 max-clients 100 management 127.0.0.1 2222 keepalive 10 120 client-config-dir /etc/openvpn/servers/ххserver/ccd client-to-client comp-lzo persist-key persist-tun float ccd-exclusive up servers/nvserver/bin/nvserver.up plugin /usr/lib/openvpn/openvpn-down-root.so "/etc/openvpn/servers/nvserver/bin/nvserver.down-root" push "dhcp-option DNS 192.х.х.х"
Никакие маршруты прописывать не нужно, т.к. используется подключение типа мост.
Установка и настройка файрвола (iptables).
Немного теории: когда пакет попадает на наш роутер, сначала он попадает в таблицу mangle цепочка PREROUTING, далее он идет в таблицу nat-PREROUTING, далее, в зависимости от того куда направлен пакет, он идет либо:
потом на выход: mangle-POSTROUTING..nat-POSTROUTING.
Интересуют только 2 цепочки таблицы filter: это INPUT - то есть все то, что идет непосредственно на наш сервер и цепочка FORWARD, то есть все то, что идет через роутер, как в локальную сеть, так и из нее.
Еще раз конфигурация файрвола(политика: то что явно не разрешено - запрещено):
а) Запрещена любая установка соединений из вне непосредственно с сервером, кроме ВПН(UDP:1194) и Webmin(TCP:10000)
б) Из локальной сети разрешено обращаться напрямую к серверу только(+ пункт а): ssh(порт 22) и 80 порт(авторизация через WEB в NetAMS для получения пользователями локальной сети доступа в интернет).
в) Перенаправление(порт форвардинг) запросов из вне на сервер терминалов по порту 5555(взаимодействие с КПК) протокол TCP.
г) ДНС запросы(TCP, UDP 53 порт) идут напрямую минуя NetAMS.
д) Разрешена почта только "провайдерная"(бесплатная) и электронная отчетность. Она(почта) так же идет напрямую, минуя NetAMS для обеспечения надежности работы организации. В случае падения NetAMS главная артерия документооборота будет продолжать функционировать в штатном режиме.
ж) Пользователям локальной сети, после WEB авторизации в NetAMS, разрешено обращение в интернет по следующим портам,протокол TCP: 80:82,443,1024:65535.
з) Разрешено обращение VPN клиентов, пользователей как главного, так и удаленного офисов друг к другу по любым протоколам и портам.
файрвол(/etc/fw):
#!/bin/sh SERVER1C="192.168.170.5" INET="eth1" NET="eth0" NET_NET="192.168.170.0/24" INETIP="84.53.199.198" LANIP="192.168.170.222" ELCOM_SMTP="84.53.200.28"ELCOM_POP="84.53.200.5"IRIDAN="213.87.26.54"UNPRIVPORTS="1024:65535"DNS_SERVER1="84.53.200.24"DNS_SERVER2="84.53.199.254"SYSADMIN="192.168.170.3"#Сбрасываем все правилаiptables -F INPUTiptables -F FORWARDiptables -F OUTPUTiptables -t nat -Fiptables -t mangle -F#то что явно не разрешено - запрещеноiptables -P FORWARD DROPiptables -P INPUT DROPiptables -P OUTPUT DROP#Всякий кал банiptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP#Явный сброс всех запросов на соединение из инета,#кроме тех, какие нужны...iptables -A INPUT -d $INETIP -p TCP --syn --dport ! 10000 -j DROP#Даем Webminiptables -A INPUT -p TCP --dport 10000 -j ACCEPT#Даем OpenVPN(и DHCP)iptables -A INPUT -p UDP --dport 1194 -j ACCEPTiptables -A INPUT -p UDP --dport 67 -j ACCEPTiptables -A OUTPUT -p UDP --dport 68 -j ACCEPT#Порт TCP:5555 форвардингiptables -t nat -A PREROUTING -d $INETIP -p TCP --dport 5555 \-j DNAT --to-destination $SERVER1C:5555#Открываем TCP порты, которые слушать только из локалкиiptables -A INPUT -s $NET_NET -p TCP -d $LANIP --dport 22 -j ACCEPT#Даем инет серверу(например, для обновлений безопастности)iptables -A INPUT -d $INETIP -p TCP --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPT#Разрешить DNS для сервера и для локалки(почта, аська)iptables -A INPUT -p UDP -s $DNS_SERVER1 -m state --state ESTABLISHED \--sport 53 -j ACCEPTiptables -A INPUT -p TCP -s $DNS_SERVER1 --sport 53 --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p UDP -s $DNS_SERVER2 -m state --state ESTABLISHED \--sport 53 -j ACCEPTiptables -A INPUT -p TCP -s $DNS_SERVER2 --sport 53 --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -p UDP -s $NET_NET -d $DNS_SERVER1 --dport 53 -j ACCEPTiptables -A FORWARD -p UDP -s $DNS_SERVER1 -d $NET_NET --sport 53 \-m state --state ESTABLISHED -j ACCEPTiptables -A FORWARD -p TCP -s $NET_NET -d $DNS_SERVER1 --dport 53 -j ACCEPTiptables -A FORWARD -p TCP -s $DNS_SERVER1 -d $NET_NET --sport 53 \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -p UDP -s $NET_NET -d $DNS_SERVER2 --dport 53 -j ACCEPTiptables -A FORWARD -p UDP -s $DNS_SERVER2 -d $NET_NET --sport 53 \-m state --state ESTABLISHED -j ACCEPTiptables -A FORWARD -p TCP -s $NET_NET -d $DNS_SERVER2 --dport 53 -j ACCEPTiptables -A FORWARD -p TCP -s $DNS_SERVER2 -d $NET_NET --sport 53 \-m state --state ESTABLISHED,RELATED -j ACCEPT#Почта только провайдерная и электронная отчетность,iptables -A FORWARD -s $NET_NET -d $ELCOM_POP -p TCP --dport 110 -j ACCEPTiptables -A FORWARD -s $ELCOM_POP -d $NET_NET -p TCP --sport 110 \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -s $NET_NET -d $ELCOM_SMTP -p TCP --dport 25 -j ACCEPTiptables -A FORWARD -s $ELCOM_SMTP -d $NET_NET -p TCP --sport 25 \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -s $NET_NET -d $IRIDAN -p TCP --dport 110 -j ACCEPTiptables -A FORWARD -s $IRIDAN -d $NET_NET -p TCP --sport 110 \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -s $NET_NET -d $IRIDAN -p TCP --dport 25 -j ACCEPTiptables -A FORWARD -s $IRIDAN -d $NET_NET -p TCP --sport 25 \-m state --state ESTABLISHED,RELATED -j ACCEPT#Даем возможность впн клиентам использовать файловые ресурсы #локальной сетиiptables -A FORWARD -p ALL -s $NET_NET -d $NET_NET -j ACCEPT#Разрешаем КПКшкам обращаться к серверу AplusServeriptables -A FORWARD -p TCP -d $SERVER1C --dport 5555 -j ACCEPTiptables -A FORWARD -p TCP -s $SERVER1C --sport 5555 \-m state --state ESTABLISHED,RELATED -j ACCEPT#Разрешаем авторизацию в NetAMSiptables -A INPUT -p TCP -s $NET_NET -d $LANIP --dport 80 -j ACCEPT#Разрешаем интеренет через NetAMSiptables -A FORWARD -p TCP -s $NET_NET --dport $UNPRIVPORTS -j QUEUEiptables -A FORWARD -p TCP -d $NET_NET --sport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j QUEUEiptables -A FORWARD -p TCP -s $NET_NET -m multiport --dport 21,80,81,82,443 \-j QUEUEiptables -A FORWARD -p TCP -d $NET_NET -m multiport --sport 21,80,81,82,443 \-m state --state ESTABLISHED,RELATED -j QUEUE#Внутри демократияiptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPTiptables -A INPUT -p ALL -s $LANIP -i lo -j ACCEPTiptables -A INPUT -p ALL -s $INETIP -i lo -j ACCEPTiptables -A OUTPUT -p ALL -d 127.0.0.1 -o lo -j ACCEPTiptables -A OUTPUT -p ALL -s $INETIP -j ACCEPTiptables -A OUTPUT -p ALL -s $LANIP -j ACCEPTiptables -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT#Даем torrent и т.п. сисадмину, минуя NetAMS(для локального трафика)iptables -A FORWARD -p TCP -d $SYSADMIN --dport $UNPRIVPORTS -j ACCEPTiptables -A FORWARD -p TCP -s $SYSADMIN --sport $UNPRIVPORTS -j ACCEPTiptables -A FORWARD -p UDP -d $SYSADMIN --dport $UNPRIVPORTS -j ACCEPTiptables -A FORWARD -p UDP -s $SYSADMIN --sport $UNPRIVPORTS -j ACCEPT#Есть некоторые провайдеры, которые очень не любят, когда одним #подключением пользуется несколько компьютеров, если мы начинаем #устанавливать на все пакеты одно и то же значение TTL, то тем #самым мы лишаем провайдера одного из критериев определения того,#что подключение к Интернету разделяется несколькими компьютерами.#Для примера можно привести число TTL = 64, которое является стандартным #для ядра Linux.iptables -t mangle -A PREROUTING -i $INET -j TTL --ttl-set 64#Включаем НАТiptables -t nat -A POSTROUTING -o $INET -j SNAT --to-source $INETIPecho "1" > /proc/sys/net/ipv4/ip_forwardДобавляем после отладки наш файрвол в автозагрузку(/etc/rc.local), Устанавливаем права на fw:chmod 711 /etc/fw (полный доступ для владельца и запуск для всех остальных).Установка и настройка роутера в удаленном офисе.Система: Celeron 2.4, 1024+256 MB, IDE 20GB HDD, 2 сетевых интерфейса.Выход в интернет с динамическим IP адресом. При объединении сетей двух офисовбудет использовано соединение типа мост: интерфейса локальной сети удаленного офисаи TAP интерфейса VPN клиента удаленного офиса. Bridge интерфейсу br0 будут заданыIP адрес и маска подсети диапазона сети главного офиса, то есть получим одну сеть,состоящую из двух подсетей офисов с единым адресным пространством.Взаимосвязь двух удаленных друг от друга офисов может осуществляться по любым протоколам и портам.Понадобятся следующие пакеты: pppoe, pppoeconf, bridge-utils, openvpn, webmin, ssh.Установка и настройка интернета (PPPoE).Установка пакета:apt-get install pppoeУстановка пакета pppoeconf:apt-get install pppoeconfВводим в диалоге, где нужно: логин, пароль от провайдера и т.п,получаем конфигурационные файлы, например:/etc/ppp/chap-secrets:# Secrets for authentication using CHAP# client server secret IP addresses"providerLOGIN" * "providerPASSWORD" /etc/ppp/resolf.conf:nameserver X.X.X.Xnameserver X.X.X.X/etc/ppp/peers/dsl-provider:# Configuration file for PPP, using PPP over Ethernet # to connect to a DSL provider.## See the manual page pppd(8) for information on all the options.### Section 1## Stuff to configure...# MUST CHANGE: Uncomment the following line, replacing the user@provider.net# by the DSL user name given to your by your DSL provider.# (There should be a matching entry in /etc/ppp/pap-secrets with the password.)#user myusername@myprovider.net# Use the pppoe program to send the ppp packets over the Ethernet link# This line should work fine if this computer is the only one accessing# the Internet through this DSL connection. This is the right line to use# for most people.#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"# An even more conservative version of the previous line, if things# don't work using -m 1452... #pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412"# If the computer connected to the Internet using pppoe is not being used# by other computers as a gateway to the Internet, you can try the following# line instead, for a small gain in speed:#pty "/usr/sbin/pppoe -I eth0 -T 80"# The following two options should work fine for most DSL users.# Assumes that your IP address is allocated dynamically# by your DSL provider...noipdefault# Try to get the name server addresses from the ISP.usepeerdns# Use this connection as the default route.# Comment out if you already have the correct default route installed.defaultroute### Section 2## Uncomment if your DSL provider charges by minute connected# and you want to use demand-dialing. ## Disconnect after 300 seconds (5 minutes) of idle time.#demand#idle 300### Section 3## You shouldn't need to change these options...hide-passwordlcp-echo-interval 20lcp-echo-failure 3# Override any connect script that may have been set in /etc/ppp/options.connect /bin/truenoauthpersistmtu 1492# RFC 2516, paragraph 7 mandates that the following options MUST NOT be# requested and MUST be rejected if requested by the peer:# Address-and-Control-Field-Compression (ACFC)noaccomp# Asynchronous-Control-Character-Map (ACCM)default-asyncmapplugin rp-pppoe.so eth1user "providerLOGIN"Файл /etc/network/interfaces:# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceallow-hotplug eth0iface eth0 inet staticaddress 192.168.1.1netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255# dns-* options are implemented by the resolvconf package, if installedauto dsl-provideriface dsl-provider inet ppppre-up /sbin/ifconfig eth1 up # line maintained by pppoeconfprovider dsl-providerauto eth1iface eth1 inet manual Установка и настройка клиента OpenVPN и файрвола.Устанавливаем пакеты bridge-utils, openvpn, webmin, ssh:apt-get install bridge-utilsapt-get install openvpndpkg -i webmin_1.410_all.debapt-get install -fapt-get install sshВ Webmin устанавливаем модуль OpenVPN-2.5.wbm, в данном случае очень вероятно,что роутер удаленного офиса в будущем может быть использован как VPN сервер,так же вместе с модулем будут установлены скрипты:/usr/share/webmin/openvpn/br_scripts/bridge_start/usr/share/webmin/openvpn/br_scripts/bridge_endУбираем из автозагрузки OpenVPN:update-rc.d openvpn removeСоздаем скрипт /etc/ppp/ip-up.d/goinet:#!/bin/shcd /etc/openvpn/usr/sbin/openvpn --config nvclient9.conf --daemon --writepid /var/run/openvpn.pidТеперь после установки соединения с провайдером, автоматически будет устанавливатьсяVPN соединение, используя конфигурационный файл clientname.conf(наш VPN клиент),например, следующего содержания:clientproto udpdev tapca ca.crtdh dh1024.pemcert nvclient7.crtkey nvclient7.keyremote х.х.х.х 1194tls-auth ta.key 1cipher DES-CBCuser nobodygroup nogroupverb 2mute 20keepalive 10 120comp-lzopersist-keypersist-tunfloatresolv-retry infinitenobind #необходимо добавить в конфигурационный файл,#чтобы после установки соединения создавался мост и запускался файрволup /etc/openvpn/start_bridge Копируем конфигурационные файлы OpenVPN клиента в /etc/OpenVPN/.(ca.crt, dh1024.pem, clientname.crt, clientname.key, ta.key, clientname.conf иclientname.ovpn - конфигурационный файл для OpenVPN GUI).И если нужно добавляем строку up /etc/openvpn/start_bridgeСоздаем скрипты:файл /etc/openvpn/start_bridge:#!/bin/bash#возможны ошибки при инициализации#tap интерфейса из-за этого скрипта и возможно нада будет прямо указать#интерфейс, например tap0#Адрес TAP интерфейса VPN клиента может измениться,#определяем функцию получения IP адреса с интерфейсаfunction get_addr() { IFCONFIG='/sbin/ifconfig'; HEAD='head -2'; TAIL='tail -1'; CUT='cut -d: -f2'; IP=`$IFCONFIG $1 | $HEAD | $TAIL | awk '{print $2}' | $CUT`; echo $IP;}#Получаем tap интерфейс, он не всегда может быть tap0VPN=`/sbin/ifconfig | grep ^[t-t] | awk '{print $1}'`VPNIP=`get_addr $VPN`/usr/share/webmin/openvpn/br_scripts/bridge_start --setbr br=br0 eth=eth0 tap=tap0 ip=$VPNIP netmask=255.255.255.0 > /dev/null#запускаем файрвол после успешной или неуспешной установки VPN соединения/etc/openvpn/fw-server2 #endфайл /etc/ppp/ip-down.d/stop_bridge:#!/bin/bash#возможны ошибки при инициализации#tap интерфейса из-за этого скрипта и возможно нада будет прямо указать#интерфейс, например tap0VPN=`/sbin/ifconfig | grep ^[t-t] | awk '{print $1}'` /usr/share/webmin/openvpn/br_scripts/bridge_end --killbridge --seteth br=br0 eth=eth0 tap=$VPN ip=192.168.1.1 netmask=255.255.255.0 > /dev/nullФайл /etc/openvpn/fw-server2:#!/bin/sh#IP адрес ppp0 интрефейса динамически назначается провайдером и#IP адрес TAP интерфейса VPN клиента может измениться, то#определяем функцию получения IP адреса с интерфейсаfunction get_addr() { IFCONFIG='/sbin/ifconfig'; HEAD='head -2'; TAIL='tail -1'; CUT='cut -d: -f2'; IP=`$IFCONFIG $1 | $HEAD | $TAIL | awk '{print $2}' | $CUT`; echo $IP;}#Получаем PPP интерфейс, он не всегда может быть ppp0INET=`/sbin/ifconfig | grep ^[p-p] | awk '{print $1}'` NET="br0"NET_NET="192.168.170.0/24"INETIP=`get_addr $INET`LANIP=`get_addr $NET`UNPRIVPORTS="1024:65535"DNS_SERVER1="84.53.200.24"DNS_SERVER2="84.53.199.254"#Сбрасываем все правилаiptables -F INPUTiptables -F FORWARDiptables -F OUTPUT#Политика по умолчанию - все запрещеноiptables -P FORWARD DROPiptables -P INPUT DROPiptables -P OUTPUT DROP#Явный бан всех запросов на соединение из инета#кроме Webminiptables -A INPUT -d $INETIP -p TCP --syn --dport ! 10000 -j DROP#Даем Webminiptables -A INPUT -p TCP --dport 10000 -j ACCEPT#Даем OpenVPN(и DHCP для OpenVPN клиента)iptables -A INPUT -p UDP --sport 1194 -j ACCEPTiptables -A INPUT -p UDP --dport 68 -j ACCEPTiptables -A OUTPUT -p UDP --dport 67 -j ACCEPT#Открываем TCP порты которые слушать только из локалкиiptables -A INPUT -s $NET_NET -p TCP -d $LANIP --dport 22 -j ACCEPT#Даем инет серверу(для обновлений безопастности и т.п.)iptables -A INPUT -d $INETIP -p TCP --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPT#Разрешить DNS для сервераiptables -A INPUT -p UDP -s $DNS_SERVER1 -m state --state ESTABLISHED \--sport 53 -j ACCEPTiptables -A INPUT -p TCP -s $DNS_SERVER1 --sport 53 --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p UDP -s $DNS_SERVER2 -m state --state ESTABLISHED \--sport 53 -j ACCEPTiptables -A INPUT -p TCP -s $DNS_SERVER2 --sport 53 --dport $UNPRIVPORTS \-m state --state ESTABLISHED,RELATED -j ACCEPT#Обеспечиваем сетевой доступ обоих офисов друг к другуiptables -A FORWARD -p ALL -j ACCEPT#Внутри демократияiptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPTiptables -A INPUT -p ALL -i lo -j ACCEPTiptables -A INPUT -p ALL -i lo -j ACCEPTiptables -A OUTPUT -p ALL -j ACCEPT#Включаем IP forwardingecho "1" >
1. Выберите банк. Первым шагом является выбор банка, который предлагает зарубежные карты. Вы можете сравнить различные банки по комиссии, сборам, валютам и другим условиям.
2. Подайте заявку на карту. Обычно для подачи заявки на зарубежную карту необходимо предоставить следующую информацию:
Имя и фамилия Адрес Номер телефона Адрес электронной почты Копия паспорта Копия счета за коммунальные услуги или выписка из банка
3. Дождитесь одобрения заявки. Банк рассмотрит вашу заявку и примет решение об одобрении или отказе в выдаче карты. Обычно процесс рассмотрения заявки занимает несколько дней.
4. Получите карту. После одобрения заявки банк выпустит карту и отправит ее вам по почте.
5. Активируйте карту. После получения карты вам необходимо активировать ее. Это можно сделать, позвонив в банк или посетив отделение банка.
6. Начните пользоваться картой. После активации карты вы можете начать пользоваться ей для оплаты товаров и услуг, снятия наличных и осуществления онлайн-платежей.
Советы по оформлению зарубежной карты:
- Перед подачей заявки на карту сравните различные банки по комиссии, сборам, валютам и другим условиям. - Убедитесь, что вы предоставляете банку достоверную информацию. - Будьте готовы предоставить банку дополнительные документы, если это необходимо. - Ознакомьтесь с условиями использования карты перед ее активацией. - Не забывайте своевременно вносить платежи по карте, чтобы избежать штрафов и комиссий.
Оформление зарубежной карты может быть полезным и удобным методом покупать, получать наличные и совершать онлайн-платежи в других странах. Но перед оформлением зарубежной карты следует тщательно проанализировать все условия и сборы, связанные с ее использованием.
https://www.morphonic-records.com/community/profile/korygibney36734/ как открыть счет в банке другой страны
fantastic issues altogether, you simply received a logo new reader. What may you suggest in regards to your post that you just made some days in the past? Any certain? Foto che tutte le persone a proposito di cui c’è stato il gara. E’ probabile cliccare mettere una pietra sopra queste Verso iniziare una conversazione oppure Secondo avanzare a intravedere ancora il ad essi lineamenti. https://www.gowwwlist.1directory.org/VJ_232268.html Esamina la relazione sulla dating
Строительство домов под ключ http://www.stoimsya.ru из газобетона - это востребованная услуга, при этом популярность такого материала обусловлена скоростью строительства, простотой проектов и дешевизной. Если при использовании кирпича существенно увеличиваются затраты и сроки строительства, то газобетон позволит решить имеющиеся проблемы. Мы построим такой дом под ключ, и предложим доступные цены. http://www.stoimsya.ru - https://b.radikal.ru/b34/1908/5b/f09986182889.jpg
Interested in hardrock? How about Kiss band? The band is on a tour this 2019 year all across the US. Click on http://fermaj.zmergo.hr/blog/2015/11/27/dodite-na-6-ekoloski-sajam-opatija-5-prosinca-2015/ to know more about KISS concert in 2019.
косметическое масло для волос профессиональное крио масаж для роста волос горчичный шампунь для жирных волос ленты для волос краснодаре скрин масло для окрашивания волос краска для волос лисап купить в минске имидж для девушки с короткими волосами тоник для волос финляндия краска для волос иноа палитра всех тонов как почистить утюжок для волос в домашних условиях schwarzkopf шампунь для роста волос отзывы парикмахерская в краснодаре с использованием краски для волос wella краска для волос сьес купить в минске стайлер для завивки волос старая русса краска для волос цвет шампань