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
야 알리
ganeshragav 와 Sotsir 는 정확하고 직접 적용 가능한 접근 방식을 제공 하지만에 고유 한 서비스를 추가 할 수 있다는 점에 유의하는 것이 좋습니다 /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
즉시 활성화되었습니다.
여기에 최고의 답변이 효과가 있지만 관련 질문에 대한 Michael Hampton의 답변 에서 더 우아한 것을 발견했습니다 . "새"(firewalld-0.3.9-11 +) --runtime-to-permanent
옵션을 firewall-cmd
사용하면 런타임 규칙을 생성하고이를 영구적으로 만들기 전에 테스트 할 수 있습니다.
$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent
또는 런타임 전용 변경 사항을 되돌리려면 다음을 수행하십시오.
$ firewall-cmd --reload
Antony Nguyen의 의견 도 참조하십시오 . 규칙이 제거 된 경우 firewall-cmd --reload가 제대로 작동하지 않을 수 있습니다. 이 경우 방화벽 서비스를 다시 시작하는 것이 좋습니다.
$ systemctl restart firewalld
열린 포트를 보려면 다음 명령을 사용하십시오.
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-영구적
Centos 7 FIrewalld에서 허용 할 포트가 여러 개인 경우 다음 명령을 사용할 수 있습니다.
#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent
#firewall-cmd --reload
And check the Port opened or not after reloading the firewall.
#firewall-cmd --list-port
For other configuration [Linuxwindo.com][1]
centos 6 이하에서와 같이 iptables 서비스에 익숙한 경우 수동 설치로 iptables 서비스를 계속 사용할 수 있습니다.
1 단계 => epel repo 설치
m 설치 전자 방출
step 2 => install iptables service
yum install iptables-services
step 3 => stop firewalld service
systemctl stop firewalld
step 4 => disable firewalld service on startup
systemctl disable firewalld
step 5 => start iptables service
systemctl start iptables
step 6 => enable iptables on startup
systemctl enable iptables
finally you're now can editing your iptables config at /etc/sysconfig/iptables.
So -> edit rule -> reload/restart.
do like older centos with same function like firewalld.
Firewalld is a bit non-intuitive for the iptables veteran. For those who prefer an iptables-driven firewall with iptables-like syntax in an easy configurable tree, try replacing firewalld with fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ and then do the following:
echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
systemctl reload fwtree
참고URL : https://stackoverflow.com/questions/24729024/open-firewall-port-on-centos-7
'Programing' 카테고리의 다른 글
하나의 명령으로 MySQL 데이터베이스의 모든 테이블을 자르시겠습니까? (0) | 2020.03.06 |
---|---|
너비, 높이에 맞게 CSS 배경 이미지가 비례하여 자동 크기 조정되어야 함 (0) | 2020.03.05 |
왜 기능적인 언어입니까? (0) | 2020.03.05 |
추상화와 캡슐화의 차이점은 무엇입니까? (0) | 2020.03.05 |
파이썬 경고를 비활성화하는 방법 (0) | 2020.03.05 |