
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
とりあえずこれで終わりです。