Centos 7のポートの転送


9

私はCentOS 7サーバーで作業しており、JBossを希望どおりに動作させようとしています。私はJava 8とJBoss(乱暴)8を実行しています。これらをインストールしてデフォルトのポートで動作させていますが、JBossをポート80で動作させたいのですが、ポート80で動作させることもできます。ルートとして実行しますが、それは良い考えではないことを知っており、ルートとして実行したくありません。

ポート80を8080に転送しようとしましたが、動作しません。足りないステップがあるようですが、足りないものはわかりません。

firewall-cmdを使用しています。両方のポート(80と8080)を開いて、パブリックゾーンのマスカレードを有効にしました。このコマンドを使用してポートを転送しました

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

私が見逃しているものはありますか?


その前でhttpdまたはnginxを実行することの何が問題になっていますか?
マイケルハンプトン

何も、私がそれを助けることができるならば、そのようにそれをしないようにしようとしていました。
zzzsys 14

回答:


10

私はこれを可能にする方法を見つけました:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent

1
あなたのための正しい+1。私はここにたどり着くために多くの苦労をしなければなりませんでした。
グル、

FirewallDが実行されていない
Steve Yakovenko

@SteveYakovenkoそれからそれを始めることは良い最初のステップです。
just_user

0

firewall-cmdのadd-forward-portは、PREROUTINGNATチェーンにルールを追加します。これは、外部で生成されたパケットにのみ適用されます。サーバーのポート80でlocalhost(またはサーバーのローカルIP)に接続しようとしている場合、これらのパケットは通過しないため、失敗しPREROUTINGます。

外部ソースからポート80に接続しているfirewall-cmd場合、リストされているは正しく動作するはずです。インターフェイスが実際に「パブリック」ゾーンにあることを確認することをお勧めします。

次のコマンドを実行して、ルールのパケット数を取得し、実際にヒットしていることを確認することもできます。

iptables -t nat -vnL | grep 8080 -B1

試行ごとにパケット数が増加する場合、ファイアウォールは適切に機能しており、ファイアウォールを超えていくつかの問題があります(おそらくJBOSSのACL?)。パケットが試行ごとに増加しない場合、ファイアウォールルールはまったくヒットしていないため、間違ったゾーンにいるか、ポート転送ルールを優先する他のルールがあることを示しています。


よろしくお願いします。接続は外部ソースからのものです。
zzzsys 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.