特定の宛先アドレスの特定のポートに送信されたすべての要求が同じシステムの特定のポートに(透過的に接続アプリケーションに)リダイレクトされるように、ファイアウォール構成ルールを設定する必要があります。私はこのiptables
コマンドを知っており、以前は他のシステムでFirewallDと連携するように設定しました。
問題は、今回はOpenSuse(Leap)で設定する必要があるということです。コマンドを実行して動作してiptables
いることを確認できます。もちろん、問題は設定が持続せず、再起動時に失われることです。
私はOpenSuseがというものを使用し、特定の関数内のファイルにルールを追加してカスタムルールを設定できることを学びましたSuseFirewall2
。私はこれを試しましたが、何も動作しないようです。また、 の設定が に設定されていることを確認しました。iptables
/etc/sysconfig/scripts/SuSEfirewall2-custom
FW_CUSTOMRULES
/etc/sysconfig/SuSEfirewall2
/sbin/SuSEfirewall2
/etc/sysconfig/scripts/SuSEfirewall2-custom
オンラインで役に立つ情報がたくさん見つからず、この問題を解決する方法がわかりません。私は明らかなものを見逃していますか?私が試すべきことの提案も歓迎します。
理想的には、この問題を完全に捨てて純粋なスクリプトに置き換えるSuseFirewall2
よりも、設定でこの問題を修正したいと思います。iptables
答え1
修正する
この主な詳細を見逃しました。リダイレクトしたいです。同じマシンで。SuSEFirewall2は実際にこれをサポートしていません。。
したがって、エイリアスインターフェイスを作成し、実際のインターフェイスからエイリアスにリダイレクトするか、既存のiptables
ルールを適切なスクリプトに配置します。
これは/etc/sysconfig/network/scripts/firewall
「net-reconfig-done」セクションにあります。
net-reconfig-done)
[ "$FIREWALL" = 'yes' ] || exit 2
sfw2_active || exit 3
/sbin/SuSEfirewall2 --bootunlock start
/usr/sbin/iptables ...YOUR_RULES...
ただし、次のアップグレード中に上書きされる危険性があります。または、実行レベル5にあるとし、init.dでカスタム実行可能起動スクリプトを準備します(既存のスクリプトの1つからコピーできます)。
# runlevel
5
それからrc5.dを使って
/etc/init.d/rc5.d/S55Redirector
スクリプトの主な部分は次のとおりです。
case "$1" in
start)
echo -n "Applying redirect rules"
/usr/sbin/iptables ...YOUR_RULES...
/usr/sbin/iptables ...YOUR_RULES...
/usr/sbin/iptables ...YOUR_RULES...
rc_status -v
;;
古い回答
正しく機能していることを確認する最速の方法は、設定から始めることですyast
。
ルートシェルから:
yast
左側のメニューから「セキュリティ」を選択し、右側の「ファイアウォール」から始めます。
許可されたサービスが受け入れる必要があるサービスを追加します。
特定のSuSEバージョンに応じて「Masquerading」に進みます。ここでは、宛先ホストと宛先ポートを指定できる必要があります。
幸いなことに、私の唯一のLEAPシステムと唯一の他のLEAPシステムは自宅にあり、現在シャットダウンされており、他のシステムにはファイアウォールがないため、3番目のスクリーンショットを確認または提供することはできません。
あなたのカスタムルールは正しいようですが、設定ファイル(ここにある必要があります/etc/sysconfig/SuSEfirewall2.d/services
)から着信パケットを許可することを忘れました。それでもうまくいかない場合は、返信を送信できます([Eメール保護])木曜日の後に家に帰ります。