Project

[Network] 프로젝트 - 네트워크 전반을 구성해보자 Part 3

Yoonsoo Park 2024. 9. 4. 15:41

이번 프로젝트에서 맡게된 파트인 '지사' 부분의 네트워크를 구성하면서 엔지니어링 노트를 작성해보자!

 

담당 업무: 지사 네트워크와 WAN 네트워크 구축하기 

 

1. 지사 네트워크 구축 

네트워크 설계 토폴로지
GNS3로 설계한 지사 네트워크 토폴로시

지사 네트워크 설계 조건 및 구성

  • 현황
    • 부산, 울산 지사
    • 각 지사 당 5층, 5개 부서
    • 각 부서에 10명이 있다고 가정
  • 2-Tier(Layer 2) 구조
    • Access 스위치
    • Aggregate 스위치 (이중화) - NAT
  • 서브네팅, VLAN 설정 - 부서 별
    • 브로드캐스트 도메인 줄임
    • 보안: 각 부서의 네트워크에 타 부서가 접근 불가하게 (ACL 설정)
  • 라우팅 프로토콜
    • RIP v2/Static - 작은 규모니까 한번 사용해보자
  • DHCP
    • L3 스위치를 통해서 구성 (작은 규모일 경우 가능)

 

1. 부서 별 서브넷을 나누고 VLAN 설정

목적

  • 브로드캐스트 도메인 줄이기
  • 보안(접근 제어 - ACL, 네트워크 트래픽 분리)

1) Access 스위치 각 포트에 VLAN 설정 및  Serial 포트 연결

*GNS3의 Cisco 네트워크 장비 기준 설정법 입니다

 

*Access  스위치 설정

울산 지사의 인사 팀 부서 네트워크

R1 # vlan database 
R1(vlan) # vlan 10 name v10 
R1(vlan) # exit

R1(config) # interface fa 1/0 
R1(config-if) # switchport access vlan 10 
R1(config-if) # exit
R1(config) # interface fa 1/1
R1(config-if) # switchport access vlan 10 
R1(config-if) # exit
R1(config) # interface fa 1/14
R1(config-if) # switchport access vlan 10 
R1(config-if) # exit
R1(config) # interface fa 1/15 
R1(config-if) # switchport access vlan 10 
R1(config-if) # exit

=> 동일한 방식으로 모든 Access 스위치에 VLAN 설정해주기 

 

*Aggregate 스위치 설정

울산 지사의 Aggregate 스위치

L3Sw # vlan database
L3Sw3(vlan) # vlan 10 name v10
L3Sw3(vlan) # vlan 20 name v20
L3Sw3(vlan) # vlan 30 name v30
L3Sw3(vlan) # vlan 40 name v40
L3Sw3(vlan) # vlan 50 name v50
L3Sw3(vlan) # exit

L3Sw3 # conf t
L3Sw3(config) # interface fa 1/0 
L3Sw3(config-if) # switchport access vlan 50 
L3Sw3(config-if) # exit
L3Sw3(config) # interface fa 1/1
L3Sw3(config-if) # switchport access vlan 40 
L3Sw3(config-if) # exit
L3Sw3(config) # interface fa 1/2
L3Sw3(config-if) # switchport access vlan 30 
L3Sw3(config-if) # exit
L3Sw3(config) # interface fa 1/3
L3Sw3(config-if) # switchport access vlan 20 
L3Sw3(config-if) # exit
L3Sw3(config) # interface fa 1/4
L3Sw3(config-if) # switchport access vlan 10 
L3Sw3(config-if) # exit

*SVI 설정: L3 스위치의 포트에 VLAN을 설정하여 가상의 인터페이스로 만드는 것
(L2 스위치의 포트에는 IP를 부여할 수 없음)
L3Sw3(config) # interface vlan 10 
L3Sw3(config-if) # ip address 192.168.40.2 255.255.255.0  *DHCP를 통해 부여할 사설 IP 대역의 IP 중 하나를 부여
L3Sw3(config-if) # standby 10 ip 192.168.40.1  *네트워크 이중화 VRRP(Cisco- HSRP) 설정, VRRP의 경우 standby 말고 vrrp로 기입
L3Sw3(config-if) # standby 10 priority 250  *priority 값 다르게 설정, Master(Active)로 하고 싶은 라우터에 높은 값 부여 
L3Sw3(config-if) # standby 10 preempt -> 선점

