문제 3
주어진 네트워크 192.168.10.128/25 A, B 네트워크에는 각각 8 host가 필요하다. 균일하게 서브넷팅하되 가장 타이트하게 만들고, PC A와 PC B가 통신되도록 만드시오.
ISP라우터에서 공유기 연결
라우터들끼리 연결(무수히 많은 라우터들)
= 클라우드
동적 라우팅(Dynamic Routing Protocol)
- 목적지로 가는 길을 찾는 과정
- 인터넷에서 데이터가 출발지에서 목적지로 가야할 때, 라우터라는 장치가 가장 빠르고 효율적인 길을 찾아줌
- Dynamic = 유동 + 자동
- 크게 디스턴스 벡터, 링크 스테이트로 나뉘고 각 구분마다 다양한 프로토콜들이 존재하지만 우리는 링크 스테이트의 OSPF라는 프로토콜만 이해하기로 하자
OSPF(Open Shortest Path First)
- 여러 라우터가 연결된 네트워크에서 데이터를 보내야 할 때, 최단 거리를 찾는 방법 OSPF가 제공함
- 인접라우터들(네이버)로 부터 해당 라우터 주변의 객관적인 사실들(ex. 내 f0/1에는 100 mbps 회선으로 A라는 라우터가 있다.)을 전달받아서 자신이 직접 라우팅 테이블을 구성
- 주관적인 정보들이 아니라 객관적인 사실만 전달함, 어떤 경로로 빠르게 가려면 이렇게 해야되겠네 라고 생각하고 경로를 정함. 남의 데이터를 듣는 것보단 개인의 정보를 중요시함
- 네트워크 랜선을 링크라고도 부른다
- 자동라우팅은 빠른길이 여기야 라고 학습된 결과가 나왔을 때 그 길을 사용할 수 없게 된다면 알아서 변경해서 선택함.
- 다이나믹 라우팅과 정적 라우팅의 가장 큰 차이점은 다이나믹의 경우 스스로 경로를 재구성할 수 있다. (문제가 생겼을 때도) 수동은 그때그때 바꿔줘야 됨.
DHCP(Dynamic Host Configuration Protocol)
- IP주소를 자동으로 할당해주는 서비스임
- 호텔에 손님이 오면, 리셉션에서 빈 방을 자동으로 할당해 주는 것처럼, DHCP는 새로운 장치에 사용 가능한 IP주소를 자동으로 배정해 줌
- 호스트들에게 자동으로 ip정보를 부여하는 프로토콜
- '항상' 정보를 제공받는 Client입장을 고려해야함
- UDP 67(server),68(client)
- 브로드캐스트의 특성
-> 내가 속한 네트워크(빨간색 범위)에만 도달 가능하다.
DHCP 문제
DHCP 문제 2
VLSM(Variable Length Subnet Mask)
1. 각 네트워크를 '규모순'으로 정렬함
2. 큰 순서대로 서브넷을 구해나가면 됨
예제 1)
a - 65 host
b - 30 host
c - 40 host
a규모는 = 128
b규모는 = 64
c규모는 = 32
사설 네트워크(Private Network)
- 사설 IP를 사용하는 '내부' 네트워크
- 전 세계에 무수히 많은 사설네트워크가 존재
(IPtime 공유기 default 192.168.0.0/24)
- 192.168.0.0/24 -> c클래스이고 프리픽스 16이 맞음 하지만 그중에 하나 표현으로 24로 사용해도 됨
NAT(Network Address Translation)
1.1.1.1 -> 1.1.1.2 바뀌면 안 되는데 바뀐다 그럼 나트(NAT)
- IP가 변하면 전부 NAT지만, 일반적으로 '내부 주소 -> 외부 주소' 혹은 '외부 주소 -> 내부 주소'의 경우 가장 많이 쓰인다.
'내부 주소 -> 외부 주소' => Source(출발지)를 Dynamic(동적)으로 바꿔줌 = PAT(Port NAT)(그림 참고)
'외부 주소 -> 내부 주소' => Destination(목적지)를 Static(정적)으로 바꿔줌 = DNAT
Port(4 계층, NIC의 포트가 아니다.)
192.168.1.1: <포트> -2^16 = 0 ~ 65535
ex)
118.218.200.33:3001
118.218.200.33:3002
118.218.200.33:3003
외부로 나가고 다시 찾을 때 포트번호를 보고 들어온다.
NIC: Network interface card
A네트워크와 B네트워크가 겹쳐져도 상관없다. 왜냐하면 다른 곳에 있는 내부 네트워크라서 상관없다.
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(하나의 아이피에 존재하는 포트에 다수의 출발지 사설 아이피를 매칭)
PAT = 1개의 공인아이피에 여러 개의 사설 IP를 적재
- PAT 설정 후에 PC에서 R2로 통신이 되는 걸 확인 가능
Router(config)#do sh ip nat tran
- NAT가 발생했는지 확인하는 명령어. 핑을 먼저 쳐서 NAT가 발생하도록 한 후 입력할 것
- 1분 이내에 쳐보면 NAT가 발생했는지 여부를 확인 가능하다. 안 뜨면 NAT설정이 잘못된 것
inside = 나
global = 공인
outside = 상대
local = 사설
DNAT- 1.1.1.200의 80번 포트를 목적지(Destination)로 찾아오는 상대를 내부의 웹서버로 들여보내주겠다.
- pc가 한 번에 웹 서버로 갈 수 있나?
못 간다. 왜냐하면 내부 구역이기 때문에 갈 수 없다
최대로 R2 외부까지만 갈 수 있다.
- DNAT를 설정하기 전. 당연히 접속이 안 된다. 다른 사설 네트워크의 내부로 진입하는 것 자체가 일단 말이 안된다.
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 (외부)
PC에서 입력
R2에서 DNAT확인할 수 있다.
inside global은 내 사설로 들어온 동일 아이피 R2에 1.1.1.200
inside local 내 목적지 사설 아이피 172.16.101.80
outside local 출발한 사설 아이피인데 모르니까 공인 아이피를 씀
outside global 출발한 공인 아이피인데 nat를 안 해줘서 (사설이 공인으로 안 바꿔줘서 통신을 못한다.)
문제
192.168.0.0 /24위 네트워크를 나누어 각 팀별로
WAS 120대, DB 60대, WEB 30대, DEV 2, STAGING 2이 서버들을 대역을 구분하여 구성하고자 한다.
또한 각 서버들은 R1으로부터 IP를 부여받았으면 좋겠다.
적절하게 VLSM 하여 각 팀별 서브넷을 구성하고, 외부와 통신 가능하도록 하시오. R1에서 WAS, DB, WEB 네트워크와 공인대역만 구성하세요.
DEV, STAGING은 VLSM만 하고 설정은 하지 마세요.
공인대역 15.15.15.64 /27 효율적으로 서브넷팅 하세요.
스위치는 같은 네트워크다.
누군가가 내방으로 들어오게 하고 싶다면, nat을 활용해서 들어올 수 있게 만들어줌
Router> en
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip add 192.168.0.10 255.255.255.128
Router(config-if)#no sh
Router(config-if)#int f0/1
Router(config-if)#ip add 192.168.0.130 255.255.255.192
Router(config-if)#no sh
Router(config-if)#int f1/0
Router(config-if)#ip add 192.168.0.200 255.255.255.224
Router(config-if)#no sh
Router(config-if)#int f1/1
Router(config-if)#ip add 15.15.15.65 255.255.255.252
Router(config-if)#no sh
Router(config-if)#ip dhcp pool 1
Router(dhcp-config)#net 192.168.0.0 255.255.255.128
Router(dhcp-config)#default-router 192.168.0.10
Router(dhcp-config)#ip dhcp pool 2
Router(dhcp-config)#net 192.168.0.128 255.255.255.192
Router(dhcp-config)#default-router 192.168.0.130
Router(dhcp-config)#ip dhcp pool 3
Router(dhcp-config)#net 192.168.0.192 255.255.255.224
Router(dhcp-config)#default-router 192.168.0.200
- 서버 설정을 직접 안 하고, dhcp를 사용해서 설정가능
- 패킷이 나갔다가 들어오는 과정. 여러 개의 사설아이피가 하나의 공인아이피로 변경됐음에도 불구하고 서로 식별할 수 있는 이유. 공인아이피는 하나지만 포트가 16비트(65536) 개 있기 때문에 포트로 구분 가능하다.
- SNAP(PAT) 설정
만약에 inside가 많다면
한 번에 inside 만 입력하고 outside 한 번만 해도 된다.
Router(config)#access-list 1 per 192.168.0.0 0.0.0.127
Router(config)#access-list 2 per 192.168.0.128 0.0.0.63
Router(config)#access-list 3 per 192.168.0.192 0.0.0.31
Router(config)#int f0/0
Router(config-if)#ip nat inside
Router(config-if)#int f0/1
Router(config-if)#ip nat inside
Router(config-if)#int f1/0
Router(config-if)#ip nat inside
Router(config-if)#int f1/1
Router(config-if)#ip nat out
Router(config-if)#ip nat inside source list 1 int f1/1 over
Router(config)#ip nat inside source list 2 int f1/1 over
Router(config)#ip nat inside source list 3 int f1/1 over
#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 15.15.15.66 255.255.255.252
Router(config-if)#no sh
ex)
오른쪽
WAS 192.168.0.0 /25
DB 192.168.0.128 /26
WEB 192.168.0.192 /27
STAGING 192.168.0.228 /30
왼쪽
DEV 192.168.0.224 /30
DEV를 포함시키지 않으면서 WAS, DB, WEB, STAGING을 슈퍼넷하고 싶다면?
-> 그냥 다 따로 써주면 됨. 더 이상의 축약은 불가능
슈퍼넷팅(<-> 서브넷팅)
합치고 싶은 경우는 슈퍼넷팅
쪼개고 싶은 경우 서브넷팅
- 대상 서브넷들을 포함하는 가장 작은 네트워크를 구하는 것.
- 방법: 서브넷 나열 후 고정되는 최대비트를 구하면 됨.
ex)
192.168.0.0/24
192.168.2.0/24
0. 0000 0000 --- 비트변화
2. 0000 0010 --- 비트변화
자유로운 비트를 0으로 채우면 대표 주소를 얻을 수 있게 됨
=> 192.168.0.0 /22
ex)
1.1.127.0 /24 ---> 0111 1111 . 0000 0000
1.1.128.0 /24 ---> 1000 0000 . 0000 0000
위 두개의 서브넷을 슈퍼넷팅하세요
-> 1.1.0.0/16
3 옥텟과 4 옥텟에 변화가 있기 때문에 서브넷 마스크는 16
스위치 동작 원리
- 스위치는 공장초기화 상태
1. A에서 B로 ping을 친다.
2. f0/8을 통해 맥주소가 AAAA가 있다는 사실을 학습을 한다.
3. 목적지 맥주소를 모르기 때문에 flooding(수신 포트를 제외한 모든 포트에게 전달)을 한다.
4. 당사자가 응답을 한다. 스위치는 학습을 한다.
- MAC이 주소를 받으면 맥테이블에 저장함.
- 3 계층의 브로드캐스팅과 비슷함.
한 개의 스위치를 갖고 여러 개의 네트워크를 구성하고 싶다면?
눈에 보이는 것들을 안 보이게 추상적으로 만드는 것을 가상화
물리적인 장치는 물리적인 네트워크와 연결
가상의 장치는 가상의 네트워크와 연결 - 가상 ip
VLAN(virtual LAN)
- LAN은 일반적으로 Local Area Network를 뜻하는데, 서브넷이나 하나의 네트워크를 뜻하기도 한다.
- 하나의 물리적인 스위치는 일반적으로 하나의 네트워크를 가질 수밖에 없지만 프레임에 특별한 VLAN ID를 추가하여 프레임을 식별 가능하다면 네트워크를 나누는 것과 동일하다.
VLAN 1 = 물리적 네트워크 = 일반적인 프레임(frame)
- 스위치의 폰트에 특별한 tag를 달아서 식별 가능하다면, 네트워크를 나누는 것과 동일한 효과가 발생
- 한 개의 물리 스위치로 여러 개의 서브넷 구성가능
Switch(config)#do sh vlan
# vlan 목록 보는 명령어.
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#exit
# 원하는 vlan 10과 20을 생성.
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
# f0/1을 액세스 모드로 할 거고, vlan 10으로 설정하겠다.
# access = 1:1 단일 vlan만 존재하는 경우. 여기에는 vlan 10만 존재함.
- 짧은 버전
Switch(config)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
# 포트마다 vlan이 잘 설정된 걸 확인했다.
Switch(config-if)#int f0/3
Switch(config-if)#swi mode trunk
# f0/3의 모드를 trunk로 하겠다
# trunk = 다수의 vlan이 존재하는 경우.
라우터 설정
- 항상, 주인터페이스가 동작하고 있어야(no sh) 보조 인터페이스도 동작한다.
Router> en
Router#conf t
Router(config)#int f0/0
Router(config-if)#no sh
Router(config-if)#int f0/0.10
- vlan 10을 의미
- 태깅을 해준다고 함/ 태그 한 것을 같이 인캡슐화 해줌
- 스위치에서 라우터로 갈 때 태깅이 붙으면서 encapsulation 됨,그리고 라우터에 정보를 확인하기 위해 decapsulation을 하고(자동) 그리고 다시 encapsulation을 해줌(수동)
그리고 pc로 데이터를 보냄
Router(config-subif)#encapsulation dot1 Q 10
Router(config-subif)#ip add 10.10.10.250 255.255.255.0
Router(config-subif)#no sh
# 보조인터페이스를 태깅 후 아이피 설정
Router(config)#int f0/0.20
Router(config-subif)#en dot 20
Router(config-subif)#ip add 10.10.20.250 255.255.255.0
Router(config-subif)#no sh
라파주식 회사의 내부 네트워크는 172.16.0.0 /16이다
A팀 VLAN 10 4000 host
B팀 VLAN 20 8000 host
C팀 VLAN 30 10 host
D팀 VLAN 40 200 host
E팀 VLAN 50 500 host
2450-24 스위치는 포트가 충분히 많은 스위치다. 한 개의 스위치로 위 사설 네트워크를 VLSM을 통해 최적의 서브넷을 구성하고 각 네트워크에 장비 한대를 두어 테스트해보세요! 모든 네트워크는 외부로 통신이 되어야 합니다. 외부네트워크는 11.22.33.44 /30을 사용하세요
C팀에는 웹서버가 한대 존재하여 라우터 외부 100번 포트로 접근 시 C의 웹서버의 80번 포트로 연결되도록 한다.
->Router(config-if)#ip nat inside source static tcp 172.16.101.80 80 1.1.1.200 80
D팀은 R1으로부터 아이피를 자동으로 부여받는다.
-> dhcp
'AWS Cloud School 8기 > 네트워크 기본' 카테고리의 다른 글
네트워크 - 2/ 서브넷마스크& 서브넷팅 이론, 구하는 방법 (0) | 2025.01.02 |
---|---|
네트워크/ OSI 7 계층설명 (0) | 2024.12.29 |