web-dev-qa-db-ja.com

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

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

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

すべての開いているポートを1か所で定義できる構成ファイルはありますか?悲しいことに、これについては何も見つかりませんでした。

4
Markus Wilhelm

必要なすべてのポートを含む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をリロードします。

# firewall-cmd --reload

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

# firewall-cmd --add-service My_Service

3
CheesyMacHack

あなたはいつでも小さなスクリプト/ワンライナーを作ることができます:

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

これらの開いているポートがたとえば2379-2385の範囲内にある場合は、次のように実行できます。

firewall-cmd --zone=zone_name --add-port=2379-2385/tcp 

永続的にするには、最後に--permanentオプションを追加します。

2
Steephen