Linux

[CentOS] 6.5 - 방화벽 80 포트 열기.

율토리 촌장 2019. 10. 4. 18:21

 

 

율토리에서는,

이제 막 CentOS 6.5 버전에 APM 을 설치를 끝내고, 80 포트를  열어야한다.

( 그래야 서버를 써먹지 !!! )

 

율토리 마을의 환경은 아래와 같다.

  º 클라우드 서버

  º CentOS 6.5

  º 도메인은 가oo 에서 받았쥐롱.  - 귀찮으니까 DNS 서버도 가oo 으로 신청하였다 - 

 

 

시작하기 전!

CentOS 7.0 부터는 firewall 을 쓰기에, 본 포스트와는 명령어가 다르다.

 

 

먼저, 당연~~히 안 열려있지만 확인차 포트 개방 상태를 보자.

[root@lb2401 /]#  iptables -nL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

 

역시, 80 포트는 열려있지 않다.

 

 

 

♣ 80 포트 개방하기

[root@lb2401 /]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

 

이렇게 하면 열렸겠지?

 

 

 

♣ vi 에디터로 iptables 설정 보기. ( 직접 수정해서 설정할 수도 있다 )

[root@lb2401 /]# vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Wed Oct  2 16:12:21 2019
*nat
:PREROUTING ACCEPT [555:22240]
:POSTROUTING ACCEPT [12:970]
:OUTPUT ACCEPT [12:970]
COMMIT
# Completed on Wed Oct  2 16:12:21 2019
# Generated by iptables-save v1.4.7 on Wed Oct  2 16:12:21 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [76:16260]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Oct  2 16:12:21 2019

 

자. 여기서 직접 수정하려고 해도, 저 외계어 같은 옵션들을 알아야 설정을 하겠지?

 

명령어 : -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
형태   : 명령어옵션 체인옵션 매치옵션 프로토콜종류 --dport 80 매치옵션 타겟

 

그럼 이제, 각 옵션을 알아볼까?

 

1. 명령어 (Command) 옵션
-A (--append) 새로운 규칙 추가 -L  (--list) 규칙 출력
-D (--delete) 규칙 삭제 -F  (--flush) chain 으로부터 규칙 전부 삭제.
-C (--check) 패킷 테스트 -Z  (--zero) 모든 chain 의 패킷과 바이트 카운터 값을 0으로 만듦.
-R (--replace) 새로운 규칙으로 교체 -N  (--new) 새로운 chain 생성
-I  (--insert) 새로운 규칙 삽입 -X  (--delete-chain) chain 삭제
-F (--policy) 기본 정책 변경    

* 촌장이 테스트 해봤을때 -A와 -I는 별 차이가 없는 듯 하다.

 

2. 체인 (Chain) 옵션  - 아래 패킷들에 대하여 Accept/Reject/Drop 할 것인지를 결정.
INPUT 서버로 들어오는 모든 패킷
OUTPUT 서버에서 발생하여 나가는 모든 패킷
FORWARD 서버가 최종 목적지가 아닌, 통과하는 모든 패킷

 

3. 매치 (Match) 옵션
-s (--source) 출발지 IP주소 or 네트워크와의 매칭 --comment 커널 메모리 내의 규칙과 연계되는 최대 256바이트 주석
-d (--destination) 목적지 IP 주소 or 네트워크와의 매칭 -y (--syn) SYN  패킷을 허용하지 않음.
-p (-protocol) 특정 프로토콜과의 매칭 -f (--fragment) 두번째 이후의 조각에 대해서 규칙 명시
i (--in-interface) 입력 인터페이스 -t (--table) 처리될 테이블
-o (--out-interface) 출력 인터페이스 -j (--jump) 규칙에 맞는 패킷을 어떻게 처리할 것인지 명시
--state 연결 상태와의 매칭 -m (--match) 특정 모듈과의 매치
--string application 계층 데이터 바이트 순서와의 매칭    

 

4. 타겟 (Target) 옵션
ACCEPT 패킷 허용 LOG 패킷을 syslog에 기록
DROP 패킷 버림 (패킷이 전송된 적이 없던 것처럼) RETURN 호출 체인 내에서 패킷 처리를 계속한다.
REJECT 패킷을 버리며 응답 패킷 전송    

 

후. 오늘은 여기까지...

(촌장 빠이)