리눅스 방화벽 설정(linux firewall)_the network adapter could not establish the connection :: 개발/일상_Mr.lee

리눅스 방화벽 설정(linux firewall)_the network adapter could not establish the connection

Posted by Mr.mandu.
2017. 9. 11. 09:30 개발/리눅스

안녕하세요. 매번 시스템 테스트하다가.... 방화벽 막혀서 접속 안된 적이 많습니다.

다음과 같은 에러도 많이 보게 되고요. 네트워크 블라블라~~~

서비스가 안올라가면 로그를 꼭 확인하세요!


the network adapter could not establish the connection


처음엔 소스를 제대로 올리고 에러를 만나 적잖히 당황했던 기억이 있습니다.

지금부터 방화벽 설정을 설명드리겠습니다.

음...확인하지 않고 똑같은 방화벽 여는 구문을 중복해서 적어본적은 없지만..

저 방화벽을 설정하기전에 현재 어떤 포트가 열려있는지 확인해야 합니다.



방화벽 확인 명령어 : netstat -ntl 

명령어를 실행 하면 위와같은 화면이 출력됩니다.

tcp에 보시면 현재 열려있는 포트번호를 알 수 있습니다.

저는 현재 8080포트가 열려있기때문에 9080 포트를 열어보겠습니다.


netstat 명령어가 안되시는 분들은


yum install net-tools


명령어로 tool을 설치하시면 됩니다.



다음의 화면에 접근하기 위하여 su - 계정으로 들어갑니다.

그리고 iptables 파일을 열어 수정 해야 합니다.


파일 열는 명령어 : vi /etc/sysconfig/iptables


파일에 접근 후, 열고자 하는 포트를 다음과 같이 입력합니다.(열고자하는 포트 : 9080)

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 9080 -j ACCEPT

를 입력하시고 저장합니다.


그리고 여기서 끝이 아니라 리스터를 재실행 시켜야 합니다.



리스너 재실행 명령어 :  /etc/init.d/iptables restart


이렇게 하면 윈도우에서 했던 방화벽 설정을 리눅스에서도 쉽게 할 수 있습니다.





-추가-

설마 리스너 재실후 다음과 같은 에러를 만났나요?

Failed to restart iptables.service: Unit not found.


저도 한동안 삽질을 했습니다.

CentOS 7 부터는 방화벽 설정 방법을 하기위해 firewalld를 다뤄야 합니다.

firewalld는 시스템에 탑재되어 있습니다.


방화벽 설정

systemctl enable firewalld

systemctl start firewalld


방화벽 해제

systemctl stop firewalld

systemctl disable firewalld


포트 추가

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

(8181포트 추가)


포트 제거

firewall-cmd --permanent --zone=public --remove-port=8181/tcp