У меня есть настройки системы, как это -

Интернет <--------------> (eno1) Сравнение A (192.168.151.19) (eth1) <----------> (eth1) Сравнение B (192.168. 151,15)

eno1 и eth1 соединены. Comp B выход в интернет через компьютер A

Рассмотрим сценарий 1:

Нет правил брандмауэра на Comp A. Это похоже на обычное сквозное соединение TLS

Запрос скручивания для facebook.com принимает следующую логистику -

sudo SSLKEYLOGFILE=/home/test/FINALDEMO/keylog.txt ./sslkeylog.sh curl -S -k -v -w "@curl-format.txt" --tlsv1.2 https://facebook.com


    time_namelookup:  0.022945
       time_connect:  0.043648
    time_appconnect:  0.117821
   time_pretransfer:  0.117884
      time_redirect:  0.000000
 **time_starttransfer:  0.137791**  (Imp)
       size_download:  0
      size_header:    312
                    ----------
         **time_total:  0.137868**

Сценарий 2:

На Comp A присутствуют некоторые правила брандмауэра

  1. Отбросить все пакеты данных приложения TLS (разрешено подтверждение связи TLS и изменение шифра)
  2. Разрешить пакеты данных приложения для пары IP-адресов, когда comp A получит файл через rsync с компьютера B. Обработайте файл и добавьте правила брандмауэра через ipset (файл, отправленный с comp A, содержит IP-адрес для добавления в брандмауэр)

Чтобы выполнить эти два шага, у меня есть bash-скрипты, которые делают это автоматически. Время, необходимое для передачи файла через rsync, составляет в среднем 0,29 секунды, а время, необходимое для обработки файла и добавления правил брандмауэра, составляет 0,03 секунды.

Скручивание запроса на facebook.com занимает следующую логистику -

    time_namelookup:  0.010086
       time_connect:  0.024921
    time_appconnect:  0.096774
   time_pretransfer:  0.096860
      time_redirect:  0.000000
 **time_starttransfer:  1.851846**  (Imp)
       size_download:  0
      size_header:    312
                    ----------
         **time_total:  1.851923**

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

Может кто-нибудь предложить лучшие методы отладки или понять, почему это может происходить?

Редактирование 1: в сценарии 2 пакеты приложения TLS отбрасываются через модуль u32. Я проверяю заголовок TLS пакета, используя модуль u32 и основываясь на этом отбрасывании пакета.

Изменить 2: захват пакета для запроса скручивания на https://yts.ag здесь

https://drive.google.com/open?id=0Bz5corUPBatBdXhCZldxUWp6S2c

0