Pull to refresh
46
0

Сисадмин Linux (RHCE), Windows (MCSE), Mikrotik

Send message
Развернутое тестирование помогло, не без боли, выявить ряд проблем в генерируемых политиках и спрятанных ошибках. Актуальная версия 0.9.4.
Добавил генерацию маскардинга.
!!! Если вы используете рекурсивные проверки маршрутов, к примеру для dualwan, то обязательно разрешите пинги от руотера в интернет. Без этого у вас интернет быстро пропадет.
Вот я не смог прийти к однозначному мнению на это счёт.
Скрипт может быть адаптирован под IPv6, да и не у всех на IPv4 должен быть NAT (хотя сколько таких осталось)?
И если уж добавлять то, что не связано с фильтрацией (уже есть немного), то что ещё добавить?
И конечно объем тестирования скрипта пока довольно мал, будьте внимательны при использовании ;)
Да, маскардинг данным скриптом не создается совсем.
Когда я об этом думал, я так и не решил, стоит ли его делать, потому и не сделал.
Если можете хорошо обосновать, нужно ли это делать, то я добавлю в скрипт, благо это не сложно.
А тут вопрос. Скрипт делает каркас, в любое место которого можно вставить свою цепочку или правило. Если все дропать как вы предлагаете, то это не решит ничего кроме добавления большого числа правил, которые по сути не нужны и создаст лишню работу при кастомизации.
Обработка правил идет до тех пор, пока пакет не терминируется на любом правиле типа ACCEPT, REJECT, DROP. И если в вашем фильтре нет терминирующего корневого правила, к примеру в цепочке forwad (для транзитного трафика), то действие для него будет accept. Для любой не корневой цепочки, если в ней нет больше правил для обработки, и пакет не подошел, срабатывает действие return, и обработка продолжается со следующего правила от jump.
На скрине пояснение для forward:
17 — прыгаем в дебри фильтрации, если пакет там не «застрял», то он всплывет и попадет на 19 — ое правило.
Скриншот
image
Это происходит как «возврат» в корневую, там и происходит DROP.
Да, подлая copy-paste ошибка при рефакторинге.
Предложите вариант конфигурации, я её сгенерирую, ниже для текущей конфигурации.
Результат генерации правил
# may/06/2020 17:59:39 by RouterOS 6.46.3
# software id = 
#
#
#
/ip firewall address-list
add address=192.168.10.2 list=IP-Trusted
/ip firewall filter
add action=accept chain=forward comment=DEBUG!!!
add action=accept chain=input comment=DEBUG!!!
add action=accept chain=output comment=DEBUG!!!
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1 \
    dst-port=5246,5247 protocol=udp src-address-type=local
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=jump chain=input comment="defconf: new input" jump-target=in-new
add action=drop chain=input comment="defconf: drop all not allowed"
add action=accept chain=output comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=jump chain=output comment="defconf: new output" jump-target=\
    out-new
add action=drop chain=output comment="defconf: drop all not allowed"
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-mark=no-mark connection-state=established,related
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=jump chain=forward comment="defconf: new forward" jump-target=\
    fw-new
add action=accept chain=new-FORWARD comment=\
    "defconf: Accept all forward DSTNATed" connection-nat-state=dstnat
add action=drop chain=forward comment=\
    "defconf: drop all not allowed for forward"
add action=accept chain=WAN2RT-STD-PROTO comment=ICMP protocol=icmp
add action=accept chain=WAN2RT-STD-PROTO comment=GRE ipsec-policy=in,ipsec \
    protocol=gre
add action=accept chain=WAN2RT-STD-PROTO comment=IPSec protocol=ipsec-esp
add action=accept chain=WAN2RT-STD-PROTO comment=IPSec protocol=ipsec-ah
add action=accept chain=WAN2RT-STD-PROTO comment="IPSec encapsulated" \
    dst-port=500,4500 protocol=udp
add action=accept chain=WAN2RT-STD-PROTO comment=L2TP dst-port=1701 \
    ipsec-policy=in,ipsec protocol=udp
add action=accept chain=WAN2RT-STD-PROTO comment=PPtP dst-port=1723 protocol=\
    tcp
add action=accept chain=LAN2RT-STD-PROTO comment=DNS dst-port=53 protocol=tcp
add action=accept chain=LAN2RT-STD-PROTO comment=NTP,DNS,DHCP dst-port=\
    53,123,67-68 protocol=udp
