Перейти к содержимому
Калькуляторы
Блокировка веб ресурса  

566 пользователей проголосовало

  1. 1. Для блокировка используем



Блокировка сайтов провайдерами маневры с DNS

1 минуту назад, ixi сказал:

хинт: экстремизм вы должны блокировать в течении часа.

Да не вопрос, но нафига задним числом запись менять???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

47 минут назад, Antares сказал:

Да не вопрос, но нафига задним числом запись менять???

так формат другого не предусматривает.. по мне так разницы никакой, даже лучше. в случае чего, нарушение будет по одной записи, а не по сотне разных

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Появился реестр систем, рекомендованных РКН для фильтрации

Ни у кого нет нуля, что хорошо для защиты своей позиции в суде

 

https://rkn.gov.ru/communication/p922/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коллеги, а как вы определяете  - было ли изменение реестра перед тем, как его выкачивать?

Или просто выкачиваете, сравниваете с предыдущим и, если есть отличия, начинается работа скриптов по его обработке и загрузке в системы блокировки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там есть 2 параметра же в сервисе, где можно получить дату изменения последнего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

чего то насмерть запутался с ядрами для extfilter:

гипертренинг отключил, (правильно же? )

Из вопросов еще - многопроцессорность поддерживается?

 

cores =  [0, 8, 2, 10, 1, 9]
sockets =  [0, 1]

        Socket 0    Socket 1
        --------    --------
Core 0  [0]         [1]
Core 8  [2]         [3]
Core 2  [4]         [5]
Core 10 [6]         [7]
Core 1  [8]         [9]
Core 9  [10]        [11]
 

Как правильно посчитать какие ядра отключать и какую маску вписывать? 

пока вроде так вышло: core_mask = 2047

cmdline=isolcpus=2,4,6,8,10,3,5,7,9,11 default_hugepagesz=1G hugepagesz=1G hugepages=16 -  получилось по 8 гигов на ядро.

 

И пропуски:

Было больше, добавил flowhash_size = 1048576

стало лучше:

Information Application - Port 0 input packets 4788357175, input errors: 0, mbuf errors: 0, missed packets: 5635

 

num_of_senders = 8
[port 0]
queues = 0,2; 1,3; 2,4; 3,5; 4,6; 5,7; 6,8; 7,9

 

трафика 1.42 M pps

 

 

UDP сделал flowhash_size = 4194304 - миссы пропали...

