1 | iptables -nL | cs |
위의 명령어를 사용하여 현재 작동하는 외부 포트들의 상태를 알 수 있다.
위와 같은 형태로 나오게 된다.
웹 호스팅을 사용하는데, 방화벽이 제대로 작동하지 않아서 직접 설정을 하였다.
3000번 포트를 열어보려고 하였으나, 웹 호스팅 사이트의 설정을 변경해도 포트는 위와 같이 이루어져 있었다.
1 | iptables -A INPUT -p tcp --dport 10050 -j ACCEPT | cs |
해당 명령어를 통해서 포트번호 10050 를 열어보니??
위와 똑같았습니다. 왜그럴까요??
1 | Chain INPUT | cs |
이라는 부분을 보면
위와 같이 10050 에 대해서 포트가 열렸습니다.
1 | iptables -A INPUT -p tcp --dport 10050 -j ACCEPT | cs |
이 명령어의 3번째 부분 INPUT 이 Chain 을 결정하는 듯 합니다.
다른 블로그에서 아래와 같은 설명을 알아내게 되었습니다.
체인(chain)
iptables에는 filter 테이블에 미리 정의된 세가지의 체인이 존재하는데 이는 INPUT, OUTPUT, FORWARD 이다. 이 체인들은 어떠한 네트워크 트래픽(IP 패킷)에 대하여 정해진 규칙들을 수행한다.
가령 들어오는 패킷(INPUT)에 대하여 허용(ACCEPT)할 것인지, 거부(REJECT)할 것인지, 버릴(DROP)것인지를 결정한다.
- INPUT : 호스트 컴퓨터를 향한 모든 패킷
- OUTPUT : 호스트 컴퓨터에서 발생하는 모든 패킷
- FORWARD : 호스트 컴퓨터가 목적지가 아닌 모든 패킷, 즉 라우터로 사용되는 호스트 컴퓨터를 통과하는 패킷
1 | iptables -D INPUT -p tcp --dport 10050 -j ACCEPT | cs |
제가 변경하고 싶은 Chain 은 INPUT 이 아니라 호스팅 서버에서 제공하는 방화벽 Chain 입니다.
위의 명령어를 이용하여 입력한 10050 에 대한 규칙을 다시 지워줍니다.
1 | iptables -A 체인이름 -p tcp --dport 10050 -j ACCEPT | cs |
체인 이름을 입력하면 해당 리스트에 포트가 추가됩니다.
이후에 작동이 잘 되지 않아서 방화벽도 설치해보고
1 | apt-get install firewalld | cs |
방화벽을 설치 한 후에
1 | iptables -nL | cs |
명령어를 입력하면 테이블의 구조가 위와 같은 형태가 아니라 다른 형태로 바뀌게 됩니다.
1 2 3 | 추가 # firewall-cmd –permanent –zone=public –add-port=10050/tcp 제거 # firewall-cmd –permanent –zone=public –remove-port=10050/tcp | cs |
1 | 재시작 # firewall-cmd –reload | cs |
위와 같은 명령어도 입력하고 지속적으로 해보니 되긴 되네요.
방화벽을 설치하니 80번 포트가 막혀서 apm 이 작동하지 않네요.
아마 방화벽 설치 후 포트 초기화가 되는 것 같습니다.
다시 80 번 포트를 위와 같은 포트로 여니 apm 이 정상적으로 작동 합니다.
10050 포트는 잘 작동합니다.
개발의 길은 험난한 것 같습니다.
- 출처 -