L3Sw3(config) # interface vlan 20 
L3Sw3(config-if) # ip address 192.168.41.2 255.255.255.0 
L3Sw3(config-if) # standby 20 ip 192.168.41.1
L3Sw3(config-if) # standby 20 priority 250  
L3Sw3(config-if) # standby 20 preempt 

=> 다른 VLAN도 동일하게 설정 (vlan 30, 40, 50)

Aggregate 스위치 간 Trunk 포트 설정을 통해 LAN 이중화(STP)
L3Sw3(config) # interface fa 1/10
L3Sw3(config-if) # switchport mode trunk
L3Sw3(config-if) # switchport trunk encapsulation dot1q
L3Sw3(config-if) # exit

 

*LAN 이중화(STP)

: VRRP(HSRP)를 이용해 네트워크 이중화를 하고, aggregate 스위치 사이를 트렁크 포트로 연결하면 looping이 될 수 있는 요건이 만들어진다. 이를 방지하고 LAN 이중화를 하기 위해서는 STP 설정을 해줘야 한다(자동으로 설정되지만 priority 값을 설정해야 의도한 방식으로 통신이 된다). 

Spanning Tree를 구성하는 aggregate 스위치와 access 스위치 간 STP priority 값을 조정해줘야 함
=> 본 커맨드는 aggregate 스위치 3을 root bridge로 만들어 spanning tree를 구성한 것이다

*각 vlan마다 STP를 설정해줘야 함
L3Sw3(config) #spanning-tree vlan 10 priority 0
L3Sw3(config) #spanning-tree vlan 20 priority 0
L3Sw3(config) #spanning-tree vlan 30 priority 0
L3Sw3(config) #spanning-tree vlan 40 priority 0
L3Sw3(config) #spanning-tree vlan 50 priority 0

*다른 aggregate 스위치(L3Sw4)에는 더 큰 priority
(하지만 Master로 설정된 스위치에 failover가 발생하는 경우 Backup->Master로 상태가 바뀌어야 하므로 Access 스위치보다 적게 설정)
L3Sw4(config) #spanning-tree vlan 10 priority 10
L3Sw4(config) #spanning-tree vlan 20 priority 10
L3Sw4(config) #spanning-tree vlan 30 priority 10
L3Sw4(config) #spanning-tree vlan 40 priority 10
L3Sw4(config) #spanning-tree vlan 50 priority 10

*Access 스위치에는 가장 큰 priority 부여
AcSw1(config) #spanning-tree vlan 10 priority 20

AcSw2(config) #spanning-tree vlan 20 priority 20

AcSw3(config) #spanning-tree vlan 30 priority 20

AcSw4(config) #spanning-tree vlan 40 priority 20

AcSw5(config) #spanning-tree vlan 50 priority 20

* STP 상태 확인 
L3Sw3(config) #show spanning-tree brief

=> 부산 지사의 네트워크에도 동일하게 설정

 

*Serial 인터페이스 설정 

울산 지사 Aggregate 스위치 씨리얼 인터페이스 설정

L3Sw3(config) # interface serial 2/0  *인터넷 망에 연결하는 씨리얼 인터페이스 
L3Sw3(config-if) # no switchport
L3Sw3(config-if) # no shutdown
L3Sw3(config-if) # ip address 49.236.144.1 255.255.255.252  
L3Sw3(config-if) # exit

*ISP에서 부여받은 공인 IP 대역(49.236.144.0/29)을 서브네팅(/30)해서 사용 
*49.236.144.2/30은 인터넷 라우터 인터페이스 쪽 부여 
=> 이중화된 라우터에도 동일하게 설정해주기(49.236.144.4/30)

L3Sw3(config) # interface serial 2/1  *인트라넷(WAN)에 연결하는 씨리얼 인터페이스 
L3Sw3(config-if) # no switchport
L3Sw3(config-if) # no shutdown
L3Sw3(config-if) # ip address 10.0.0.9 255.255.255.252  
L3Sw3(config-if) # exit

*인트라넷은 사설망이기 때문에 사설 IP 대역(10.0.0.8/30)을 부여해서 사용
*10.0.0.10/30은 WAN 라우터 인터페이스 쪽에 부여 
=> 이중화된 라우터에도 동일하게 설정해주기

