Как связать с привилегированным портом из процесса без полномочий root, на NAS Synology

Я хочу запустить собственный DNS-сервер ( точнее, NxFilter ) на NAS Synology DS115j , который, конечно же, связывается с портом 53. Это работает при запуске с правами администратора, но сейчас я хочу заблокировать процесс.

Это NAS использует насыщенный набор возможностей linux (используя DSM5 на языке Synology). Я установил Java с пакетом Java Manager. Теперь я ищу способ запустить java-процесс под учетной записью, отличной от root, но все же позволяя ей связываться с привилегированным портом 53.

Я рассмотрел этот замечательный ответ: https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443, но это не работает в моем окне Synology , У меня также нет setcap и authbind .

Таким образом, возникает вопрос: как конкретно разрешить процессу / двоичному файлу привязываться к привилегированному порту в linux busybox?

Примечание: Это мой первый вопрос, пожалуйста, будьте осторожны с noob.

У вас есть доступ к iptables, я смутно помню, что ящики Synology NAS делают? Если это так, вы можете переадресовать с помощью этого: –

 iptables -I INPUT 1 -p tcp --dport 53 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 7000 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 53 -j REDIRECT --to-port 7000 

Строка 1 добавляет открытие к порту 53. В строке 2 добавляется открытие для порта 7000, которое вы должны установить, чтобы ваше приложение Java использовало строку 3, добавляет перенаправление, что любой входящий трафик на порт 53 направляется на порт 7000.

надеюсь, это поможет