
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
지금은 그게 다입니다.