예전에 어떤 분이 질문을 주셨는데, 아마 이 글에서 다룰 내용이 그 질문에 대한 답변이 아닐까 생각됩니다. 그러니까 2개의 NIC를 사용할 때 우선순위 같은걸 설정할 수 있냐는 질문을 하셨는데...

예를 들어 회사에서 2개의 랜카드를 사용하고 있는데 1번 랜카드에는 사내망 IP를 넣어놨고, 2번 랜카드에는 공인망 IP를 넣어놨다고 가정하겠습니다. 회사 내부 통신에는 1번 랜카드를 사용하고 싶고, 회사 외부 통신에는 2번 랜카드를 사용하고 싶습니다. 어떻게 해야 할까요?

정답은 없겠지만 이런 경우 저라면 이렇게 하겠습니다.

2번 랜카드에만 게이트웨이를 설정하고 1번 랜카드에는 게이트웨이를 넣지 않습니다. 그리고 특정 사내망 IP 대역에 대해서만 1번 랜카드를 타고 나가도록 라우팅 테이블을 수정할 것입니다. 아마 대부분 이렇게 처리하지 않으실까 싶습니다.

일단 현재 설정되어 있는 라우팅 경로를 확인하시려면 아래 명령어 둘중에 하나를 쓰시면 됩니다.

route print
netstat -r


그리고 이제 실전으로 들어가서, 일단 랜카드 2개에 IP를 아래 그림처럼 넣었다고 가정하겠습니다.


111.111.111.111 은 사내에서만 사용하는 사설 IP이고, 222.222.222.222 는 외부와 통신하기 위한 공인 IP라 가정하겠습니다. 위 그림과 같은 상황이라면 어떻게 될까요?

모든 IP는 2번 랜카드를 타고 밖으로 나가고, 오로지 111.111.111.1 ~ 111.111.111.254 사이의 IP에 대해서만 1번 랜카드를 타고 나갑니다. 그런데 예를 들어 111.111.222.222 라는 IP도 이 회사의 사내망 IP이고, 이놈이랑 통신을 꼭 해야 한다면 어떻게 설정해야 할까요?

지금 이 상태에서는 통신이 되지 않습니다. 111.111.222.222 라는 IP를 찾기 위해 공인망 2번 랜카드를 타고 밖으로 나가기 때문입니다. 이 경우 밖으로 나가지 말고 1번 랜카드를 타고 사내에서 IP를 찾아보라고 라우팅 경로를 수정해줘야 합니다.

만약 특정 IP인 111.111.222.222 에 대해서만 라우팅 경로를 설정하고 싶다면
route add 111.111.222.222 mask 255.255.255.255 111.111.111.1

만약 특정 네트웍인 111.111.222.xxx 에 대하여 라우팅 경로를 설정하고 싶다면
route add 111.111.222.0 mask 255.255.255.0 111.111.111.1

만약 특정 네트웍인 111.111.xxx.xxx 에 대하여 라우팅 경로를 설정하고 싶다면
route add 111.111.0.0 mask 255.255.0.0 111.111.111.1

위 3번째 경우는 111.111로 시작하는 모든 IP에 대해서는 1번 랜카드를 타고 나가라는 뜻입니다. 이처럼 특정 IP 대역에 대해서 특정 랜카드를 사용하도록 설정하고 싶다면 route add 명령어를 사용하시면 됩니다.

그런데 route add 명령어를 사용할 때 한가지 주의할 점이 있습니다. 바로 -p 옵션입니다. -p 옵션을 붙여주면 재부팅해도 지워지지 않는 영구 경로로 설정됩니다. 만약 붙이지 않으면 재부팅 후에는 정보가 사라지게 됩니다. 따라서 라우팅을 추가할 때는 -p 옵션을 꼭 붙여주는게 좋겠지요.

혹시 네트웍 기초에 대해 공부하고 싶으시다면 아래 글을 참조하세요. 중간에 보이는 그림을 클릭하시면 동영상 강의가 시작됩니다. 저도 그동안 네트웍에 대해 따로 공부해본 적이 없기 때문에, 아래 동영상이 기초 개념을 잡는데 많은 도움이 되었습니다.

[하루 30분 고수 프로젝트] 외전 : Windows Server 관리를 시작하는 직장인을 위한 TCP/IP