Доброго. А можно подробней на примере
r1---sn-2gb7sn7r.googlevideo.com
host > это r самая первая или gogle?
endhost> это com или video?
sld > это r самая первая?
endsld > это r перед google?
midsld> это середина r1—sn-2gb7sn7r?
sniext>>>> сдесь начало?
В дебаг запустите на сплит на указанных частях. Оно хекс дампает
Ненене
host – это всё с начала
endhost – это конец всего
sld – это googlevideo
endsld – это “o”,
midsld – середина googlevideo
sniext – это sniext, на срине его не видно, там должно быть читаемое sni – server name
Ридмик обновлён, см. tcp сегментация
Не совсем. Это следующий за ним байт. Точка выходит
Все концы считаются так. Поэтому -1 значит отрезать последний кусок как 1 байт с конца
Спасибо а то я думал хост это гуглвидео
А слд типо аброкадабра перед точкой. Теперь разобрался.
“sld” это “second level domain”
@bolvan , подскажите, пожалуйста! Как мне сделать такой конфиг, чтобы весь tcp траффик на ВСЕХ портах завернуть в стратегию? Когда порты заранее неизвестны и могут быть какие угодно.
Я немного расширю контекст вопроса @minecrafter
Как может проявляться то, когда nfqws
/tpws
захлебывается от избыточного трафика и что мы можем в таком случае сделать исходя из того, что ресурсов cpu в обрез, но хватает. Скажем, дедлоки на опенврт как могут выглядеть.
Можно написать 1-65535, но все-таки лучше выделить более узкий диапазон.
Абы какие они вряд ли могут быть. Хотя бы нижние исключить до 1023 включительно
При дедлоках расхода ресурсов не будет. Но перестанет ходить трафик, перенаправленный на очередь.
Процесс тупо отморозится, жрать ничего не будет.
В случае ограничения по connbytes перегрузка по cpu вряд ли случится. Там очень незначительная нагрузка. А если редиректнуть все с keepalive, то будет жрать под завязку на массивных выгрузках. Тормознется upload
А тут есть владельцы кинетиков с 69 версии запрета, вы тестили фикс upd который сделали болвану? Мне кажется что он не работает я проверил его и дискорд с одной и той же стратегией на 68 и 69 версии запрета и вот на 69 к голосовому каналу не подключает, на 68 если использовать только дискорд кастом скрипт исправив /opt/zapret/init.d/sysv/zapret внеся туда под секции do_start() do_stop() и restart-fw|restart_fw правила
for IFACE_N in $IFACE_WAN; do
iptables -t nat -A POSTROUTING -o $IFACE_N -j MASQUERADE
done
и
for IFACE_N in $IFACE_WAN; do
iptables -t nat -D POSTROUTING -o $IFACE_N -j MASQUERADE
done
То войс в дискорде работает на 68 версии, казалось бы в 69 все тоже самое должен делать фикс для кинетика но вот голосовой чат дискорда все равно не заводится. У кого-то есть с этим проблемы или в 69 дискорд и upd фикс кинетика норм у вас работают?
iptables -S -t nat
что выдает с этим фиксом моим ?
@bolvan можно ли совмещать --dpi-desync-ttl=3 с --dpi-desync-fooling=datanoack?
Можно, но обычно datanoack и так хватает.
Но могут отдельные исключения быть, если сервер примет пакет с datanoack. Про yahoo что-то писали.
Можно так fooling md5sig,datanoack
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N _NDM_DNAT
-N _NDM_DNS_REDIRECT
-N _NDM_EZ_BYPASS
-N _NDM_EZ_DNAT
-N _NDM_HOTSPOT_DNSREDIR
-N _NDM_IPSEC_POSTROUTING_NAT
-N _NDM_MASQ
-N _NDM_MASQ_BYPASS
-N _NDM_SL_PRIVATE
-N _NDM_SNAT
-N _NDM_SNAT_MAPT
-N _NDM_STATIC_DNAT
-N _NDM_STATIC_LOOP
-N _NDM_STATIC_SNAT
-N _NDM_UPNP_REDIRECT_SYS
-A PREROUTING -j _NDM_DNAT
-A PREROUTING -j _NDM_DNS_REDIRECT
-A PREROUTING -j _NDM_EZ_BYPASS
-A PREROUTING -m ndmmark --ndmmark 0x0/0x8 -j _NDM_UPNP_REDIRECT_SYS
-A OUTPUT -j _NDM_DNAT
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -j _NDM_IPSEC_POSTROUTING_NAT
-A POSTROUTING -j _NDM_SNAT
-A POSTROUTING -j _NDM_SNAT_MAPT
-A POSTROUTING -j _NDM_MASQ
-A _NDM_DNAT -j _NDM_STATIC_DNAT
-A _NDM_DNS_REDIRECT -j _NDM_HOTSPOT_DNSREDIR
-A _NDM_EZ_BYPASS -d 192.168.1.1/32 -j ACCEPT
-A _NDM_MASQ -j _NDM_MASQ_BYPASS
-A _NDM_MASQ -s 192.168.1.0/24 ! -o br0 -m ndmmark --ndmmark 0x4/0x0 -j MASQUERA DE
-A _NDM_MASQ_BYPASS -s 224.0.0.0/4 -j ACCEPT
-A _NDM_MASQ_BYPASS -d 224.0.0.0/4 -j ACCEPT
-A _NDM_SL_PRIVATE -i ra3 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i ra6 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i ra5 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i ra2 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i ra4 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i rai4 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i rai5 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i rai3 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i rai2 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i rai6 -j _NDM_EZ_DNAT
-A _NDM_SL_PRIVATE -i br0 -j _NDM_EZ_DNAT
-A _NDM_SNAT -j _NDM_STATIC_LOOP
-A _NDM_SNAT -o eth3 -j _NDM_STATIC_SNAT
-A _NDM_SNAT -o ppp0 -j _NDM_STATIC_SNAT
-A _NDM_STATIC_LOOP -s 192.168.1.0/24 -d 192.168.1.0/24 -o br0 -j SNAT --to-sour ce 192.168.1.1
-A _NDM_STATIC_LOOP -s 192.168.1.0/24 -o br0 -m ndmmark --ndmmark 0x4/0x0 -j SNA T --to-source 192.168.1.1
В zapret/common/ipt.sh дописать строчку:
ipt_add_del $1 _NDM_MASQ -t nat -o $i -p udp -m mark --mark $DESYNC_MARK/$DESYNC_MARK -j MASQUERADE
Это точно рабочий вариант, уже давно так крутится на всех кинетиках. На основе этого сделал
_fw_nfqws_post4()
{
# $1 - 1 - add, 0 - del
# $2 - iptable filter for ipv4
# $3 - queue number
# $4 - wan interface names space separated
[ "$DISABLE_IPV4" = "1" -o -z "$2" ] || {
local i
ipt_print_op $1 "$2" "nfqws postrouting (qnum $3)"
rule="-m mark ! --mark $DESYNC_MARK/$DESYNC_MARK $2 $IPSET_EXCLUDE dst -j NFQUEUE --queue-num $3 --queue-bypass"
if [ -n "$4" ] ; then
for i in $4; do
ipt_add_del $1 POSTROUTING -t mangle -o $i $rule
ipt_add_del $1 _NDM_MASQ -t nat -o $i -p udp -m mark --mark $DESYNC_MARK/$DESYNC_MARK -j MASQUERADE
done
else
ipt_add_del $1 POSTROUTING -t mangle $rule
fi
}
}
P.S. кинетик дропает не родные правила в iptables поэтому нужно еще и в /opt/etc/ndm/netfilter.d правила дописать по zapret restart-fw
Понятно, но это не годится, тк вламывается в код, в который вламываться не нужно.
А такое добавить неплохо
-p udp -m mark --mark $DESYNC_MARK/$DESYNC_MARK
^^^
У него появляется запись с MASQUERADE
мой вариант такой
zapret_custom_firewall()
{
# $1 - 1 - add, 0 - stop
local wan wanif rule
[ "$DISABLE_IPV4" = "1" ] || {
# use IFACE_WAN if defined. if not - search for interfaces with default route.
wanif=${IFACE_WAN:-$(sed -nre 's/^([^\t]+)\t00000000\t[0-9A-F]{8}\t[0-9A-F]{4}\t[0-9]+\t[0-9]+\t[0-9]+\t00000000.*$/\1/p' /proc/net/route | sort -u | xargs)}
for wan in $wanif; do
rule="-o $wan -p udp -m mark --mark $DESYNC_MARK/$DESYNC_MARK"
ipt_print_op $1 "$rule" "keenetic udp fix"
ipt_add_del $1 POSTROUTING -t nat $rule -j MASQUERADE
done
}
}
Видимо, кто фикс делал не учел этот момент и он укатился в прод,но теперь все ок. Спасибо за правку теперь действительно работает как надо и еще такой вопрос есть стратегия --dpi-desync=multisplit --dpi-desync-split-pos=1,midsld - --dpi-desync-split-seqovl=1 seqovl ломает сайт hdrezka.ag при его заходе не распознает https соединение и перекидывает просто на http каким образом это можно пофиксить, остальные сайты нормально работают mtu 1500