Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

DOing

[WEB] Port와 Port Forwarding 본문

WEB

[WEB] Port와 Port Forwarding

mangdo 2021. 4. 12. 17:27

[ Port ]

모든 컴퓨터에는 port라는 것이 있다. 출입문이라고 생각하면된다.
하나의 컴퓨터에는 여러개의 서버가 설치되어있을 수 있다. 웹서버뿐만 아니라 SSH 서버, DNS 서버등 다양하게 있을 수 있다. 포트는 바로 특정한 컴퓨터에 접속을 했을때 해당 컴퓨터 내에 여러 서버들 중 누구랑 상호작용할지를 알려준다.

65,535까지 포트중에서 0~1023은 well-known port이다. 이미 약속된 포트이다.

80번 포트는 웹 서버(HTTP)로, 22번 포트는 SSH 서버로 약속을 해놨다.

그래서 80번 포트로 가면 웹서버가 기다리고(Listen) 있고 22번 포트로 가면 SSH 서버가 기다리고 있다.

 

우리가 웹 브라우저로 네이버에 접속할 때를 생각해보자.

http://www.naver.com (가능)

http://naver.com:80 (가능)

http://naver.com:8888 (불가능)

 

80번 포트를 생략해도 HTTP는 80번 포트라고 약속했기때문에, 웹 브라우저는 80번 포트를 찾아간다. 
그럼 80포트에서 Listen하고 있던 웹서버가 응답한다.
SSH Client는 22번 포트를 쓰도록 약속되어있기 때문에 특별히 포트번호를 적지않는다면 22번에 접속하고
22번에 Listen하고 있던 SSH 서버가 그것을 받아 처리하고 SSH 클라이언트에게로 보내준다.

 

물론 포트 번호를 바꿀 수도 있다.

더보기

[SSH 포트번호 변경]

22번 포트는 너무 유명하고 컴퓨터를 원격으로 제어하는 행위는 매우 위험해서 사람이 잘 모르는 포트로 바꿀때가 있다.

ssh/sshd_config를 열어보면 포트번호 22라고 써있다.
이걸 변경하면 ssh서버의 설정을 변경할 수 있다.
변경하고 ssh restart를 하게되면 앞으로 포트번호가 적용이 된다.

 

22 -> 8888
ssh egoing@192.168.0.65 (불가능)
ssh -p8888 egoing@192.168.0.65 (가능)

 

[ Port Forwarding ]

네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 것

공유기를 사용하는 개인 PC는 private IP address를 가진다. 때문에 외부에 있는 사람이 접근하는 것은 기본적으로 불가능하다. 하지만 Port Forwarding을 이용하면 가능하다.

Port Forwarding은 외부에 있는 사용자가 특정 IP의 특정 포트로 접속들어왔다면 그 접속을 어떠한 특정한 컴퓨터로 전달한다. 이를 위해서는 사전에 포트 매핑이 필요하다. 공유기 안에도 포트가 있기 때문에 공유기에 다음과 같이 설정을 바꿔준다. "59.6.66.238:8080 -> 172.217.27.78:80"


공유기로 들어온 포트번호가 무엇이냐에 따라서 내부 네트워크에 있는 특정 기기의 특정 포트로 포워딩하게된다.
이것외에도 port forwarding은 다양하게 사용된다.

 

참고 출처 :

ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_%ED%8F%AC%EC%9B%8C%EB%94%A9

sevendollars.tistory.com/43

youtu.be/AkQHen87L7Y

'WEB' 카테고리의 다른 글

[WEB] 공유기 (Private IP, NAT)  (0) 2021.04.14
[WEB] 웹 호스팅, 서버 호스팅, 클라우드  (0) 2021.04.14
[WEB] Internet VS Web  (0) 2021.04.12
[WEB] WAS와 Web Server, Web Container  (0) 2021.04.01
개발자를 위한 프로토타이핑 툴  (1) 2021.03.27