在 CentOS7 中打开多个防火墙端口

Mar*_*elm 4 networking firewall centos port centos-7

我需要在 CentOS 机器上打开多个不同的端口(不在范围内)。

我知道如何使用firewall-cmd.

是否有一个配置文件可以让我在一个地方定义所有打开的端口?可悲的是,我没有找到任何关于此的信息。

mta*_*tak 8

你总是可以制作一个小脚本/单行:

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


小智 8

firewall-cmd --permanent --add-port={80/tcp,443/tcp,9200/tcp,5601/tcp,5044/tcp}
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)


小智 6

如果这些开放端口在 2379-2385 等范围内,您可以执行以下操作:

firewall-cmd --zone=zone_name --add-port=2379-2385/tcp 
Run Code Online (Sandbox Code Playgroud)

要使其永久,请--permanent在末尾添加选项。


小智 3

您可以从包含所需所有端口的 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>
Run Code Online (Sandbox Code Playgroud)

添加新服务:

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

重新加载防火墙cmd:

# firewall-cmd --reload

然后添加您的服务:

# firewall-cmd --add-service My_Service