방화벽이란? ip주소, 포트번호에 대한 이론적 내용 정리
컴퓨터를 사용하다보면 방화벽이라는 건 많이 들어봤을 것이다
뭔가 보안에 관련된 접속을 차단하는 거 인거 같긴 한데...
정확히 뭔지 몰라서 이론적으로 정리해봤다
일단 방화벽에 대해 이해하기 위해서는 ip주소와 포트번호의 개념을 이해해야 한다
ip주소는 인터넷에 연결되어 있는 모든 장치들을 식별하는 고유 주소다
보통 핸드폰, pc 등 각각 ip주소를 다르게 가지고 있다고 생각하면 된다.
물론 한 장치에 여러 ip주소를 사용하게 하는 방법도 있다
pc의 경우, 네트워크 카드를 추가하면 다중으로 ip주소를 사용할 수 있다
자신이 사용하고 있는 기기의 ip주소를 확인하는 방법은 터미널을 열어서 ipconfig 명령어를 쳐보면 된다 (window용)

현재 나는 노트북에서 핸드폰 핫스팟을 연결해 사용하고 있다
즉, 172.--.--.--은 내 핸드폰의 private ip주소이다.
그 이유는 인터넷에 연결되어 있는 것은 내 핸드폰이고 노트북은 핸드폰에 연결된 인터넷을 끌어와 쓰고 있는 것이기 때문이다
ip주소는 private ip와 public ip로 구분할 수 있다

이 두가지의 상세 내용은 추후에 서브넷 마스크와 함께 정리해보도록 하겠다
또한, ip주소 체계는 A클래스, B클래스, C클래스 로 나뉘어져 있는데
172로 시작하는 ip의 경우 B 클래스로 구분할 수 있다
만약 내가 핸드폰의 핫스팟을 연결한 노트북으로 어떤 웹 서비스를 80번 포트를 이용해서 띄웠다면
http:// 172.--.--.--:80 를 인터넷에 쳐서 그 웹 서비스에 접속이 가능해진다
(물론 모든 서버에서 접속이 가능한 것은 아니다 같은 네트워크를 공유하고 있는 경우만 접속 가능하다)
172.--.--.--의 ip주소로 http 프로토콜을 이용해 80번 포트로 접속을 하겠다는 의미이다.
어떤 서버 접속을 하기 위해서는 어디로? 어떻게? 가 필요한 것이다.
그리고 이것이 각각 어떤 ip주소? 몇번 포트번호의 어떤 프로토콜을 사용해서? 라고 생각하면 쉽다
즉, 어떤 서버에 접속하기 위해서는 그 서버의 아이피와 프로토콜, 포트번호가 필요하다
보통 포트번호는 전세계적으로 통용해서 사용하는데, 예를 들면 http는 80번 포트, https 는 433번 포트가 있다
물론 다른 포트번호로 서비스를 띄어놓을 수 있다
하지만 전세계적으로 http 프로토콜은 80번 쓰자~ 라고 규칙을 정한 것이다
그렇다면 방화벽은 무엇일까?
쉽게 말해서는 서버 접속에 제한을 거는 것이다
만약 방화벽이 없다면 ip주소와 포트번호만 아는 경우 어떤 서버든 접속이 가능할 것이다
이렇다면 보안에 굉장히 취약할 것이다
그래서 방화벽을 통해 특정 ip주소의 접속을 막거나, 특정 ip주소에 해당하는 서버만 접속 가능하게 하는 것이다

즉, 외부 사용자(WAN)들이 내부 네트워크(LAN)에 접근하지 못하도록 하는 일종의 내부 네트워크 방어도구이다

방화벽 설정 방법으로는 두가지가 있다
인바운드는 클라이언트에서 서버쪽으로 오는 경우 제한을 거는 것이다
즉, 나한테 접근하는 것에 대한 제한이다
아웃바운드는 내 서버에서 클라이언트쪽으로 나가는 경우 제한을 거는 것이다.
즉, 내가 접근하는 것에 대한 제한이다
이런 인바운드, 아웃바운드 설정은 개인 pc 및 노트북으로도 설정해볼 수 있다
이미지 출처 : https://prinha.tistory.com/entry/%EB%B0%A9%ED%99%94%EB%B2%BD