CentOS 7を使用しています。ポート2888と3888が開いていることを確認する必要があります。
私は この記事を読みます しかし、CentOS 7 OSにはiptables save
コマンドがないので、これはうまくいきませんでした。
誰かが上記のURLはCentOS 7には有効ではないと私に言いました、そして私は これ に従うべきです。 しかし、この記事では、どのコマンドを実行する必要があるのか正確にはわかりません。
私も見つけました
firewall-cmd --zone=public --add-port=2888/tcp
しかし、これは再起動後も生き残れません。
それでは、どうやってポートを開いてリブート後も生き残ることができるでしょうか。
アクティブゾーンを見つけるには、このコマンドを使用します。
firewall-cmd --get-active-zones
それは、public、dmz、または何か他のものを言います。あなたが必要なゾーンにのみ適用する必要があります。
一般公開の場合は
firewall-cmd --zone=public --add-port=2888/tcp --permanent
それから変更を有効にするためにファイアウォールをリロードすることを忘れないでください。
firewall-cmd --reload
それ以外の場合は、たとえばゾーンがdmzの場合は、自分のゾーンをpublicに置き換えます。
firewall-cmd --zone=dmz --add-port=2888/tcp --permanent
ganeshragav による答えは正しいですが、あなたが使うことができることを知っておくと便利です。
firewall-cmd --permanent --zone=public --add-port=2888/tcp
が既知のサービスであれば、次のものを使用できます。
firewall-cmd --permanent --zone=public --add-service=http
その後、ファイアウォールをリロードします
firewall-cmd --reload
[Martin Peterのコメントを反映するように回答を修正、元の回答はコマンドラインの最後に--permanent
がありました]
CentOS(RHEL)7は、ファイアウォールを、firewall-cmd
を使用するように変更しました。これは、WindowsバージョンのPublic、Home、およびPrivateネットワークのようなゾーンの概念を持ちます。 ここ を見て、どれを使うべきだと思うかを見つけてください。 EL7はデフォルトでpublic
を使用しているので、以下の例ではこれを使用しています。
どのゾーンを使用しているかをfirewall-cmd --list-all
で確認し、それをfirewall-cmd --set-default-zone=<zone>
で変更できます。
これで、どのゾーンでサービス(またはポート)を許可するのかがわかります。
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
次のコマンドを実行して、ポートが実際に開かれているかどうかを確認できます。
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
ドキュメンテーション によると、
パーマネントモードでファイアウォールの設定を変更した場合、の選択は、ファイアウォールをリロードするかシステムを再起動したときに有効になります。
ファイアウォール設定はfirewall-cmd --reload
でリロードできます。
Fedora、iptables
経由でやりました
Sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
Sudo service iptables save
働くようだ
開いているポートを表示するには、次のコマンドを使用します。
firewall-cmd --list-ports
私たちはポートが開いているサービスを見るために以下を使います。
firewall-cmd --list-services
私たちは、ポートが開いているサービスと開いているポートを見るために以下を使います。
firewall-cmd --list-all
ファイアウォールにサービスを追加するには、次のコマンドを使用します。この場合、サービスはファイアウォールで開くために任意のポートを使用します。
firewall-cmd --add-services=ntp
このサービスを永続的に開くには、次のコマンドを使用します。
firewall-cmd —add-service=ntp --permanent
ポートを追加するには、次のコマンドを使用します。
firewall-cmd --add-port=132/tcp --permanent
ファイアウォールを実行するには、次のコマンドを使用してリロードする必要があります。
firewall-cmd --reload
ヤアリ
ganeshragav および Sotsir は直接に適用可能な正しいアプローチを提供しますが、/etc/firewalld/services
に独自のサービスを追加できることに注意することは有用です。インスピレーションを得るために、firewalldの事前定義サービスがある/usr/lib/firewalld/services/
を見てください。
この方法の利点は、サービスファイルで説明したように、後でこれらのポートが開いている理由がわかることです。また、タイプミスの危険なしにそれを任意のゾーンに適用することができます。さらに、サービスへの変更をすべてのゾーンに個別に適用する必要はなく、サービスファイルだけに適用する必要があります。
たとえば、/etc/firewalld/services/foobar.xml
を作成できます。
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FooBar</short>
<description>
This option allows you to create FooBar connections between
your computer and mobile device. You need to have FooBar
installed on both sides for this option to be useful.
</description>
<port protocol="tcp" port="2888"/>
<port protocol="tcp" port="3888"/>
</service>
(構文については、man firewalld.service
を実行してください。)
このファイルが作成されたら、firewall-cmd --reload
を使用可能にしてから、次のコマンドで恒久的に何らかのゾーンに追加することができます。
firewall-cmd --permanent --zone=<zone> --add-service=foobar
すぐにアクティブにするには、firewall-cmd --reload
を続けます。
ここでの一番上の答えはうまくいきますが、私は Michael Hamptonの答え /に関連する質問へのより優雅な何かを見つけました。 --runtime-to-permanent
の "new"(firewalld-0.3.9-11 +)firewall-cmd
オプションを使用すると、実行時ルールを作成して永続化する前にテストして検証できます。
$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent
あるいは実行時のみの変更を元に戻すには:
$ firewall-cmd --reload
Antony Nguyenのコメントも参照してください 。どうやらfirewall-cmd --reloadはルールが削除されているいくつかのケースでは正しく動作しないかもしれません。その場合、彼はfirewalldサービスを再起動することを提案します。
$ systemctl restart firewalld
開いているポートを表示するには、次のコマンドを使用します。
firewall-cmd --list-ports ポートが開いているサービスを確認するには、以下を使用します。
firewall-cmd --list-services ポートが開いているサービスと開いているポートを表示するには、以下を使用します。
firewall-cmd --list-all ファイアウォールにサービスを追加するには、次のコマンドを使います。
firewall-cmd --add-services = ntp このサービスを恒久的に開くには、次のコマンドを使用します。
firewall-cmd-add-service = ntp --permanent ポートを追加するには、次のコマンドを使用します。
firewall-cmd --add-port = 132/tcp --permanent
Centos 7 FIrewalldで複数のポートを許可する場合は、次のコマンドを使用できます。
#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent
#firewall-cmd --reload
And check the Port opened or not after reloading the firewall.
#firewall-cmd --list-port
For other configuration [Linuxwindo.com][1]
Firewalldはiptablesのベテランにとっては少し直感的ではありません。簡単に設定可能なツリーでiptables駆動のファイアウォールをiptablesのような構文で使いたい人は、firewalldをfwtreeに置き換えてみてください。 https://www.linuxglobal.com/fwtree-flexible-linux-tree -based-firewall/ その後、次の操作を行います。
echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
systemctl reload fwtree
あなたがcentos 6以前のようにiptablesサービスに精通しているならば、あなたはまだ手動インストールでiptablesサービスを使うことができます:
ステップ1 =>インストールepelリポジトリ
yum install epel-release
ステップ2 => iptablesサービスをインストールする
yt install iptables-services
ステップ3 => firewalldサービスを停止
systemctl stop firewalld
ステップ4 =>起動時にfirewalldサービスを無効にする
systemctl disable firewalld
ステップ5 => iptablesサービスを開始
systemctl start iptables
ステップ6 =>起動時にiptablesを有効にする
systemctl enable iptables
/ etc/sysconfig/iptablesでiptablesの設定を編集できます。
だから - >編集ルール - >リロード/再起動。
firewalldのような同じ機能を持つ古いセントのようにしなさい。