add action=accept chain=LAN2RT-STD-PROTO comment=DHCP dst-address-type=\
    broadcast dst-port=67-68 protocol=udp
add action=accept chain=RT2WAN-STD-PROTO comment=DNS dst-port=53 protocol=tcp
add action=accept chain=RT2WAN-STD-PROTO comment=NTP,DNS dst-port=53,123 \
    protocol=udp
add action=reject chain=RT2WAN-STD-PROTO comment=GRE ipsec-policy=out,none \
    protocol=gre reject-with=icmp-admin-prohibited
add action=reject chain=RT2WAN-STD-PROTO comment=L2TP dst-port=1701 \
    ipsec-policy=out,none protocol=udp reject-with=icmp-admin-prohibited
add action=accept chain=fw-new comment=ICMP disabled=yes protocol=icmp
add action=accept chain=in-new comment=ICMP disabled=yes protocol=icmp
add action=accept chain=out-new comment=ICMP disabled=yes protocol=icmp
add action=jump chain=fw-new comment="Fwd plc from if ISP" in-interface-list=\
    IF-ISP jump-target=fw-plc-s:ISP
add action=jump chain=in-new comment="In plc for if ISP" in-interface-list=\
    IF-ISP jump-target=in-plc-s:ISP
add action=jump chain=fw-new comment="Fwd plc from if LAN" in-interface-list=\
    IF-LAN jump-target=fw-plc-s:LAN
add action=jump chain=in-new comment="In plc for if LAN" in-interface-list=\
    IF-LAN jump-target=in-plc-s:LAN
add action=jump chain=fw-new comment="Fwd plc from if TUN" in-interface-list=\
    IF-TUN jump-target=fw-plc-s:TUN
add action=jump chain=in-new comment="In plc for if TUN" in-interface-list=\
    IF-TUN jump-target=in-plc-s:TUN
add action=jump chain=out-new comment="Out plc for rt" jump-target=\
    out-plc-s:rt
add action=jump chain=in-plc-s:ISP comment="In plc for if ISP to rt" \
    jump-target=in-plc-s:ISP>rt
add action=jump chain=in-plc-s:ISP>rt comment=\
    "In Allow plc for STD WAN PROTO fromISP" in-interface-list=IF-ISP \
    jump-target=WAN2RT-STD-PROTO
add action=jump chain=out-plc-s:rt comment=\
    "Out Allow plc for STD WAN PROTO to ISP" jump-target=RT2WAN-STD-PROTO \
    out-interface-list=IF-ISP
add action=jump chain=in-plc-s:ISP comment=\
    "In plc for if ISP & ip Trusted to rt" jump-target=\
    in-plc-s:ISP&Trusted>rt src-address-list=IP-Trusted
add action=accept chain=in-plc-s:ISP&Trusted>rt comment=\
    "In plc for if ISP & ip Trusted Accept to rt"
add action=jump chain=in-plc-s:LAN comment="In plc for if LAN to rt" \
    jump-target=in-plc-s:LAN>rt
add action=jump chain=in-plc-s:LAN>rt comment=\
    "In Allow plc for STD LAN PROTO fromLAN" in-interface-list=IF-LAN \
    jump-target=LAN2RT-STD-PROTO
add action=jump chain=fw-plc-s:LAN comment="Fwd plc from if LAN to All" \
    jump-target=fw-plc-s:LAN>all
add action=jump chain=in-plc-s:LAN comment="In plc for if LAN to All" \
    jump-target=in-plc-s:LAN>all
add action=accept chain=fw-plc-s:LAN>all comment=\
    "Fwd plc from if LAN Accept to All"
add action=accept chain=in-plc-s:LAN>all comment=\
    "In plc from if LAN Accept to All"
add action=jump chain=fw-plc-s:TUN comment=\
    "Fwd plc from if TUN & ip Manager to All" jump-target=\
    fw-plc-s:TUN&Manager>all src-address-list=IP-Manager
add action=jump chain=in-plc-s:TUN comment=\
    "In plc for if TUN & ip Manager to All" jump-target=\
    in-plc-s:TUN&Manager>all src-address-list=IP-Manager
add action=accept chain=fw-plc-s:TUN&Manager>all comment=\
    "Fwd plc from if TUN & ip Manager Accept to All"