=> 부산 지사의 경우, 인터넷 라우터로 연결된 씨리얼 인터페이스에 부여할 공인 IP 대역을 211.254.252.0/29로 바꿔주기만 하면 된다.

 

 

2) L3 스위치(Aggregate 스위치)에 DHCP 설정해서 IP 부여 받기

*DHCP 서버 설정 - Aggregate 스위치 

L3Sw3(conf) #ip dhcp pool v10
L3Sw3(dhcp-config) #network 192.168.40.0 255.255.255.0
L3Sw3(dhcp-config) #default-router 192.168.40.1  *vlan에 부여 된 IP, vrrp 설정 시 vrrp의 ip
L3Sw3(dhcp-config) # end 
L3Sw3(conf) #ip dhcp excluded-address 192.168.30.1 192.168.30.3  *이미 사용된 IP는 Pool에서 제외

L3Sw3(conf) #ip dhcp pool v20
L3Sw3(dhcp-config) #network 192.168.41.0 255.255.255.0
L3Sw3(dhcp-config) #default-router 192.168.41.1 
L3Sw3(dhcp-config) # end 
L3Sw3(conf) #ip dhcp excluded-address 192.168.41.1 192.168.41.3

=> 나머지 풀도 동일하게 설정(v30, v40, v50)


Windows의 경우, 
window+r -> ncpa.cpl -> 이더넷 -> 인터넷 프로토콜 v4 -> 자동으로 ip 할당받기 설정 후
cmd(명령창)에서 ipconfig로 확인

Cisco는 콘솔에 ip dhcp 기입해 직접 설정해줘야 함

Putty로 본 DHCP 서버에서 IP를 부여받은 장면

 

 

3) Aggregate 스위치에 NAT(PAT) 설정

*일반적으로 NAT 설정은 distribution 계층의 스위치에 설정한다. 

인터넷 라우터로 연결되는 씨리얼 인터페이스에 부여된 공인 IP로 VLAN의 사설 IP들을 PAT해서 내보낸다. PAT를 이용해서 후에 라우팅 프로토콜을 통해 라우팅 했을 때, 인터넷 망으로 나가는 패킷들이 ISP에서 설정한 ACL에 걸리지 않게 한다. 

*공인 IP로 NAT되는 사설 IP 대역 쪽 인터페이스를 Inside, 변환되어 나가는 부분의 인터페이스를 Outside로 설정

L3Sw3(config)#int serial 2/0
L3Sw3(config-if)#ip nat outside
L3Sw3(config-if)#ex
L3Sw3(config)#int vlan 10
L3Sw3(config-if)#ip nat inside
L3Sw3(config-if)#ex
L3Sw3(config)#int vlan 20
L3Sw3(config-if)#ip nat inside
L3Sw3(config-if)#ex
L3Sw3(config)#int vlan 30
L3Sw3(config-if)#ip nat inside
L3Sw3(config-if)#ex
L3Sw3(config)#int vlan 40
L3Sw3(config-if)#ip nat inside
L3Sw3(config-if)#ex
L3Sw3(config)#int vlan 50
L3Sw3(config-if)#ip nat inside
L3Sw3(config-if)#ex

*ACL 이용하여 NAT할 사설 IP 대역을 VLAN 별로 설정(ACL number는 동일하게 설정) 
L3Sw3(config)#access-list 1 permit 192.168.40.0 0.0.0.255
L3Sw3(config)#access-list 1 permit 192.168.41.0 0.0.0.255
L3Sw3(config)#access-list 1 permit 192.168.42.0 0.0.0.255
L3Sw3(config)#access-list 1 permit 192.168.43.0 0.0.0.255
L3Sw3(config)#access-list 1 permit 192.168.44.0 0.0.0.255

*사설 IP가 NAT될 공인 IP pool 또는 인터페이스를 설정
L3Sw3(config)#int serial 2/0
L3Sw3(config-if)# ip nat inside source list 1 interface serial 2/0 overload 
*inside로 설정된 사설 ip 대역을 해당 인터페이스에 부여된 공인 ip로 NAT하여 내보낸다

=> 다른 Aggregate 스위치들도 동일한 방법으로 설정

 

 

4) 라우팅 프로토콜 설정

조건: 지사 내부 네트워크는 RIPv2를 통해 라우팅하고, WAN 및 Internet은 OSPF를 통해 라우팅

