post-factum Posted August 26, 2016 · Report post Есть вредная железка X, которую нужно мониторить по SNMP и которая в упор не отвечает на IP-пакеты с флагом DF (баг в прошивке, который неизвестно как, когда и кто пофиксит). Есть софт, живущий в контейнере (systemd-nspawn), который опрашивает snmpget'ом разные железки, в том числе и железку X. Проблема в том, что все пакеты от софта в контейнере шлются с установленным флагом DF. Если на гипервизоре выставить ip_no_pmtu_disc=1 и запустить софт прямо на том же гипервизоре, а не в контейнере, то всё работает. Однако ip_no_pmtu_disc=1 не влияет на софт в контейнере — пакеты всё равно шлются с флагом DF. Как быть? Проверялось на Arch'е, CentOS'е 7, Ubuntu в systemd-nspawn и docker'е — везде одно и то же. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted August 27, 2016 · Report post Только патчить ядро и iptables, есть такой таргет. Последнее виденое мною ядро, на который оный накладывался - 3.2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
post-factum Posted August 27, 2016 · Report post Мне тут посоветовали попробовать сделать трюк с обработкой пакета в юзерспейсе через nfqueue. Ещё нашёл упоминание того, что tc тоже может менять поля IP-пакета, правда, пока завести не получилось. Можно ссылку на модуль? В крайнем случае попробую портировать на 3.10. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
post-factum Posted August 27, 2016 (edited) · Report post Собственно, решение на NFQUEUE вот. Похоже, что работает. В рабочей обстановке будем тестить с понедельника. Edited August 27, 2016 by post-factum Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted August 28, 2016 · Report post Вот патч DF для iptables и ядра 3.2 df.tar.gz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
post-factum Posted August 28, 2016 · Report post Спасибо. Модуль на 4.7 с кое-какими корректировками собрался, что дальше — пока не пробовал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
post-factum Posted August 29, 2016 · Report post Решение с NFQUEUE проверили в рабочей обстановке — проблем не замечено. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alex_001 Posted August 29, 2016 · Report post man ip-route mtu lock MTU the MTU along the path to the destination. If the modifier lock is not used, the MTU may be updated by the kernel due to Path MTU Discovery. If the modifier lock is used, no path MTU discovery will be tried, all packets will be sent without the DF bit in IPv4 case or fragmented to MTU for IPv6. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
post-factum Posted August 29, 2016 · Report post А это ещё интереснее. Спасибо, так тоже работает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...