[centos] CentOS 7에서 방화벽 포트 열기

CentOS 7을 사용하고 있으며 포트 2888 및 3888이 열려 있는지 확인해야합니다.

이 기사를 읽었 지만 CentOS 7 OS에는 iptables save명령 이 없기 때문에 작동하지 않았습니다 .

누군가 위의 URL이 CentOS 7에 유효하지 않다고 말했고 나는 이것을 따라야 합니다 . 그러나이 기사는 정확히 어떤 명령을 실행 해야하는지 명확하지 않습니다.

나도 찾았 어

firewall-cmd --zone=public --add-port=2888/tcp

그러나 이것은 재부팅 후에도 지속되지 않습니다.

그렇다면 어떻게 포트를 열고 재부팅 후에도 유지할 수 있습니까?



답변

이 명령을 사용하여 활성 영역을 찾으십시오.

firewall-cmd --get-active-zones

public, dmz 또는 다른 것을 말할 것입니다. 필요한 구역에만 적용해야합니다.

공개 시도의 경우 :

firewall-cmd --zone=public --add-port=2888/tcp --permanent

그런 다음 변경 사항을 적용하려면 방화벽을 다시로드하십시오.

firewall-cmd --reload

그렇지 않으면 영역이 dmz 인 경우 영역을 공용으로 대체하십시오.

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent


답변

ganeshragav 의 답변 은 정확하지만 다음을 사용할 수 있음을 아는 것도 유용합니다.

firewall-cmd --permanent --zone=public --add-port=2888/tcp

그러나 알려진 서비스 인 경우 다음을 사용할 수 있습니다.

firewall-cmd --permanent --zone=public --add-service=http

그런 다음 방화벽을 다시로드하십시오.

firewall-cmd --reload

[Martin Peter의 의견을 반영하여 답변이 수정되었습니다. 원래 답변은 --permanent명령 줄 끝에 있었습니다 ]


답변

CentOS (RHEL) 7 firewall-cmd은 Windows 버전의 공용, 홈 및 개인 네트워크와 같은 영역 개념을 가진 방화벽을 사용하도록 변경했습니다 . 어떤 것을 사용해야하는지 알아 내 려면 여기 를 봐야합니다. EL7은 public기본적으로 사용 되므로 아래 예제에서 사용됩니다.

사용중인 영역을 확인 firewall-cmd --list-all하고로 변경할 수 있습니다 firewall-cmd --set-default-zone=<zone>.

그러면 서비스 (또는 포트)를 허용 할 영역을 알 수 있습니다.

firewall-cmd --permanent --zone=<zone> --add-service=http

firewall-cmd --permanent --zone=<zone> --add-port=80/tcp

다음을 실행하여 포트가 실제로 열려 있는지 확인할 수 있습니다.

firewall-cmd --zone=<zone> --query-port=80/tcp

firewall-cmd --zone=<zone> --query-service=http

에 따르면 문서 ,

영구 모드에서 방화벽 설정을 변경할 때 선택 사항은 방화벽을 다시로드하거나 시스템을 다시 시작할 때만 적용됩니다.

다음을 사용하여 방화벽 설정을 다시로드 할 수 있습니다 firewall-cmd --reload.


답변

페도라 iptables

sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
sudo service iptables save

작동하는 것 같습니다


답변

열린 포트를 보려면 다음 명령을 사용하십시오.

firewall-cmd --list-ports

다음은 포트가 열려있는 서비스를 확인하기 위해 사용합니다.

firewall-cmd --list-services

다음을 사용하여 포트가 열려있는 서비스를 확인하고 열린 포트를 확인합니다

firewall-cmd --list-all

방화벽에 서비스를 추가하기 위해 다음 명령을 사용합니다.이 경우 서비스는 포트를 사용하여 방화벽에서 엽니 다.

firewall-cmd --add-services=ntp

이 서비스를 영구적으로 열려면 다음 명령을 사용하십시오.

firewall-cmd —add-service=ntp --permanent

포트를 추가하려면 다음 명령을 사용하십시오

firewall-cmd --add-port=132/tcp  --permanent

다음 명령을 사용하여 방화벽을 다시로드해야합니다.

firewall-cmd --reload

야 알리


답변

ganeshragavSotsir 는 정확하고 직접 적용 가능한 접근 방식을 제공 하지만에 고유 한 서비스를 추가 할 수 있다는 점에 유의하는 것이 좋습니다 /etc/firewalld/services. 영감을 얻으려면 /usr/lib/firewalld/services/방화벽의 사전 정의 된 서비스가있는 곳을보십시오.

이 접근 방식의 장점은 나중에 서비스 파일에서 설명한대로 이러한 포트가 열린 이유를 알 수 있다는 것입니다. 또한 오타 위험없이 모든 영역에 적용 할 수 있습니다. 또한 서비스에 대한 변경 사항을 모든 영역에 개별적으로 적용 할 필요는 없으며 서비스 파일에만 적용하면됩니다.

예를 들어 다음을 만들 수 있습니다 /etc/firewalld/services/foobar.xml.

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>FooBar</short>
  <description>
    This option allows you to create FooBar connections between
    your computer and mobile device. You need to have FooBar
    installed on both sides for this option to be useful.
  </description>
  <port protocol="tcp" port="2888"/>
  <port protocol="tcp" port="3888"/>
</service>

(구문에 대한 정보는을 참조하십시오 man firewalld.service.)

이 파일을 만든 후에는 파일을 firewall-cmd --reload사용할 수있게하여 다음을 사용하여 일부 영역에 영구적으로 추가 할 수 있습니다

firewall-cmd --permanent --zone=<zone> --add-service=foobar

firewall-cmd --reload즉시 활성화되었습니다.


답변

열린 포트를 보려면 다음 명령을 사용하십시오.

firewall-cmd --list-ports

포트가 열려있는 서비스를 보려면 다음을 사용하십시오.

firewall-cmd --list-services

다음을 사용하여 포트가 열려있는 서비스를보고 열려있는 포트를 봅니다.

firewall-cmd --list-all

방화벽에 서비스를 추가하기 위해 다음 명령을 사용합니다.이 경우 서비스는 포트를 사용하여 방화벽에서 엽니 다.

firewall-cmd --add-services=ntp

이 서비스를 영구적으로 열려면 다음 명령을 사용하십시오.

firewall-cmd -add-service=ntp --permanent

포트를 추가하려면 다음 명령을 사용하십시오.

firewall-cmd --add-port=132/tcp  --permanent