У меня есть настройки системы, как это -
Интернет <--------------> (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 присутствуют некоторые правила брандмауэра
- Отбросить все пакеты данных приложения TLS (разрешено подтверждение связи TLS и изменение шифра)
- Разрешить пакеты данных приложения для пары 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