Добрый день, коллеги!Возникла потребность в заголовки некоторых TCP/IP пакетов, проходящих через Linux маршрутизатор, добавить поле Options. Содержимое поля известно и статично. Каким инструментом это можно сделать, например, может, через пока неизвестное мне расширение iptables? Что бы пакет входил в него как есть, а выходил с уже с прикрученным Options.
> Добрый день, коллеги!
> Возникла потребность в заголовки некоторых TCP/IP пакетов, проходящих через Linux маршрутизатор,
> добавить поле Options. Содержимое поля известно и статично. Каким инструментом это
> можно сделать, например, может, через пока неизвестное мне расширение iptables? Что
> бы пакет входил в него как есть, а выходил с уже
> с прикрученным Options.из дефолтного наверное только это. Остальное наверное через написание target для netfilter
https://www.man7.org/linux/man-pages/man8/tc-pedit.8.html
https://www.man7.org/linux/man-pages/man8/tc-actions.8.html
Емнип ничем. Да ещё и MTU учитывать...
Самое реальное правильно подсказали - писать свой target или плагин к tc.
https://serverfault.com/questions/1056031/is-there-a-way-to-...I've eventually done it with two iptables modules - ipt-so and iptables-OVERWRITE, they can be found on Github.
ipt-so module adds ability to filter packets based on their 130 option values (and hence, mark them to modify afterwards)
OVERWRITE simply writes specified byte in packet at specified offset
That's not a proper way and it's very unstable. Also, I'm unsure about performance, but it's only possible way without implementing special module for netfilter.