uredir
— небольшой демон Linux для перенаправления UDP-соединений. Его можно использовать для перенаправления соединений в небольших и встроенных системах, которые не имеют (или не хотят использовать) iptables.
uredir
можно использовать со встроенной службой inetd в Finit для прослушивания, например, соединений SNMP, на некоторых (безопасных) интерфейсах и пересылки демону SNMP в режиме обратной связи.
uredir
задерживается на три (3) секунды после пересылки ответа. Это делается для того, чтобы inetd не создавал новые экземпляры для нескольких соединений, например, при обходе SNMP.Информацию о перенаправителе TCP-порта см. в разделе redir.
uredir [-hinsv] [-I NAME] [-l LEVEL] [-t SEC] [SRC:PORT] DST:PORT
-h Show this help text
-i Run in inetd mode, get SRC:PORT from stdin, implies -n
-I NAME Identity, tag syslog messages with NAME, default: uredir
-l LVL Set log level: none, err, info, notice (default), debug
-n Run in foreground, do not detach from controlling terminal
-s Use syslog, even if running in foreground, default w/o -n
-t SEC Timeout for connections, default 3 seconds
-v Show program version
Bug report address: https://github.com/troglobit/uredir/issues
Этот простой пример UDP-прокси перенаправляет входящие DNS-запросы на любом интерфейсе на внешний DNS-сервер по адресу 192.168.0.1:
uredir :53 192.168.0.1:53
Чтобы запустить uredir
из монитора процесса, такого как Finit или systemd, скажите ему, чтобы он не работал в фоновом режиме и использовал системный журнал только для сообщений журнала:
uredir -ns :53 127.0.0.1:53
Чтобы запустить uredir
в режиме inetd, например, для перенаправления запросов SNMP, попробуйте следующее. Запускается на переднем плане, как это требуется для служб inetd, и использует системный журнал для регистрации:
snmp dgram udp wait root uredir -i 127.0.0.1:16161
uredir
предназначен для систем Linux и должен быть построен на основе любой (старой) библиотеки C. Однако uredir
v3.0 и более поздних версий требуется внешняя библиотека libuEv. Его установка не должна преподнести сюрпризов, поскольку он также использует стандартный сценарий configure
и поддерживает pkg-config
. Последний используется сборкой uredir
для поиска библиотеки и файлов заголовков.
Следовательно, обычного ./configure && make
обычно достаточно для сборки uredir
. Но если libuEv установлен в нестандартном месте, вам может потребоваться указать путь:
PKG_CONFIG_PATH=/opt/lib/pkgconfig:/home/ian/lib/pkgconfig ./configure
make
Проект uredir
имеет открытый исходный код под лицензией ISC и активно поддерживается на GitHub. Пожалуйста, используйте его интерфейс для сообщения об ошибках и запросов на включение.
uredir
был во многом вдохновлен Redir(1) Сэма Кризи.