... Накидал простейший пример использования cxnet в виде userspace tarpit. Использовать (сначала make install в cxnet):
# iptables -I ... -j QUEUE # tarpit.py Ignore packet to a non-existent connexion from from 10.0.254.13:3689 (slot d281, not connected) Create connexion slot d9c3 for 10.0.254.13:1840 -> 192.168.0.1:22100 Send keep-alive for slot d9c3 Send keep-alive for slot d9c3 Send keep-alive for slot d9c3 Ignore packet to a non-existent connexion from from 10.0.254.13:4022 (slot 89e5, not connected) Send keep-alive for slot d9c3 ... Оно не демон, оно даже не оптимизировано и дебаг там всегда: это просто пример того, что можно делать. Нормальную версию в смысле демонизации и скорости на днях оформлю в виде модуля к connexion. Если кому интереснее -j NFQUEUE, расскажите мне протокол NETLINK_NETFILTER :)) Я пока не копался глубоко, а на поверхности внятной документации не лежит. (Сцылки на libnfnetilnk давать не стоит -- я его уже читал :) Всё это затеяно, на самом деле, не в пику C и libnfnetlink, скорее, просто как лёгкий для понимания и разработки фреймворк, который ориентирован на негигабитные скорости (хотя при должном подходе и на питоне скорость у userspace стэка может быть очень даже на уровне). Сие можно использовать либо для неспешных задач вроде tarpit, либо для работы с сетевой конфигурацией (netlink), либо для образовательных целей -- если кто сеть изучает, то в интерактивном режиме питона cxnet позволит довольно легко разобраться с сетевыми протоколами и их работой. ЗЫ: в Сизиф рано или поздно соберу. -- Peter V. Saveliev _______________________________________________ Sysadmins mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
