CentOS7에서 여러 방화벽 포트 열기

CentOS7에서 여러 방화벽 포트 열기

CentOS 시스템에서 여러 다른 포트(범위가 아닌)를 열어야 합니다.

를 사용하여 포트를 여는 방법을 알고 있지만 firewall-cmd40개 이상의 포트를 여는 것은 귀찮습니다.

열려 있는 모든 포트를 한 곳에서 정의할 수 있는 구성 파일이 있습니까? 슬프게도 나는 이것에 관해 아무것도 찾지 못했습니다.

답변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

지금은 그게 다입니다.

관련 정보