web-dev-qa-db-ja.com

centOSでポートを開く方法

CentOSのポート8080で実行されているWebアプリケーションをインストールしました。そのマシンへのコマンドラインアクセス(PuTTY経由)しかありません。 PuTTYを介して接続しているWindowsマシンからそのアプリケーションにアクセスしようとしましたが、接続タイムアウトエラーが発生しています。

次に、ポート8080を開こうとしました。次のエントリをiptablesに追加しました。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

これをiptablesに追加した後、-/etc/init.d/iptables restartで再起動しました

それでも、Windowsマシンからそのアプリケーションにアクセスすることはできません。

間違いをしたり、何かを逃したりしませんか?

47
Niraj Chapla

まず、selinuxを無効にし、ファイル/etc/sysconfig/selinuxを編集して、次のようにします。

SELINUX=disabled
SELINUXTYPE=targeted

ファイルを保存してシステムを再起動します。

次に、新しいルールをiptablesに追加できます。

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT

/etc/init.d/iptables restartでiptablesを再起動します

動作しない場合は、他のネットワーク設定を確認する必要があります。

40
jabaldonedo

以下の設定はCent OS 6以前で動作します

上記のように、最初にselinuxを無効にする必要があります。

ステップ1 nano/etc/sysconfig/selinux

ファイルにこの構成があることを確認してください

SELINUX=disabled

SELINUXTYPE=targeted

その後、システムを再起動します

ステップ2

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT

ステップ

Sudo service iptables save

Cent OS 7の場合

ステップ1

firewall-cmd --zone=public --permanent --add-port=8080/tcp

ステップ2

firewall-cmd --reload
73