CentOS7中開啟多個防火牆端口

CentOS7中開啟多個防火牆端口

我需要在 CentOS 機器上開啟多個不同的連接埠(不在範圍內)。

我知道如何使用 打開端口firewall-cmd,但是打開 40 個或更多端口會很麻煩。

是否有一個設定檔可以在一個地方定義所有開放連接埠?遺憾的是我沒有找到任何與此相關的資訊。

答案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

重新載入防火牆cmd:

# 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

儘管這是一個非常古老的問題,但它可能會變得非常“有趣”,所以我想我應該回答它。

每個可能的連接埠都在一條線上

# 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

但服務比較好

我還嘗試過--add-services', whose names can be found in/etc/services'。它甚至比使用連接埠更好。名稱和連接埠都在該文件中,因此您可以列出其中的一些:

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

我們可以輸入以下內容來開啟連接埠:``:

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

目前就這樣。

相關內容