=> Internet Router, WAN Router에서 OSPF, RIPv2의 라우팅 테이블을 연동하는 과정이 필요함

* 부산 지사 Aggregate 스위치1 

L3Sw1(config) #router rip
L3Sw1(config-router) #version 2
L3Sw1(config-router) #no auto-summary
L3Sw1(config-router) #network 192.168.30.0 
L3Sw1(config-router) #network 192.168.31.0 
L3Sw1(config-router) #network 192.168.32.0 
L3Sw1(config-router) #network 192.168.33.0 
L3Sw1(config-router) #network 192.168.34.0 
L3Sw1(config-router) #network 211.254.252.0
L3Sw1(config-router) #network 10.0.0.0
L3Sw1(config-router) #end

*울산 지사 Aggregate 스위치1 

L3Sw3(config) #router rip
L3Sw3(config-router) #version 2
L3Sw3(config-router) #no auto-summary
L3Sw3(config-router) #network 192.168.40.0 
L3Sw3(config-router) #network 192.168.41.0 
L3Sw3(config-router) #network 192.168.42.0 
L3Sw3(config-router) #network 192.168.43.0 
L3Sw3config-router) #network 192.168.44.0 
L3Sw3(config-router) #network 49.235.155.0
L3Sw3(config-router) #network 10.0.0.8
L3Sw3(config-router) #end

=> 두 지점의 이중화된 스위치도 동일하게 설정
*Internet Router 
Internet Router (config) #router rip
Internet Router (config-router) #version 2
Internet Router (config-router) #no auto-summary
Internet Router (config-router) #network 211.254.252.0
Internet Router (config-router) #network 211.254.252.4
Internet Router (config-router) #network 49.235.155.0
Internet Router (config-router) #network 49.235.155.4
Internet Router (config-router) #exit

Internet Router (config) #router ospf 1
Internet Router (config-router) #network 211.254.252.0 0.0.0.3 area 0  *모든 OSPF의 area Num을 동일하게 설정
Internet Router (config-router) #network 211.254.252.4 0.0.0.3 area 0
Internet Router (config-router) #network 49.235.155.0 0.0.0.3 area 0
Internet Router (config-router) #network 49.235.155.4 0.0.0.3 area 0
Internet Router (config-router) #network 1.1.1.16 0.0.0.3 area 0  *인터넷 쪽 ISP 라우터와 연결하는 게이트웨이 네트워크 주소
Internet Router (config-router)# exit

Internet Router (config)# router rip  *RIPv2와 OSPF 연동 
Internet Router (config-router)# version 2
Internet Router (config-router)# redistribute ospf 1 metric 1
Internet Router (config-router)# exit

Internet Router (config)# router ospf 1
Internet Router (config-router)# redistribute rip subnets
Internet Router (config-router)# exit


*WAN Router 
WAN Router (config) #router rip
WAN Router (config-router) #version 2
WAN Router (config-router) #no auto-summary
WAN Router (config-router) #network 10.0.0.0
WAN Router (config-router) #network 10.0.0.4
WAN Router (config-router) #network 10.0.0.8
WAN Router (config-router) #network 10.0.0.12
WAN Router (config-router) #network 10.0.0.16  *WAN 스위치 쪽 게이트웨이 네트워크 주소
WAN Router (config-router)# exit

WAN Router (config) #router ospf 1
WAN Router (config-router) #network 10.0.0.0 0.0.0.3 area 0
WAN Router (config-router) #network 10.0.0.4 0.0.0.3 area 0
WAN Router (config-router) #network 10.0.0.8 0.0.0.3 area 0
WAN Router (config-router) #network 10.0.0.12 0.0.0.3 area 0
WAN Router (config-router) #network 10.0.0.16 0.0.0.3 area 0  *WAN 스위치 쪽 게이트웨이 네트워크 주소
WAN Router (config-router)# exit

WAN Router (config)# router rip  *RIPv2와 OSPF 연동 
WAN Router (config-router)# version 2
WAN Router (config-router)# redistribute ospf 1 metric 1
WAN Router (config-router)# exit

WAN Router (config)# router ospf 1
WAN Router (config-router)# redistribute rip subnets
WAN Router (config-router)# exit

 

 

5) ACL 설정 통해서 핵심 부서로의 접근 차단하기

*1번째 가정, 같은 지사 내의 부서들 중 핵심 부서를 제외한 나머지 부서에서 핵심 부서로의 접근을 차단하라