Изменено пользователем RadioSintetica

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 22.10.2017 в 10:04, zhenya` сказал:

Там есть 2 параметра же в сервисе, где можно получить дату изменения последнего.

Что за параметры и как их получить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

12 часов назад, Andrei сказал:

Что за параметры и как их получить?

 Я вот этот беру, хотя там еще какой-то есть.

 

my $service = SOAP::Lite->service("http://vigruzki.rkn.gov.ru/services//OperatorRequest/?wsdl");

my $lddn = $service->getLastDumpDate;

 

А, вот еще...

<xsd:element name="getLastDumpDateEx">
<xsd:annotation><xsd:documentation>запрос времени последнего важного обновления</xsd:documentation></xsd:annotation>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 часов назад, RadioSintetica сказал:

Из вопросов еще - многопроцессорность поддерживается?

Не поддерживается и из-за этого могут быть пропуски, т.к. процессору приходится обращаться к памяти другого процессора. Так же важным моментом является то, в какой слот установлена сетевая карта (на шине какого процессора). В случае работы двух процессоров с одной картой могут возникать задержки в обработке пакетов, что так же приводит к пропуску.

1,2 mpps это немного для современного процессора - можно попробовать на 2х ядрах обрабатывать такой объем трафика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, max1976 сказал:

Не поддерживается и из-за этого могут быть пропуски, т.к. процессору приходится обращаться к памяти другого процессора. Так же важным моментом является то, в какой слот установлена сетевая карта (на шине какого процессора). В случае работы двух процессоров с одной картой могут возникать задержки в обработке пакетов, что так же приводит к пропуску.

1,2 mpps это немного для современного процессора - можно попробовать на 2х ядрах обрабатывать такой объем трафика.

Спасибо за развернутый ответ! А как узнать на шине какого процессора сетевая карта? и вот насчет расчета маски.. как ее посчитать? и что же делает параметр flowhash_size = 4194304 ? 

 

поглядел - 

cat /sys/class/net/ens1f1/device/local_cpulist
0-11


cat /sys/class/net/ens1f1/device/numa_node 
-1
 

Чего то у меня еще больше вопросов...

Изменено пользователем RadioSintetica

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 минут назад, RadioSintetica сказал:

Спасибо за развернутый ответ! А как узнать на шине какого процессора сетевая карта? и вот насчет расчета маски.. как ее посчитать? и что же делает параметр flowhash_size = 4194304 ? 

lstopo , ну судя по раскидыванию ядер у вас шина общая

 

Machine (7921MB total) cpuset=0x000000ff
  NUMANode L#0 (P#0 3890MB) cpuset=0x00000055
    Package L#0 cpuset=0x00000055
      L3 L#0 (8192KB) cpuset=0x00000055
        L2 L#0 (256KB) cpuset=0x00000001
          L1d L#0 (32KB) cpuset=0x00000001
            L1i L#0 (32KB) cpuset=0x00000001
              Core L#0 cpuset=0x00000001
                PU L#0 (P#0) cpuset=0x00000001
        L2 L#1 (256KB) cpuset=0x00000004
          L1d L#1 (32KB) cpuset=0x00000004
            L1i L#1 (32KB) cpuset=0x00000004
              Core L#1 cpuset=0x00000004
                PU L#1 (P#2) cpuset=0x00000004
        L2 L#2 (256KB) cpuset=0x00000010
          L1d L#2 (32KB) cpuset=0x00000010
            L1i L#2 (32KB) cpuset=0x00000010
              Core L#2 cpuset=0x00000010
                PU L#2 (P#4) cpuset=0x00000010
        L2 L#3 (256KB) cpuset=0x00000040
          L1d L#3 (32KB) cpuset=0x00000040
            L1i L#3 (32KB) cpuset=0x00000040
              Core L#3 cpuset=0x00000040
                PU L#3 (P#6) cpuset=0x00000040
  NUMANode L#1 (P#1 4031MB) cpuset=0x000000aa
    Package L#1 cpuset=0x000000aa
      L3 L#1 (8192KB) cpuset=0x000000aa
        L2 L#4 (256KB) cpuset=0x00000002
          L1d L#4 (32KB) cpuset=0x00000002
            L1i L#4 (32KB) cpuset=0x00000002
              Core L#4 cpuset=0x00000002
                PU L#4 (P#1) cpuset=0x00000002
        L2 L#5 (256KB) cpuset=0x00000008
          L1d L#5 (32KB) cpuset=0x00000008
            L1i L#5 (32KB) cpuset=0x00000008
              Core L#5 cpuset=0x00000008
                PU L#5 (P#3) cpuset=0x00000008
        L2 L#6 (256KB) cpuset=0x00000020
          L1d L#6 (32KB) cpuset=0x00000020
            L1i L#6 (32KB) cpuset=0x00000020
              Core L#6 cpuset=0x00000020
                PU L#6 (P#5) cpuset=0x00000020
        L2 L#7 (256KB) cpuset=0x00000080
          L1d L#7 (32KB) cpuset=0x00000080
            L1i L#7 (32KB) cpuset=0x00000080
              Core L#7 cpuset=0x00000080
                PU L#7 (P#7) cpuset=0x00000080
  HostBridge L#0
    PCIBridge
      PCI 8086:10d3
        Net L#0 "eth1"
    PCIBridge
      PCI 8086:10fb
        Net L#1 "eth2"
      PCI 8086:10fb
    PCI 8086:10cc
      Net L#2 "eth0"
    PCIBridge
      PCI 102b:0522
    PCI 8086:3a20
      Block(Disk) L#3 "sda"
    PCI 8086:3a26

вот пример моей 2х процессорной машины , где шина вроде как общая 

lstopo -c
Machine (31GB total) cpuset=0x0000ffff
  NUMANode L#0 (P#0 16GB) cpuset=0x000000ff
    Socket L#0 cpuset=0x000000ff
      L3 L#0 (20MB) cpuset=0x000000ff
        L2 L#0 (256KB) cpuset=0x00000001
          L1d L#0 (32KB) cpuset=0x00000001
            L1i L#0 (32KB) cpuset=0x00000001
              Core L#0 cpuset=0x00000001
                PU L#0 (P#0) cpuset=0x00000001
        L2 L#1 (256KB) cpuset=0x00000002
          L1d L#1 (32KB) cpuset=0x00000002
            L1i L#1 (32KB) cpuset=0x00000002
              Core L#1 cpuset=0x00000002
                PU L#1 (P#1) cpuset=0x00000002
        L2 L#2 (256KB) cpuset=0x00000004
          L1d L#2 (32KB) cpuset=0x00000004
            L1i L#2 (32KB) cpuset=0x00000004
              Core L#2 cpuset=0x00000004
                PU L#2 (P#2) cpuset=0x00000004
        L2 L#3 (256KB) cpuset=0x00000008
          L1d L#3 (32KB) cpuset=0x00000008
            L1i L#3 (32KB) cpuset=0x00000008
              Core L#3 cpuset=0x00000008
                PU L#3 (P#3) cpuset=0x00000008
        L2 L#4 (256KB) cpuset=0x00000010
          L1d L#4 (32KB) cpuset=0x00000010
            L1i L#4 (32KB) cpuset=0x00000010
              Core L#4 cpuset=0x00000010
                PU L#4 (P#4) cpuset=0x00000010
        L2 L#5 (256KB) cpuset=0x00000020
          L1d L#5 (32KB) cpuset=0x00000020
            L1i L#5 (32KB) cpuset=0x00000020
              Core L#5 cpuset=0x00000020
                PU L#5 (P#5) cpuset=0x00000020
        L2 L#6 (256KB) cpuset=0x00000040
          L1d L#6 (32KB) cpuset=0x00000040
            L1i L#6 (32KB) cpuset=0x00000040
              Core L#6 cpuset=0x00000040
                PU L#6 (P#6) cpuset=0x00000040
        L2 L#7 (256KB) cpuset=0x00000080
          L1d L#7 (32KB) cpuset=0x00000080
            L1i L#7 (32KB) cpuset=0x00000080
              Core L#7 cpuset=0x00000080
                PU L#7 (P#7) cpuset=0x00000080
    HostBridge L#0
      PCIBridge
        PCIBridge
          PCIBridge
            PCI 8086:1d6a
              Block L#0 "sda"
              Block L#1 "sdb"
      PCIBridge
        PCI 8086:10fb
          Net L#2 "eth24"
        PCI 8086:10fb
          Net L#3 "eth25"
      PCIBridge
        PCI 8086:1521
          Net L#4 "eth0"
        PCI 8086:1521
          Net L#5 "eth1"
        PCI 8086:1521
          Net L#6 "eth2"
        PCI 8086:1521
          Net L#7 "eth3"
      PCIBridge
        PCI 102b:0522
      PCI 8086:1d00
      PCI 8086:1d08
  NUMANode L#1 (P#1 16GB) cpuset=0x0000ff00
    Socket L#1 cpuset=0x0000ff00
      L3 L#1 (20MB) cpuset=0x0000ff00
        L2 L#8 (256KB) cpuset=0x00000100
          L1d L#8 (32KB) cpuset=0x00000100
            L1i L#8 (32KB) cpuset=0x00000100
              Core L#8 cpuset=0x00000100
                PU L#8 (P#8) cpuset=0x00000100
        L2 L#9 (256KB) cpuset=0x00000200
          L1d L#9 (32KB) cpuset=0x00000200
            L1i L#9 (32KB) cpuset=0x00000200
              Core L#9 cpuset=0x00000200
                PU L#9 (P#9) cpuset=0x00000200
        L2 L#10 (256KB) cpuset=0x00000400
          L1d L#10 (32KB) cpuset=0x00000400
            L1i L#10 (32KB) cpuset=0x00000400
              Core L#10 cpuset=0x00000400
                PU L#10 (P#10) cpuset=0x00000400
        L2 L#11 (256KB) cpuset=0x00000800
          L1d L#11 (32KB) cpuset=0x00000800
            L1i L#11 (32KB) cpuset=0x00000800
              Core L#11 cpuset=0x00000800
                PU L#11 (P#11) cpuset=0x00000800
        L2 L#12 (256KB) cpuset=0x00001000
          L1d L#12 (32KB) cpuset=0x00001000
            L1i L#12 (32KB) cpuset=0x00001000
              Core L#12 cpuset=0x00001000
                PU L#12 (P#12) cpuset=0x00001000
        L2 L#13 (256KB) cpuset=0x00002000
          L1d L#13 (32KB) cpuset=0x00002000
            L1i L#13 (32KB) cpuset=0x00002000
              Core L#13 cpuset=0x00002000
                PU L#13 (P#13) cpuset=0x00002000
        L2 L#14 (256KB) cpuset=0x00004000
          L1d L#14 (32KB) cpuset=0x00004000
            L1i L#14 (32KB) cpuset=0x00004000
              Core L#14 cpuset=0x00004000
                PU L#14 (P#14) cpuset=0x00004000
        L2 L#15 (256KB) cpuset=0x00008000
          L1d L#15 (32KB) cpuset=0x00008000
            L1i L#15 (32KB) cpuset=0x00008000
              Core L#15 cpuset=0x00008000
                PU L#15 (P#15) cpuset=0x00008000
    HostBridge L#7
      PCIBridge
        PCIBridge
          PCIBridge
            PCI 8086:10c9
              Net L#8 "eth4"
            PCI 8086:10c9
              Net L#9 "eth5"
          PCIBridge
            PCI 8086:10c9
              Net L#10 "eth6"
            PCI 8086:10c9
              Net L#11 "eth7"
      PCIBridge
        PCI 8086:10fb
          Net L#12 "eth20"
        PCI 8086:10fb
          Net L#13 "eth21"
      PCIBridge
        PCI 8086:10fb
          Net L#14 "eth22"
        PCI 8086:10fb
          Net L#15 "eth23"

а вот тут как раз распределение по шинам

Изменено пользователем dee

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dee То есть мне проще soket 0 использовать для менеджмента а 1 - для extfilter? или наоборот лучше? 

UPD lstopo-no-graphics - зависает...

Изменено пользователем RadioSintetica

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

35 минут назад, RadioSintetica сказал:

dee То есть мне проще soket 0 использовать для менеджмента а 1 - для extfilter? или наоборот лучше? 

UPD lstopo-no-graphics - зависает...

У вас 6 ядерные процессоры. Используйте один процессор. Ядро 0 для системы, остальные для extfilter. Этим вы упростите работу по выделению памяти для dpdk, т.к. параметры при загрузке ядра по выделению huge pages работают только для первого процессора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 минут назад, max1976 сказал:

У вас 6 ядерные процессоры. Используйте один процессор. Ядро 0 для системы, остальные для extfilter. Этим вы упростите работу по выделению памяти для dpdk, т.к. параметры при загрузке ядра по выделению huge pages работают только для первого процессора.

Спасибо большое! Последний вопрос: как посчитать маску? как она считается? я вижу тут советуют людям 0101010101010101‬ = 21845 это я могу в калькуляторен. но вот где где взять сие магическое 0101010101010101‬ ? 

 

Вот есть у меня

cores =  [0, 8, 2, 10, 1, 9]
sockets =  [0, 1]

        Socket 0    Socket 1
        --------    --------
Core 0  [0]         [1]
Core 8  [2]         [3]
Core 2  [4]         [5]
Core 10 [6]         [7]
Core 1  [8]         [9]
Core 9  [10]        [11]
 

я в cmdline=isolcpus=2,4,6,8,10 изолирую. правильно же? А для extfiltra coremask мне как расчитать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 минуты назад, RadioSintetica сказал:

я в cmdline=isolcpus=2,4,6,8,10 изолирую. правильно же? А для extfiltra coremask мне как расчитать? 

По приведенным данным - правильно. Попробуйте поставить 21845 в качестве маски.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 минут назад, max1976 сказал:

По приведенным данным - правильно. Попробуйте поставить 21845 в качестве маски.

flowhash_size = 1048576 удалить? я почему про расчет спрашиваю - у меня 2 сервера разной конфигурации. вот и пытаюсь понять для себя как оно считается. чтоб меньше форум засорять. Да и кому то возможно это поможет. 

 

(EAL: invalid coremask на 21845)

Изменено пользователем RadioSintetica

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 минуты назад, RadioSintetica сказал:

flowhash_size = 1048576 удалить? я почему про расчет спрашиваю - у меня 2 сервера разной конфигурации. вот и пытаюсь понять для себя как оно считается. чтоб меньше форум засорять. Да и кому то возможно это поможет. 

В последних версиях нет такого параметра. Есть параметр в секции dpi:

[dpi]
max_active_flows_ipv4=1000000
max_active_flows_ipv6=20000

Это значения по умолчанию.

Для подбора значения смотрите логи extfilter в ЧНН. Там будет написано, какое количество flows обрабатывается. Ставьте значение, которое будет раза в 1,5-2 больше. Вот, например у меня в логе:

Цитата

2017-10-23 22:01:21.828 [9821] Information Application - All worker threads active flows: 193393 (IPv4 flows: 192220, IPv6 flows: 1173), deletet flows: 3250002265

Соответственно у меня выставлено:

[dpi]
max_active_flows_ipv4=400000

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976

queues = 0,2; 1,4; 2,6; 3,8; 4,10 правильно же? (но с такими очередями вылетает: Aborted) 

Делаю queues = 0,1; 1,2; 2,3; 3,4; 4,5 - работает...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, RadioSintetica сказал:

max1976

queues = 0,2; 1,4; 2,6; 3,8; 4,10 правильно же? (но с такими очередями вылетает: Aborted) 

Делаю queues = 0,1; 1,2; 2,3; 3,4; 4,5 - работает...

 

Какую точно ошибку выдает при запуске с первыми параметрами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вылетает наверно сам дпдк из-за не выделенной памяти  , типа того :

cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages # cpuid0

cat /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages # cpuid1

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976 При queues = 0,2; 1,4; 2,6; 3,8; 4,10 и core_mask = 21845 

EAL: Detected 12 lcore(s)
EAL: lcore 12 unavailable
EAL: invalid coremask

(параметры)

EAL: FATAL: Invalid 'command line' arguments.
EAL: Invalid 'command line' arguments.
Exception: Can't initialize EAL - invalid EAL arguments

 

при core_mask = 2047 и 

queues = 0,2; 1,4; 2,6; 3,8; 4,10 

 

EAL: Detected 12 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket -1
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:04:00.1 on NUMA socket -1
EAL:   probe driver: 8086:10fb net_ixgbe
acl context <extFilter-ipv4-acl0-0>@0x7f0f3f35c100
  socket_id=0
  alg=2
  max_rules=100000
  rule_size=96
  num_rules=49
  num_categories=1
  num_tries=1
acl context <extFilter-ipv4-acl1-0>@0x7f0cff6d8000
  socket_id=1
  alg=2
  max_rules=100000
  rule_size=96
  num_rules=49
  num_categories=1
  num_tries=1
PMD: ixgbe_dev_link_status_print(): Port 0: Link Up - speed 0 Mbps - half-duplex
Aborted

 

 

 

 

 

9 минут назад, dee сказал:

вылетает наверно сам дпдк из-за не выделенной памяти  , типа того :

cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages # cpuid0

cat /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages # cpuid1

 

cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
8

cat /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
8

 cat /usr/lib/tuned/dpdk-tune/tuned.conf
[main]
include=latency-performance

[bootloader]
cmdline=isolcpus=2,4,6,8,10 default_hugepagesz=1G hugepagesz=1G hugepages=16

 

2017-10-24 15:09:37.084 [3286] Information Application - Initializing dpi flow hash with ipv4 max flows 200000, ipv6  max flows 4000.
2017-10-24 15:09:37.085 [3286] Information Application - Create pool 'URLPool-10' for urls with number of entries: 40800, size: 24520800 bytes
2017-10-24 15:09:37.088 [3286] Information Application - Create pool 'DPIPool-10' for http dissector with number of entries: 40800, size: 1305600 bytes
2017-10-24 15:09:37.107 [3286] Fatal WorkerThread-10 - Not enough memory for flows pool. Tried to allocate 71808000 bytes
2017-10-24 15:09:37.107 [3286] Error Application - Exception: Not enough memory for flows pool
 

 

Может ему при загрузке память отдавать только на одну ноду?

 

echo 31 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Судя по тому что hugepages разделяются по обоим нодам пропорционально - может и выдавать руками? 

echo 31 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepags ?

при 0,1; 1,2; 2,3; 3,4; 4,5 - allports.missed_packets=0... 

 

а нет... 896.67 K pps - 270 пропущеных...

Изменено пользователем RadioSintetica

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

48 минут назад, RadioSintetica сказал:

Судя по тому что hugepages разделяются по обоим нодам пропорционально - может и выдавать руками? 

Выделите на 0 процессоре больше памяти под huge pages и попробуйте запустить.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

13 минут назад, max1976 сказал:

Выделите на 0 процессоре больше памяти под huge pages и попробуйте запустить.

 

 cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
28

 

2017-10-24 16:34:51.050 [3176] Information Application - Initializing dpi flow hash with ipv4 max flows 1600000, ipv6  max flows 800000.
2017-10-24 16:34:51.057 [3176] Information Application - Create pool 'URLPool-10' for urls with number of entries: 480000, size: 288480000 bytes
2017-10-24 16:34:51.097 [3176] Information Application - Create pool 'DPIPool-10' for http dissector with number of entries: 480000, size: 15360000 bytes
2017-10-24 16:34:51.317 [3176] Fatal WorkerThread-10 - Not enough memory for flows pool. Tried to allocate 844800000 bytes
2017-10-24 16:34:51.318 [3176] Error Application - Exception: Not enough memory for flows pool
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.