IT일반/네트워크

[네트워크] 라우팅 테이블 설정방법 (두개이상 랜카드를 사용시 네트워크안될경우)

ss-pro 2020. 9. 12. 00:01
반응형

근래들어 테더링등을 통하여 외부망을 연결하거나  외부업체들과 인터페이스를 할경우 별도망으로 구축하는경우가 많습니다. 이럴때 두개이상의 랜카드를 사용해야하는데 한개의 랜카드를 뽑으면 연결이 잘되고 두개를 연결할경우 한쪽이 안되는 경우를 볼수 있습니다.  이럴경우 물리적 연결이 정상적이라고 하면 대부분 라우팅 테이블을 설정하지 않아서 발생하는 문제입니다. 

그럼 라우팅이란 무엇일까요? 위키로  검색해보면 "라우팅(영어: routing)은 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정이다" 라고 설명되어있습니다.  네트워크상에 패킷을 보낼때 경로를 설정해준다고 보면 될것 같습니다. 

커맨드창에서 route /? 명령을 치며 아래와 같이 설명이 나옵니다. 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
C:\Users>route /?
 
네트워크 라우팅 테이블을 조작합니다.
 
ROUTE [-f] [-p] [-4|-6] command [destination]
                  [MASK netmask]  [gateway] [METRIC metric]  [IF interface]
 
  -f           모든 게이트웨이 항목의 라우팅 테이블을 지웁니다. 명령 중
               하나와 함께 이 옵션을 사용하면 명령 실행 전에
               테이블이 지워집니다.
 
  -p           ADD 명령과 함께 이 옵션을 사용하면 시스템을 다시 부팅해도
               경로가 보존됩니다. 시스템을 다시 시작할 때 기본적으로 경로가
               보존되지 않습니다. 해당 영구 경로에 항상 영향을 주는
               다른 모든 명령에 대해서는 무시됩니다.
 
  -4           IPv4를 사용합니다.
 
  -6           IPv6을 사용합니다.
 
  command      다음 중 하나입니다.
                 PRINT     경로를 인쇄합니다.
                 ADD       경로를 추가합니다.
                 DELETE    경로를 삭제합니다.
                 CHANGE    기존 경로를 수정합니다.
  destination  호스트를 지정합니다.
  MASK         다음 매개 변수가 'netmask' 값임을 지정합니다.
  netmask      이 경로 항목에 대한 서브넷 마스크 값을 지정합니다.
               지정하지 않으면 기본값 255.255.255.255가 사용됩니다.
  gateway      게이트웨이를 지정합니다.
  interface    지정한 경로에 대한 인터페이스 번호입니다.
  METRIC       대상의 비용과 같은 메트릭을 지정합니다.
 
대상에 사용되는 모든 심볼 이름은 네트워크 데이터베이스 파일인
NETWORKS에서 찾습니다. 게이트웨이에 대한 심볼 이름은 호스트 이름
데이터베이스 파일인 HOSTS에서 찾습니다.
 
명령이 PRINT 또는 DELETE인 경우 대상이나 게이트웨이에 별표(*)로 지정되는
와일드카드를 사용할 수 있고 게이트웨이 인수를 생략할 수 있습니다.
 
대상에 * 또는 ?가 있으면 셸 패턴으로 처리되며 일치하는
대상 경로만 인쇄됩니다. '*'는 문자열에 해당하고
'?'는 한 문자에 해당합니다. 예: 157.*.1157.*127.**224*.
 
패턴 일치는 PRINT 명령에서만 허용됩니다.
진단 참고:
    (DEST & MASK) != DEST와 같이 잘못된 마스크가 오류를 생성합니다.
    예: route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
             경로 추가에 실패했습니다. 지정한 마스크 매개 변수가 잘못되었습니다. (Destination & Mask) != Destination입니다.
 
