# router

# 인터넷 공유기, 소형 라우터와 ip

# IP

IP란 네트워크에서 컴퓨터들이 서로 통신하기 위한 점으로 구분된 4개의 번호입니다.

공인 IP, Public IP - ISP에서 제공하는 IP입니다. 전세계에서 유일한 번호를 갖습니다.

내부 IP, Private IP - 특정 네트워크 내부에서만 사용하는 IP입니다.

127.0.0.1 은 자기 자신 컴퓨터의 ip주소입니다.

hosts 설정을 보면 기본적으로 localhost라는 도메인이 127.0.0.1에 바인딩된 것을 볼 수 있는데요,

그래서 개발서버를 돌리면

127.0.0.1:포트
localhost:포트

둘 중에 하나로 접근하면 됩니다.

도메인이 달라서 CORS에러가 난다면,

hosts파일을 수정해서 해당 아이피를 CORS에러나는 도메인으로 설정하면 해결가능합니다.

# 포트포워딩, DMZ(Twin IP)

포트포워딩은 IP:포트 조합으로 통신을 다른곳으로 넘겨줄 수 있는 기능입니다.

DMZ는 내부IP를 하나 지정해서 공인 IP의 모든 포트를 할당하는 기능입니다. 약간 편리하고 단순한 포트포워딩이라고 생각하셔도 될거같아요.

여기서 잠깐..

내부ip는 내부 네트워크에서만 사용할 수 있으므로,
외부에서 내부ip가 할당된 컴퓨터에 접속하려면, 공인 ip로 접근해야하는데, 접속하기위한 연결고리가 바로 포트포워딩 혹은 DMZ입니다.

예를 들어, 내부 네트워크 192.168.0.2:3000에 할당된 로컬 개발서버를 외부에서 접근하는 일은 포트포워딩 혹은 DMZ가 필요하겠죠.

# 공유기

공유기는 이름처럼 인터넷 회선을 공유하여 여러 디바이스에서 인터넷을 접속할 수 있도록 도와줍니다. (신호를 적절히 분리해서 여러개로 내보내줍니다.)

무선 공유기는 무선 통신(wifi)를 사용할 수 있는 공유기겠죠?

192.168.0.1

이런 IP주소를 보신적 있으신가요?

흔히 가정용 공유기에서 많이 사용되는 공유기 주소죠.

공유기도 cpu가 내장된 하나의 컴퓨터이자 라우터입니다.

일반 가정집에는 보통 한개의 공인 IP(public ip)주소를 할당받게되죠.

그 ip를 공유기가 받아서 인터넷통신을 하는데,

여러대의 컴퓨터에 같은 ip를 할당하면 문제가 발생하겠죠? 공유기가 어떤 컴퓨터와 통신해야하는지 모르니까요.

그래서 공유기의 내부적으로 DHCP를 활용해서 각 컴퓨터마다 private ip(사설 ip)를 생성해서 할당하게 됩니다.

공유기자신에게 할당한 기본 ip주소가 192.168.0.1이구요.

DHCP라는건 Dynamic Host Configuration Protocol의 약자인데요,

네트워크 관리자들이 조직 내의 네트워크 상에서 IP 주소를 중앙에서 관리하고 할당해줄 수 있도록 해주는 프로토콜이에요.

기본적으로 동적으로 IP를 할당해서 내부IP 충돌이나 IP부족을 해결하는데요,

필요한경우 랜카드 고유 주소인 MAC주소를 이용하여 내부IP도 고정하여 사용할 수 있습니다.

# 공유기 확장하기 - 2개 연결

우리집에는 공유기가 거실에 있어요.

그리고 제 컴퓨터는 제 방에 있고요. 그래서 벽이 존재하는데요,

5ghz의 최대 효율을 내는 통신을 하려면 벽이 없어야한다고 합니다.

그리고 여러대의 유선랜 컴퓨터를 사용중이기도 하고요.

그래서 제 방에 추가적인 공유기를 설치하면서, 그 가이드를 공유드리고자 합니다.

가정집엔 따로 신청하지 않는 이상? 인터넷 회선이 하나씩 들어오죠. 공인 IP는 한개입니다.

그 회선을 첫번째 메인 공유기 WAN포트에 물립니다. 저같은 경우는 거실에 있는 공유기죠.

다음으론 메인 공유기 LAN포트와 제 방에 있는 서브 공유기의 WAN포트를 연결합니다.

각 공유기의 전원만 연결하면 하드웨어 세팅은 이정도로 끝납니다.

메인 공유기의 설정은 너무 쉽습니다. 처음 접속하면 설정 마법사라는 친구가 알아서 해줄거에요.

하지만 서브 공유기는 내부 IP충돌을 막기위해 따로 설정해줘야합니다.

메인공유기의 설정에 접속해서 내부 IP 범위를 확인합니다.

아마 보통 192.168.0.1 ~ 192.168.0.255 을 사용할거에요.

이제 서브 공유기에 접속해서 내부 IP 범위를 확인하고, 충돌한다면 변경해야해요.

저는 단순히 192.168.1.1 ~ 192.168.1.255 이렇게 변경했어요.

쉽죠? 설정은 이걸로 끝입니다.

그런데 제 방에 있는 메인 컴퓨터에 DMZ를 설정하고 싶었어요.

그래서 그 방법도 공유드리자면...

우선 메인 공유기의 DMZ를 설정할때 두번째 공유기의 MAC주소로 설정하고요,

그리고 서브 공유기의 DMZ 설정에서 메인 컴퓨터의 MAC주소로 설정하면 됩니다.

# 개인서버 구축하기

위의 환경을 세팅했다면 개인서버 구축은 매우 쉽습니다.

저는 개인서버에는 우분투를 설치했는데요,

ubuntu 16버전이상 기준으로 랜선을 연결하면 자동으로 인터넷을 감지합니다.

개발용 컴퓨터에서 ssh로 서버에 접속하려면 위의 설정에서 추가적으로 22번 포트를 꼭 포트포워딩해줘야합니다.

터미널에서 아래와 같은 명령어로 개인서버에 접속을 시도해보시면 됩니다.

ssh 사용자계정@ip주소or도메인

정상적으로 접속된다면 성공적.

이제 추가적인 앱을 배포하고싶다면,

ssh 설정처럼 그 앱의 포트번호를 포트포워딩해주면 됩니다.