티스토리 뷰

반응형

아... 테스트 서버 포트가 갑자기 막혀서 (누군가가 그렇게 했겠지만...) 방화벽을 찾아나섰다. 

테스트 서버 방화벽은 분명 iptabls를 사용하는 것으로 알고 있었는데 iptables 설정에는 내가 사용하는 포트가 열려있다.

그런데 왜 막힌 것인가...

 

https://jootc.com/p/201808031482 (방화벽 상태 확인)

http://millky.com/@origoni/post/1128 (방화벽 관리)

 

위 사이트에서 많은 도움을 받았다. 

먼저 iptables를 방화벽으로 사용하고 있는지를 확인했다.

 

1. iptables

   1-1. 실행여부 확인

         명령문 : service iptables status 또는 systemctl status iptables 

         결과 : active (exited) 실행 중인 경우

                 inactive (dead) 실행 중이지 않은 경우 

   1-2. iptables에 포트 추가

         /etc/sysconfig/iptables 파일에 포트를 추가/제거한다.

         문서를 수정한 후 다음의 순서로 명령어를 실행한다.

          service iptables reload (iptables 정책을 reload)

          service iptables save (iptables 정책을 저장)

    **service iptables save를 먼저 하면 현재 실행되고 있는 정책들이 다시 저장되어 수정한 내용이 없어진다.

       iptables 정책에 수정한 내용을 반영한 다음에 저장해야 한다.

 

나의 경우에는 inactive 상태였다. 그렇다면 누군가 iptables 말고 다른 방화벽을 사용하는 것이다.

도대체 누가... 인지는 알고 있으나 따지고 싶지 않으니 다른 방화벽이 실행 중인지 확인한다.

 

2. firewalld

   2-1. 실행여부 확인

         명령문 : firewall-cmd --state

         결과 : running 실행 중인 경우

                 not running 실행 중이지 않은 경우

 

         명령문 : service firewalld status 또는 systemctl status firewalld

         결과 : active (exited) 실행 중인 경우

                 inactive (dead) 실행 중이지 않은 경우

 

실행 중이다... 이런... 

 

   2-2. firewalld 에 포트 추가

         명령문 : firewall-cmd --permanent --zone=public --add-port=포트/tcp

         결과 : success

 

         설정한 포트가 반영되기 위해 firewalld를 재시작한다.

         명령문 : firewall-cmd --reload

         결과 : success

 

   2-3. firewalld 에 포트 제거

       포트를 추가하는 명령문에서 add 대신 remove를 넣어 실행하면 된다.

       명령문 : firewall-cmd --permanent --zone=public --remove-port=포트/tcp

         결과 : success

 

         설정한 포트가 반영되기 위해 firewalld를 재시작한다.

         명령문 : firewall-cmd --reload

         결과 : success

 

그리하여 나는 원하는 포트를 사용할 수 있게 되었다. 

 

   2-4. firewalld 로 확인

        위에 소개한 https://jootc.com/p/201808031482 (방화벽 상태 확인) 사이트에서

        firewalld에 관한 명령문을 실행해 보았다.

 

       1) firewalld에는 zone이라는 게 있다고 한다. default zone 확인

          명령문 : firewall-cmd --get-default-zone

          결과 : public   

 

         2) firewalld에서 public zone에 알려진 서비스로 규칙이 추가된 경우 확인

            명령문 : firewall-cmd --zone=public --list-services

            결과 : dhcpv6-client samba ssh    (이것은 서버마다 다른 듯)

 

         3) firewalld에서 public zone에 명령어로 등록된 포트 확인

            명령문 : firewall-cmd --zone=public --list-ports

            결과 : 허용된 포트들...

 

            모든 zone에 대한 내용을 확인하고 싶으면 --zone=public 옵션을 뺀다.

 

   2-5. 기타 firewalld 참고 사이트

https://oracle-base.com/articles/linux/linux-firewall-firewalld

 

반응형

'Linux' 카테고리의 다른 글

[Linux] 로그 파일에서 한글 깨질 때  (0) 2020.12.29
[Linux] pid로 프로세스 확인  (0) 2020.11.12
[Linux] scp로 파일전송  (0) 2020.10.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함