티스토리 뷰
<https://openuiz.blogspot.com/2019/09/centos-7x-port.html의 내용을 옮겨옴.>
포트를 오픈하려고 iptables 명령을 사용했다. 그런데 아무런 반응이 없었다.
iptables -I INPUT -p tcp --dport 8889 -j ACCEPT
그리고 iptables을 재실행할라하니 다음과 같은 에러를 확인했다.
$ /etc/init.d/iptables restart Failed to restart iptables.service: Unit not found.
이에 해당 문제를 해결하고자 찾아보았더니 CentOS 7.x에서는 iptables 대신 firewall을 채용했다고 한다.
iptables 대신 firewall을 사용하게된 이유
Redhat Products & Servies의 4.11. 보안 및 액세스 제어에는 다음과 같은 설명이 나온다.
4.11.1. 새로운 방화벽 (firewalld)
|
그리고, firewalld concept and configuration의 Page-5를 보면 다음과 같이 필요성에 대해 서술한다.
첨언하자면, iptables과 firewall의 장단에 대해서는 이래저래 말들이 많은 듯 하다. 새롭게 나온 기능이다보니 으례 발생하는 과도기적 충돌이겠거니 싶다.ㅎㅎ
iptables vs firewall
firewall로 변경되었다고는 하나, 다음과 같이 firewall을 중지시키고 iptables를 설치해서 기존처럼 사용하는 것도 가능하다.
$ systemctl stop firewalld
$ systemctl mask firewalld
$ yum install iptables-services
$ systemctl enable iptables
$ service iptables save
※ 결국, firewalld를 사용할지 iptables를 사용할지는 본인의 선택이다.
firewall의 설정법
맨 처음, 혹시 몰라 yum update 를 해 주었다. ㅡㅡ;;
systemctl enable firewalld
systemctl start firewalld
systemctl stop firewalld
systemctl disable firewalld
방화벽을 사용설정 하였다면 이제 방화벽 상태를 확인하자.
firewall-cmd --state
firewall-cmd --get-zones
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --list-all
firewall-cmd --zone=public --list-all
상태를 확인하였으니, 새로운 서비스/포트를 추가해보자.
참고로 시스템 재부팅 또는 방화벽 재시작 후에도 지속적용 되도록 하려면 --permanent 옵션을 붙인다. |
Add FTP Service
firewall-cmd --permanent --add-service=ftp
Delete FTP Service
firewall-cmd --remove-service=ftp
Add FTP Port
firewall-cmd --permanent --add-port=21/tcp
Delete FTP Port
firewall-cmd --remove-port=21/tcp
Add HTTP Service
firewall-cmd --permanent --zone=webserver --add-service=http
Add HTTP port
firewall-cmd --permanent --zone=webserver --add-port=9090-9100/tcp
Delete HTTP port
firewall-cmd --permanent --zone=webserver --remove-port=9090-9100/tcp
중요) 설정내용을 Reload 해야만 적용된다.
firewall-cmd --reload
'Devolopment > OS 관련' 카테고리의 다른 글
CentOS 리눅스 yum 사용법 (0) | 2015.05.28 |
---|---|
[Linux] WC with cat (0) | 2015.05.28 |