воскресенье, 22 мая 2011 г.

Сетевой прокси редиректор CLANPER (прототип)

Существует такая программка, которая называется rinetd. Смысл её заключается в том, чтобы как-то "легко пробрасывать порты". Я даже пытался её использовать на одном сервере, но через некоторое время она начинала грузить процессор на полную, да и не работала при этом. Гугление ни к чему хорошему не привело, поэтому я просто решил потестить iolib и сделать свой порт редиректор. Собственно, что-то получилось. Конечно, сам код далёк от совершенства, но я его уже запустил у себя на том сервере вместо rientd. Пока полёт нормальный.

Полученное на данный момент решение обладает рядом недостатков:

  • не ведётся лог;
  • не работает с udp портами;
  • не реализованы ACL;
  • ну и стандартная проблема для такого рода редиректоров, которая не может быть решена - сервер, куда редиректятся запросы, не может определить IP клиента, потому что IP будет сервер, с которого редиректятся запросы.

Исходные коды.

2 комментария:

  1. Да, конечно. :) Только начнём с того, что netfilter есть не везде, точнее, везде свой. :)

    ОтветитьУдалить