회사 인프라 채널 스레드에 자주 등장해 궁금했던 부분을 정리!
3줄 요약
- 사설 IP를 사용하는 컴퓨터는 공인 IP를 가진 공유기를 거쳐야 인터넷에 접근할 수 있다.
- 사설 -> 외부로는 나갈 수 있으나, 외부 -> 사설 컴퓨터 접근 시, 포트 번호만으로는 찾아갈 수 없다.
- 이 때, 특정 포트 <-> 사설 IP에 연결된 컴퓨터를 연결해주도록 공유기를 설정하는 것을 포트 포워딩이라 한다.
포트 포워딩
위키 백과의 정의는 다음과 같다.
- 컴퓨터 네트워크에서 패킷이 네트워크 게이트웨이 (라우터,방화벽)를 지날 때 하나의 통신 요청(IP 주소 + 포트 번호)을 다른 곳으로 넘겨주는 네트워크 주소 변환 (NAT)의 응용이다.
인터넷을 통해 내부망의 특정 기기나 서비스에 연결(사설 IP에 올라가 있는 웹사이트를 사용하는 등)하는 것으로 볼 수 있다.
사용 이유
- 인터넷을 사용하기 위해서는 공인 IP가 있어야 하지만, 전세계적 네트워크가 필요하지 않은 장비의 경우 사설 네트워크를 구축하게 된다.
- 공유기는 공인 IP를 가지고 있고, 공유기에 연결된 모든 장비는 인터넷 접근을 위해 공유기를 거쳐야 한다.
- 공유기 사용 시 공인 IP 아래에 기기마다 사설 IP를 부여해서 인터넷을 사용한다.
- 이 때 내부망 -> 외부는 가능하지만, 외부 -> 내부망으로는 접근이 불가하기 때문에 이를 위해 포트 포워딩이 필요하게 된다.
원리
- 목적지 IP 주소와 포트 번호를 내부 호스트에 매핑한다.
- 하나의 포트는 하나의 포워딩만 가능하다.
- 공유기가 할당한 아이피에만 포워딩이 가능하다.
- 공인 IP의 포트만 알면 연결된 어느 컴퓨터로 보내줘야 하는지 모르기 때문에, 연결하고자 하는 컴퓨터의 포트에 연결하라고 설정해준다.
그 외 관련 용어들
IP
- 공인 ip
- 외부에 공개되어 있는, 인터넷 상에서 사용할 수 있는 ip.
- 사설 ip
- 내부 망에서만 사용 가능한 ip.
- 인터넷 상에서 사용할 수 없으며 라우터나 공유기를 통해 할당됨
- 고정 ip
- 변경되지 않는 공인 ip를 의미한다. 반납하기 전까지 해당 ip를 할당 받음
- IPv4 형식의 46억개 ip 중 약 1억개가 한국에 할당되어 있고, 이를 isp가 나눠줌. 비쌈
- 유동 ip
- 고정적으로 ip를 부여하지 않고, ip 갱신 주기가 되면 isp가 남아있는 ip를 골라 할당해주는 것.
- 일반 가정이나 기기는 인터넷을 사용하는 곳에만 할당, 안쓰면 거둬가는 방식으로 매번 바뀜. 대신 저렴함
DDNS
- 고정 ip 사용에 대해 서비스를 제공하는 것이 dns라면, 유동 ip 사용자가 활용할 수 있는 것이 ddns. 공유기에서 옵션 세팅 가능
- ddns는 동적 dns로 유동 ip를 감지해 고정 도메인에 연결해주는 것. ip가 변경될 때마다 변경된 ip 주소를 전달해줌
- ddns의 경우 공유기 주소를 ip가 아닌 도메인 형식으로 접속이 가능하다.
DMZ
- 공인 IP의 모든 포트를 특정 사설 ip에 몰아주는 것
- 모든 포트를 개방하는 것이기 때문에 보안상 위험이 있어 권장하는 방식은 아니다.
NAT
- Network Address Translation
- 라우터 등을 통해 여러 사설 ip를 하나의 공인 ip 주소로 변환하는 기술
- 공인 ip 주소를 절약
- 집에서 인터넷 공유기를 설치해 여러 PC를 연결해서 사용하는 것이, 인터넷 공유기에 NAT 기능이 탑재되어 있는 것이기 때문
- 보안을 강화할 수 있다
- 내부망과 공개망 사이에 방화벽을 두어 내부망을 지킴
- 외부로 트래픽이 나갈 때 사설 ip가 공인 ip로 바뀌기 때문에 공격자는 라우터 안 쪽의 사설 ip를 모름.
방화벽
- 보안 규칙에 기반해서 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템
- 외부 네트워크(인터넷)과 내부 네트워크 간의 장벽을 구성한다.
SSH
- secure shell, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
PREVIOUS매직 메서드 __init_subclass__ 의 동작