Synology NASの非ルートプロセスで特権ポートにバインドする方法

Synology NASの非ルートプロセスで特権ポートにバインドする方法

カスタムDNSサーバーを実行したい(Nxフィルタ正確に言うと)シノロジーDS115j NAS、もちろんポート53にバインドされます。これはrootとして実行すると機能しますが、今プロセスをロックしたいと思います。

NAS は、ビジーボックス版の Linux (Synology 用語で DSM5 を使用) を実行します。 Java Managerパッケージを使用してJavaをインストールしました。これで、特権ポート53にバインドできるようにしながら、root以外のアカウントでJavaプロセスを実行する方法を探しています。

私はこの素晴らしい答えを調べました。https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443しかし、私のSynologyボックスでは動作しません。私はsetcap両方ありませんauthbind

質問は次のとおりです。プロセス/バイナリをbusybox Linuxの特権ポートにバインドすることを具体的に許可するには?

答え1

iptablesにアクセスできますか? Synology NAS ボックスに iptables があることを、どんどん覚えています。その場合は、次のコマンドを使用してリダイレクトできます。

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.

関連情報