본문 바로가기

Network/Basic

06. 간단한 Network 구성 (1)

Switching
 
스위치에 연결하면 스위치가 두 시스템을 포함하는 네트워크를 만든다.
 
두 PC 를 스위치에 연결하기 위해서는 각 호스트 타입에 따라 물리/가상 인터페이스가 필요하다.
 
각 호스트의 인터페이스를 확인하기 위해서는 ip link 명령을 사용하면 된다.
 
 
여튼 위의 예에서는 eth0 라는 인터페이스를 확인했고 아래와 같이 네트워크가 구성된 상황이다.
 
 
여기에 더해 통신을 하기 위해서는 상호간에 IP 주소를 알아야 한다.
 
이는 스위치로부터 얻어내고 ip addr 명령으로 스위치에 자신의 IP 주소를 알려주면 된다.
 
 
이로써 아래와 같은 결과가 되며 이제 두 PC 는 스위치를 통해 서로 통신할 수 있다.
 
 
 
 
 

Routing
 
스위치는 단순히 동일한 네트워크 내의 시스템에만 통신을 가능하게 한다.
 
아래와 같이 두 개의 스위치로 구성된 두 개의 네트워크가 있을 때 
 
어떻게 다른 네트워크와 통신할 수 있을까?
 
 
여기가 바로 라우터가 필요한 구간이다.
 
라우터는 두 네트워크를 함께 연결하는 디바이스로  두 스위치에 연결되며 
 
다른 PC 가 스위치로부터 IP 주소를 가져와 할당한 것처럼 마찬가지로 두 스위치로부터 
 
두 개의 IP 주소를 가져와 할당 받는다. 
 
 
이제 두 네트워크가 라우터에 연결되어 서로 통신할 수 있는 기반이 마련되었다. 
 
 

Gateway - Another Network
 
그렇다면 바로 B->C 로 통신이 가능할까?
 
이를 확인해 볼 수 있는 명령이 route 이다.
 
아래와 같이 아직 routing table 에는 어떤 라우팅 구성도 없기 때문에
 
B에서 보낸 패킷이 C에 도달할 수 없고
 
오직 같은 네트워크 상의 A 나 라우터로만 패킷을 전달할 수 있다.
 
 
그래서 아래와 같이 보라색 네트워크 스위치의 IP 주소를 ip route add 명령을 통해 등록해야 한다.
 
 
반대로 C 에서 B 로 패킷을 보내기 위해서는
 
파란색 네트워크를 스위치의 IP 주소를 ip route add 명령을 통해 등록해야 한다.
 
 
게이트웨이란 일종의 관문이란 뜻으로
 
두 네트워크를 연결하기 위한 접점을 의미하며 라우터 장비의 기능이
 
게이트웨이의 특성을 모두 만족하기 때문에 혼용해서 사용하기도 한다.
 
그냥 One of 게이트웨이가 라우터이며
 
routing table 이 작성된 라우터가 게이트웨이라고 생각하면 되겠다.
 
 

Gateway - Internet
 
그렇다면 B 에서 인터넷으로 액세스 해야 할때는 어떻게 구성해야 할까?
 
 
기존과 동일하게 라우터를 인터넷에 연결하고 ip route add 명령을 통해 라우팅 테이블을 업데이트 해야 한다.
 
 
 
그렇다면 이 세상에 있는 무수한 서버를 다 이런식으로 설정해야 할까?
 
더군다나 서버는 IP 주소가 유동형일 수도 있다.
 
 
 

Default Gateway
 
라우팅 테이블에 각각의 네트워크를 입력하는 것을 대신하여 디폴트 게이트웨이를 사용할 수 있다.
 
간단히 말하면 특정 목적지로 가는 패킷이 유입이 되었는데, 해당 목적지를 라우터가 알지 못한다면 
 
해당 패킷은 디폴트 게이트웨이로 전달 하게 되는 것이다.
 
 
그래서 외부 인터넷을 포함하여 아래의 설정이면 OK 이다.
 
 
디폴트 게이트웨이 설정은 0.0.0.0 으로 설정하기도 한다. (Any 의 의미)
 
 
그리고 구성상 편의 및 보안을 위해 내부 네트워크와 외부 네트워크 통신을 위한 라우터를 분리하는 경우도 있다.
 
 
그리고 외부 네트워크 통신을 위한 라우터는 외부 DNS 서버를 돌고 돌아 목적지 서버와 통신한다.
 
 
 

ip forward
 
스위치 라우터를 포함하여 위 모든 것을 축약하면 아래와 같다.
 
하지만 위의 모든 설정을 마치고 실제로 A->C 로 ping 을 날리면 ping 이 가지 않는다.
 
 
이는 리눅스에서 보안상 막아놓았으며 서버가 외부에서 온 패킷을 받을 수 있도록 아래 정보를 수정해야 한다.
 
 
 
 
 
 
 

'Network > Basic' 카테고리의 다른 글

07. 간단한 Network 구성 (2)  (0) 2020.01.23
02. Packet Tracer 인터페이스  (0) 2020.01.22
05. IP 주소  (0) 2020.01.22
04. Router 개념  (0) 2020.01.22
03. Switch 개념  (0) 2020.01.22