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マシンからそのアプリケーションにアクセスすることはできません。
間違いをしたり、何かを逃したりしませんか?
まず、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を再起動します
動作しない場合は、他のネットワーク設定を確認する必要があります。
以下の設定は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