(Named ACL 사용)
L3Sw3(config) #ip access-list standard Denial
L3Sw3(config-std) #deny 192.168.40.0 0.0.0.255
L3Sw3(config-std) #deny 192.168.41.0 0.0.0.255
L3Sw3(config-std) #deny 192.168.42.0 0.0.0.255
L3Sw3(config-std) #deny 192.168.44.0 0.0.0.255
L3Sw3(config-std) #permit any  *ACL은 설정된 정책 이외 전부 Deny하기 때문에 설정해야 함(정책을 위에서부터 확인하기 때문에 가장 마지막에 설정)
L3Sw3(config) #interface vlan40  *인사팀의 VLAN
L3Sw3(config-if) #ip access-group Denial out  *라우터를 기준으로 인터페이스 VLAN 40에서 outbound되는 패킷에 대해 정책 적용

=> 다른 aggregate 스위치에도 동일하게 설정하기

 

*2번째 가정, 본사, 부산, 울산 지사의 모든 부서 중 인사팀끼리만 접근이 되고, 다른 부서에서는 인사팀에 접근 불가

L3Sw3(config) #ip access-list standard Denial
L3Sw3(config-std) #permit 192.168.43.0 0.0.0.255  *울산 지사의 인사팀 사설 IP 대역
L3Sw3(config-std) #permit 192.168.33.0 0.0.0.255  *부산 지사의 인사팀 사설 IP 대역
L3Sw3(config-std) #deny 192.168.0.0 0.0.127.255 *서울, 부산, 울산의 모든 부서의 사설 IP 대역을 포함하는 대역
L3Sw3(config-std) #permit any

=> * ACL 정책은 위에서부터 순차 적용하기 때문에 첫 두 조건에 해당되는 사설 IP 대역(울산, 부산의 인사팀)은 정상적으로 통신이 되고, 다른 부서에서 오는 통신은 차단된다. 인터넷에서 들어오는 패킷은 차단되는 IP에 해당하지 않기 때문에 인터넷 접속은 가능하다.

 

 

2. WAN 구축하기 

지사와 본사를 연결하는 인트라넷(WAN)

 

모든 WAN 스위치에 인터페이스 설정과 OSPF 설정을 해주면 된다.

*WAN 라우터 1에 설정
WAN Router1(config) #int serial 1/0
WAN Router1(config-if) #no sh
WAN Router1(config-if) #ip add 10.0.0.18 255.255.255.252
WAN Router1(config-if) #ex

WAN Router1(config) #router ospf 1
WAN Router1(config-router) #network 10.0.0.16 0.0.0.3 area 0
WAN Router1(config-router) #network 10.0.0.20 0.0.0.3 area 0
WAN Router1(config-router) #ex

=> 모든 WAN 스위치에 동일한 방법으로 설정

 

 

3. GNS3 클라우드 도구 이용해 컴퓨터 간 네트워크 연동하기

*정말 생각보다 쓸데없이 애먹은 부분이다..

 

1) 이더넷의 IP를 Static으로 설정 

*통신 대상의 IP는 10.10.20.5/24로 설정했다고 가정한다.

 

2) 클라우드 만들기(절대 케이블 먼저 연결하지 않기!!)

  • Local Port: 내 포트 번호
  • Remote Host: 통신 대상의 IP 주소
  • Remote Port: 통신 대상의 IP 주소

*서로의 IP 주소를 기입하고, 대상의 Local Port를 내 Remote Port로, 대상의 Remote Port를 내 Local Port로 설정한다. 

 

3) 케이블 연결하기

  • 클라우드와 연결된 라우터의 인터페이스 설정
    • 인터페이스에 IP 부여 
    • OSPF로 연결된 게이트웨이 네트워크 주소 광고

4) 연결 성공됐다면...

  • 통신 대상의 네트워크와 라우팅 테이블이 동기화된다. 
  • 네트워크 간의 통신이 된다.
  • 라우팅 테이블을 완전히 동기화하는데 약간의 시간이 걸릴 수 있다. 

 

 

힘들지만 오늘도 해낸 나를 위한 한 마디,

"꿈을 이루려면 단번에는 불가능하다. 매일 조금씩 작은 것을 쌓아가다 보면 언젠가는 믿을 수 없는 힘을 낼 수 있게 된다.", 스즈키 이치로