예:
 
    > route PRINT
    > route PRINT -4
    > route PRINT -6
    > route PRINT 157*          .... 일치하는 157*만 인쇄
 
    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
             destination^      ^mask      ^gateway     metric^    ^
                                                         Interface^
      IF를 지정하지 않으면 지정된 게이트웨이에 가장 적절한 인터페이스를 찾으려고
      합니다.
    > route ADD 3ffe::/32 3ffe::1
 
    > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
 
      CHANGE는 게이트웨이 및/또는 메트릭을 수정하는 데만 사용됩니다.
 
    > route DELETE 157.0.0.0
    > route DELETE 3ffe::/32
cs


route print명령을 실행하면 현재 라우팅테이블 정보를 확인할수 있습니다. 

// 라우팅 추가방법
route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
             destination^      ^mask      ^gateway     metric^    ^
                                                                       Interface^


destination :  목적지 IP주소입니다. 
mask         : 서비넷 마스크입니다. 
gateway     : 보내고자하는 랜카드의 게이트웨이 정보입니다. 게이트웨이가 미설정시에는 IP정보를 입력하면됩니다. 
metric       : 우선순위이며 낮을수록 높은 우선순위를 가집니다. 1이 가장높은 우선순위입니다. 
interface    : 이부분은 랜카드 인터페이스 정보입니다. 
                 아래이미지를 보면 route print로 라우팅 테이블정보가 확인이 가능하며 Realeck PCIe Gbe Family
                 Controller의 랜카드인터페이스 값이 4인것을 확인할수 있습니다. 


아래와 같이 랜카드 2개가 있다고 가정해서 라우팅을 걸어보도록 하겠습니다. 
랜카드1. (Realeck PCIe Gbe Family  Controller)
IP          : 172.16.1.100 
서브넷    : 255.255.255.0
Gateway : 172.16.1.1 
Interface 값 : 4

랜카드2  Intel(R)
IP        : 192.168.0.7
서브넷  :  255.255.255.0
게이트웨이 : 192.168.0.1 
Interface값 : 5

연결해야될 목적지가 172.16.2.100이라고 가정해보겠습니다. 
tracert 명령으로 어느 게이트웨이로 나가는지 확인이 가능합니다. 아래명령으로 해보면 게이트웨이 192.168.0.1의 경로로 경로가 나가는건이 확인됩니다. 이렇게되면 연결이 되지 않습니다. 이때 라우팅명령으로 연결을 추가해줍니다. 

tracert 명령으로 네트워크 경로추적
172.16대역이 192.168대역으로 나가고 있어서 목적지와 연결되지 않는부분을 확인할수 있습니다. 


라우팅 테이블 추가방법 
1) 172.16.1.100 아이피 한곳에만 접속시 

route add 172.16.2.100 mask 255.255.255.255 172.16.1.1 metric 3 IF 4

2) 172.16.2.1~254 대역에 접속시 
route add 172.16.2.0 mask 255.255.255.0 172.16.1.1 metric 3 IF 4

3) 172.16.2.1~254, 172.16.3.1~254등   대역에 접속시  
route add 172.16.0.0 mask 255.255.0.0 172.16.1.1 metric 3 IF 4

주의사항 
라우팅을 설정하더라고 PC를 재부팅하면 설정해둔 라우팅 정보가 사라집니다. 

꼭 -p옵션을 사용해서 영구경로로 만들어줘야 재부팅시에도 라우팅정보가 그대로 유지됩니다.
route add -p172.16.2.100 mask 255.255.255.255 172.16.1.1 metric 3 IF 4

// -p 옵션설명
  -p           ADD 명령과 함께 이 옵션을 사용하면 시스템을 다시 부팅해도
               경로가 보존됩니다. 시스템을 다시 시작할 때 기본적으로 경로가

               보존되지 않습니다. 해당 영구 경로에 항상 영향을 주는
               다른 모든 명령에 대해서는 무시됩니다.


라우팅 삭제방법 
route delete 172.16.2.100


참고) 
korean-daeddo.blogspot.com/2016/01/blog-post_26.html#contents01
ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%8C%85