Udprelay реализует тривиальную симметричную ретрансляцию UDP. После запуска он «открывает» два UDP-порта и ждет клиентов. Когда клиенты подключены, инструмент отправляет данные, полученные от одного из них, другому и наоборот. Типичный вариант использования — разрешить UDP-клиентам, находящимся за разными NAT, общаться друг с другом.
Одно (и, возможно, единственное) приложение — помочь клиенту Mosh подключиться к серверу Mosh за NAT, оставаясь при этом за другим NAT. Подробности описаны в этом ответе StackOverflow.
Для сборки просто make install
. Единственный режим работы:
$ udprelay bind-ip port-a port-b
bind-ip
— это IP-адрес, к которому необходимо привязать оба порта (например, 0.0.0.0), port-a
и port-b
— это UDP-порты, от которых нужно ожидать сообщений.
port-a
и port-b
. Вместо этого он просто отправляет данные одной руки на последний замеченный адрес другой руки.Следующие инструменты могут оказаться полезными:
strace
tcpdump -i IFACE udp portrange PORTA-PORTB -vv -X -n
На основе программы udp_redirect
C Ивана Тихонова.