CentOS7で複数のファイアウォールポートを開く

CentOS7で複数のファイアウォールポートを開く

CentOS マシン上で複数の異なるポート (範囲外) を開く必要があります。

でポートを開く方法は知っていますfirewall-cmdが、40 個以上のポートを開くとなると面倒になります。

すべての開いているポートを 1 か所で定義できる構成ファイルはありますか? 残念ながら、これに関する情報は見つかりませんでした。

答え1

必要なすべてのポートを含む xml ファイルからサービスを定義し、そこからサービスを追加して有効にすることができます。次のように service.xml ファイルを作成します。

<?xml version="1.0" encoding="utf-8"?>
 <service>
  <port port="port1" protocol="proto1"/>
  <port port="port2" protocol="proto2"/>
  <port port="port3" protocol="proto3"/>
  <port port="port4" protocol="proto4"/>
 </service>

新しいサービスを追加:

# firewall-offline-cmd --new-service-from-file=service.xml --name=My_Service

ファイアウォールコマンドを再読み込みします:

# firewall-cmd --reload

次にサービスを追加します:

# firewall-cmd --add-service My_Service

答え2

firewall-cmd --permanent --add-port={80/tcp,443/tcp,9200/tcp,5601/tcp,5044/tcp}
firewall-cmd --reload

答え3

いつでも小さなスクリプト/ワンライナーを作成できます:

#!/bin/bash
for i in 80 443 22 123 21 1337 31337
do
  firewall-cmd --zone=public --add-port=${i}/tcp
done

答え4

これは非常に古い質問ですが、本当に「興味深い」ものになる可能性があるので、答えるべきだと思いました。

あらゆるポートを1行にまとめる

# simple
firewall-cmd --add-port={80,443}/tcp

# Both protocols
firewall-cmd --add-port={80,443}/{tcp,udp}

# can be a bit complex and note the nested parentheses
firewall-cmd --add-port={{80,443}/{tcp,udp},{110,995}/tcp}

次に、入力して、何をしたか見てみましょう:)

firewall-cmd --list-ports

しかし、サービスはより良くなりました

/etc/servicesも試してみました--add-services', whose names can be found in。ポートを使用するよりもさらに便利です。名前とポートの両方がそのファイルに含まれているので、いくつかをリストできます。

grep -E 'http|imap|pop3|smtp|dns|ftp' /etc/services

次のように入力するとポートを開くことができます: ``:

# readable
firewall-cmd --add-service={http,https}
firewall-cmd --list-services

とりあえずこれで終わりです。

関連情報