使いやすいですiptables
。Richard Fergieは、この記事で次のように説明します。ただし、My Device Synology DS115j(DSM 5.0を実行)は明らかにこれを行うことはできません。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
返品
iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
nat
ポート転送にこのテーブルを使用する必要がありますか?これはゲートウェイではなく、他のデバイスに転送したくないだけで、他のローカルポートに転送したいだけです。
コンテキスト:
- 私の目標は、サーバーをrootとして実行する必要がないように、権限のないポートでサーバーを実行することです。
- 知っていますが、
setcap
Synologyauthbind
NAS(DSM5)ではこれらの機能を使用できません。 - Synology DS115jもサポートしていません。ルーストアバウト。
答え1
Synology ファイアウォールがまだ nat を使用していない場合、必要なカーネルモジュールがアクティブになっていない可能性があるため、-t nat
テーブルが見つかりません。ルートでなければなりません。
cd /lib/modules
insmod nf_nat.ko
insmod iptable_nat.ko
insmod ipt_REDIRECT.ko
これにより、iptables -L -t nat
空のリンクが一覧表示され、lsmod|grep nat
モジュールが表示され、ルールを追加できます。
答え2
Synology Os(DSM)は、iptables dumpというプライベートソースバイナリを使用してfirewalltool
iptablesダンプを再設定します。/usr/syno/etc/rc.d/S01iptables.sh
とを見ながら、内部の動作を理解するのに時間がかかりますが/etc/firewall
、DSMアップデートが手動の変更を上書きできることに注意してください。