uredir
é um pequeno daemon Linux para redirecionar conexões UDP. Ele pode ser usado para encaminhar conexões em sistemas pequenos e embarcados que não possuem (ou desejam usar) iptables.
uredir
pode ser usado com o serviço inetd integrado no Finit para escutar, por exemplo, conexões SNMP, em algumas interfaces (seguras) e encaminhar para um daemon SNMP em loopback.
uredir
permanece por três (3) segundos após encaminhar uma resposta. Isto evita que o inetd gere novas instâncias para múltiplas conexões, por exemplo, um passeio SNMP.Para um redirecionador de porta TCP, consulte 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
Este exemplo simples de proxy UDP encaminha solicitações DNS de entrada em qualquer interface para um servidor DNS externo em 192.168.0.1:
uredir :53 192.168.0.1:53
Para executar uredir
a partir de um monitor de processo como Finit ou systemd, diga-lhe para não usar o segundo plano e usar apenas o syslog para mensagens de log:
uredir -ns :53 127.0.0.1:53
Para executar uredir
no modo inetd, por exemplo, para redirecionar solicitações SNMP, tente o seguinte. Executa em primeiro plano, conforme necessário para serviços inetd, e usa syslog para registro:
snmp dgram udp wait root uredir -i 127.0.0.1:16161
uredir
é adaptado para sistemas Linux e deve ser compilado em qualquer biblioteca C (antiga). No entanto, uredir
v3.0 e posteriores requerem uma biblioteca externa, libuEv. A instalação não deve apresentar surpresas, pois ele também usa um script configure
padrão e suporta pkg-config
. Este último é usado pela construção uredir
para localizar a biblioteca e os arquivos de cabeçalho.
Portanto, o ./configure && make
regular geralmente é suficiente para construir uredir
. Mas se o libuEv estiver instalado em um local não padrão, talvez seja necessário fornecer o caminho:
PKG_CONFIG_PATH=/opt/lib/pkgconfig:/home/ian/lib/pkgconfig ./configure
make
O projeto uredir
é de código aberto sob a licença ISC e mantido ativamente no GitHub. Use sua interface para relatar bugs e solicitações pull.
uredir
foi fortemente inspirado em redir(1), de Sam Creasey.