uredir
v3.3
uredir
是一個小型 Linux 守護進程,用於重定向 UDP 連線。它可用於在沒有(或想要使用)iptables 的小型嵌入式系統上轉發連線。
uredir
可以與 Finit 中的內建 inetd 服務一起使用,以在某些(安全)介面上偵聽(例如 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 請求轉送到 192.168.0.1 上的外部 DNS 伺服器:
uredir :53 192.168.0.1:53
要從 Finit 或 systemd 等進程監視器運行uredir
,請告訴它本身不要後台運行,並且僅使用 syslog 來記錄日誌訊息:
uredir -ns :53 127.0.0.1:53
若要在 inetd 模式下執行uredir
,例如重定向 SNMP 請求,請嘗試以下操作。根據 inetd 服務的需要在前台運行,並使用 syslog 進行日誌記錄:
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
很大程度上受到 Sam Creasey 的 redir(1) 的啟發。