실습)
# PC A와 PC B가 통신이 되는지 확인
10.20.32.0 /23
512 / 32 = 16
2^4 < 호스트 수 = 16+2 < 2^5
2^(32-SM)-2, 32-SM=5
SM = 27
SM: 255.255.255.11100000(128+64+32=224), 225.255.255.224 /27
규모: 256 - 224 = 2^5 = 32bit
16호스트 → 16+2 = 18 규모 ≤ 2^5
규모 = 5bit
10.20.00100000.0
기존 SM: 255.255.254.0 /23
11111110.0
이후 SM: 255.255.255.224 /27
11111111.11100000
늘어난 네트워크 수: 4
주어진 규모 = 갯수 × 규모
2^9 = 2^4 × 2^5
10.20.32.0 /27
10.20.32.32 /27
10.20.32.64 /27
10.20.32.96 /27
# R1
Router>en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 10.20.32.30 255.255.255.224
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 10.20.32.40 255.255.255.224
Router(config-if)#no sh
# R2
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 10.20.32.50 255.255.255.224
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 10.20.32.70 255.255.255.224
Router(config-if)#no sh
Router(config-if)#do ping 10.20.32.40
# R3
Router>en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 10.20.32.80 255.255.255.224
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 10.20.32.100 255.255.255.224
Router(config-if)#no sh
Router(config-if)#do ping 10.20.32.70
라우팅설정
# R1
Router(config-if)#router os 10
Router(config-router)#router-id 1.1.1.1
Router(config-router)#net 10.20.32.30 0.0.0.0 a 0
Router(config-router)#net 10.20.32.40 0.0.0.0 a 0
# R2
Router(config-if)#router os 10
Router(config-router)#router-id 2.2.2.2
Router(config-router)#net 10.20.32.50 0.0.0.0 a 0
Router(config-router)#net 10.20.32.70 0.0.0.0 a 0
# R1
- R1의 dhcp 설정
Router(config)#ip dhcp pool 1
Router(dhcp-config)#net 10.20.32.0 255.255.255.224
Router(dhcp-config)#de
Router(dhcp-config)#default-router 10.20.32.30
# R3
- R3의 dhcp 설정
Router(config-router)#ip dhcp pool 1
Router(dhcp-config)#net 10.20.32.96 255.255.255.224
Router(dhcp-config)#de
Router(dhcp-config)#default-router 10.20.32.100
PC에서 IP를 잘 받아왔는지 확인
슈퍼네팅
서브네팅 ↔ 슈퍼네팅
ip route 32.0 /24
ip route 33.0 /24
= ip route 32.0 /23
VLSM (Variable Length Subnet Mask)
1. 각 네트워크를 규모 순으로 정렬(2진수법칙)
ex. 10 5 20 → 20 10 5
2. 큰 순서대로 서브넷을 구하기
실습)
R1이 A네트워크의 DHCP 서버
R3가 B네트워크의 DHCP 서버
라우터끼리 연결하는 네트워크는 프리픽스 30
호스트수 = 2^(32-SM) - 2
A: 40 host = 2^6 규모
40+2 < 2^6 = 64
32-SM=6, SM=26
255.255.255.192 /26
B: 10 host = 2^4 규모
10+2 < 2^4 = 16
32-SM=4, SM=28
255.255.255.240 /28
A: .128 ~ .191 /26 (.192)
B: .192 ~ .207 /28 (.240)
내부: /30 (.252)
#R1의 설정
Router>en
Router#conf t
Router(config)#int f0/1
Router(config-if)#ip add 10.10.10.130 255.255.255.192
Router(config-if)#no sh
Router(config-if)#int f0/0
Router(config-if)#ip add 128.30.20.17 255.255.255.252
Router(config-if)#no sh
Router(config-if)#ip dhcp pool 1
Router(dhcp-config)#net 10.10.10.128 255.255.255.192
Router(dhcp-config)#default-router 10.10.10.130
Router(dhcp-config)#router os 10
Router(config-router)#router-id 1.1.1.1
Router(config-router)#net 10.10.10.130 0.0.0.0 a 0
Router(config-router)#net 128.30.20.17 0.0.0.0 a 0
#R2의 설정
Router>en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 128.30.20.18 255.255.255.252
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 128.30.20.21 255.255.255.252
Router(config-if)#no sh
Router(config-if)#router os 10
Router(config-router)#router-id 2.2.2.2
Router(config-router)#net 128.30.20.18 0.0.0.0 a 0
Router(config-router)#net 128.30.20.21 0.0.0.0 a 0
#R3의 설정
Router>en
Router#conf t
Router(config)#int f0/1
Router(config-if)#ip add 128.30.20.22 255.255.255.252
Router(config-if)#no sh
Router(config-if)#int f0/0
Router(config-if)#ip add 10.10.10.200 255.255.255.240
Router(config-if)#no sh
Router(config-if)#ip dhcp pool 1
Router(dhcp-config)#net 10.10.10.192 255.255.255.240
Router(dhcp-config)#default-router 10.10.10.200
Router(dhcp-config)#router os 10
Router(config-router)#router-id 3.3.3.3
Router(config-router)#net 10.10.10.200 0.0.0.0 a 0
Router(config-router)#net 128.30.20.22 0.0.0.0 a 0
B네트워크의 PC에서 A네트워크의 PC로 통신되는지 확인
사설 네트워크 (Private Network)
사설 IP를 사용하는 내부 네트워크
전세계에 무수히 많은 사설 네트워크가 존재
(IPtime 공유기 default 192.168.0.0 /24)
NAT (Network Address Translation)
네트워크 주소 변환, 주로 내부와 외부 사이의 경계에서
IP가 변하면 전부 NAT이지만, 일반적으로 '내부 → 외부' 또는 '외부 → 내부'의 경우에 가장 많이 쓰임
- PAT(Port NAT)
내부 → 외부: Source(출발지) + Dynamic(동적) - DNAT(Destination NAT)
외부 → 내부: Destination(목적지) + Static(정적)
Port
4계층, NIC 포트 아님
실습)
PAT, DNAT 설정
내부: 사설 IP, 외부: 공인 IP
#R1의 기본설정
Router>en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 192.168.1.200 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 1.1.1.100 255.255.255.0
Router(config-if)#no sh
#R2의 기본설정
Router>en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 1.1.1.200 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 172.16.101.200 255.255.255.0
Router(config-if)#no sh
PAT 설정 (R1)
1. Source 정의(ACL - Access Control List)
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
# 192.168.1.0 /24가 Source
2. 내부(inside) 외부(outside)를 구분
Router(config)#int f0/0
Router(config-if)#ip nat inside
Router(config-if)#int f0/1
Router(config-if)#ip nat outside
3. NAT 명령
Router(config-if)#ip nat inside source list 1 int f0/1 overload
# 192.168.1.0 /24의 내부 사설 출발지 주소들을 f0/1에 설정된 공인아이피로 변환
# 그방식은 PAT(하나의 IP에 존재하는 포트에 다수의 출발지 사설 IP를 매칭)
4. NAT 확인
Router(config) #do sh run
Router(config)#do sh ip nat tran
# NAT가 발생했는지 확인하는 명령어, 핑을 먼저 쳐서 NAT가 발생하도록 한 후 입력
DNAT 설정 (R2)
# DNAT 설정하기 전, 접속 안되고, 다른 사설 네트워크 내부로 진입하는것 자체가 말이 안되는 전제
1.1.1.200의 80번 포트를 목적지(Destination)로 찾아오는 상대를 내부의 웹서버로 들여보내줌
1. 내부, 외부를 명시
Router(config)#int f0/0
Router(config-if)#ip nat outside
Router(config-if)#int f0/1
Router(config-if)#ip nat inside
2. DNAT 명령어
Router(config-if)#ip nat inside source static tcp 172.16.101.80 80 1.1.1.200 80
# 내부: 172.16.101.80
# 외부: 1.1.1.200
호스트수 = 2^(32-SM) - 2
256 = 2^8
32-24 = 8, 32-23 = 9
10.20.0.0 /15
255.254.0.0 /15
255.255.255.0 /24
규모: 256
10.20.0.0 /24
10.20.1.0 /24
1.2.3.4 /30
255.255.255.252
# R1
Router(config)#int f0/0
Router(config-if)#ip add 10.20.0.200 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 1.2.3.10 255.255.255.252
Router(config-if)#no sh
Router(config-if)#access-list 1 permit 10.20.0.0 0.0.0.255
Router(config)#int f0/0
Router(config-if)#ip nat inside
Router(config-if)#int f0/1
Router(config-if)#ip nat outside
Router(config-if)#ip nat inside source list 1 int f0/1 overload
# 웹 서버 실행 후
Router(config)#do sh ip nat tran
# R2
Router(config)#int f0/0
Router(config-if)#ip add 1.2.3.20 255.255.255.252
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 10.20.1.200 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/0
Router(config-if)#ip nat outside
Router(config-if)#int f0/1
Router(config-if)#ip nat inside
Router(config-if)#ip nat inside source static tcp 10.20.1.80 80 1.2.3.20 80
# 웹 서버 실행 후
Router(config)#do sh ip nat tran
'AWS Cloud School 8기 > 네트워크' 카테고리의 다른 글
7일차) 2025-01-06 (스위치 설정, PAT) (0) | 2025.01.06 |
---|---|
6일차) 2025-01-03 (DHCP, PAT/DNAT, VLAN/스위치 설정) (0) | 2025.01.03 |
4일차) 2024-12-31 (동적 라우팅_OSPF) (1) | 2024.12.31 |
3일차) 2024-12-30 (Routing) (0) | 2024.12.30 |
2일차) 2024-12-27 (IP) (1) | 2024.12.27 |