add action=accept chain=in-plc-s:TUN&Manager>all comment=\
    "In plc from if TUN & ip Manager Accept to All"
add action=jump chain=fw-plc-s:TUN comment=\
    "Fwd plc from if TUN & ip Staff to Server" dst-address-list=IP-Server \
    jump-target=fw-plc-s:TUN&Staff>Server src-address-list=IP-Staff
add action=accept chain=fw-plc-s:TUN&Staff>Server comment=\
    "Fwd plc from if TUN & ip Staff Accept to Server"
/ip firewall mangle
add action=change-mss chain=forward comment="Fix mss on tunel TUN" \
    in-interface-list=IF-TUN new-mss=1400 passthrough=yes protocol=tcp \
    tcp-flags=syn tcp-mss=1401-65535
add action=change-mss chain=forward comment="Fix mss on tunel TUN" new-mss=\
    1400 out-interface-list=IF-TUN passthrough=yes protocol=tcp tcp-flags=syn \
    tcp-mss=1401-65535
/ip firewall raw
add action=notrack chain=prerouting comment="Notrack ipsec" ipsec-policy=\
    in,ipsec
add action=notrack chain=prerouting comment="Notrack multicast" \
    dst-address-type=multicast

После подключения www.timescale.com стало резко лучше, партицирование стало не так сильно и надо

Я не пробовал, но вроде решения на nvidia grid это могут. Вот только как то оно подозрительно дешёвого выходит, одна видюха как б/у сервер прошлого поколения, а Софт как два таких сервера… Поэтому сижу на теплой ламповой оффлайн ручной миграции…

Чистый, или про проброс видяхи в виртуалку. Тут главное чтобы винда её увидила вместе с дровами.

Прекрасно работает ускорение с применением карточки на подобие quadro k620. При этом ускорение в RDHS начинает работать с 2012 сервера, а 2008r2 его не умеет (только для дочерних виртуалок). Вместо quadro неплохо работали и другие карточки с поддержкой аппаратного ускорения h264. И в такой комбинации 2008r2 уже фаворитом не будет. В «серверах» из десктопов, без видюхи я выжимал те-же 8-10 сессий на 2008r2 относительно комфортных, с переходом на 2016 и добавлением видяхи с ОЗУ (тут они конечно кушают больше), смог получить комфортных до 15 сессий, при этом видео крутилось очень мягко.
У меня рецепт чуть другой, но вполне эффективен. Порт 5060 (и любой без шифрования SIP) открыт только с ip провайдеров. Это спасает от совсем тупой долбежки, но и создаёт трудности тоже. Не шифрованный SIP разрешён только во внутренней сети (соответственно за VPN тоже). Для тех, кому не нужен VPN, а VOIP нужен, те работают только через SIP TLS, который прикрыт fail2ban. В таком режиме активность на брут учеток практически нет (жалкие два адреса за месяц).
Я использую FreePBX Distro (SNG7-PBX-64bit-1805-2, FreePBX 14, Centos Linux 7.5, Asterisk 13).
По умолчанию он включен.
Тут прикол в том, что все узлы указаны по IP, но кто-то все равно делает lookup на все (даже IP).
Решением в моем случае может быть такое: настроить локальный DNS кэш (dnsmasq или unbound), тогда отвал любого из DNS не будет заметен в принципе. Особеность установки FreePBX из коробки в том, что его надо прикручивать дополнительно.
Кто-же спорит. Однако с правильного курса сбили другие обстоятельства проблемы. И в момент попытки понять, что не так, как-то не замечаешь очевидного.
Тут habr.com/post/331544 есть скрипт который учитывает состояние гонки при работе DHCP cllient, да еще его можно использовать и без DHCP для формирования маршрутов.

Тогда фразу в статье стоит изменить. А то создалось впичатление, что вы не знали про ThinProvision, а вопрос был в поддержке кластеризации.

LVM уже давольно давно умеет ThinProvision, где нет проблем с производительностью снапшотов.

По сути, там нечего писать. Порты объединяются мостом. Если чип поддерживает аппаратную разгрузку, то интерфейсы получать статус H. Если делать несколько мостов, а группа коммутации только одна, то тот, что с большим числом интерфейсов становится "мастером" с аппаратной разгрузкой, остальные софтовые.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity