1. 라우터
- OSI 7계층 중 네트워크에 속하는 장비.
- 상위(WAN)과 하위(LAN)의 경계에 위치하고 하위 서브넷의 게이트웨이 역할
[+] 라우팅 프로토콜 (routing protocol)
- 경로를 찾아주는 프로토콜
=>Dynamic(자동) : RIP, RIPv2, OSPF, EIGRP <=직접 연결된 모든 네트워크 설정
** Static(수동), Default-Route(수동) <=직접 연결되지 않은 모든 네트워크 설정
routed protocol : 찾아낸 경로로 실제 데이터를 전송하는 프로토콜
=> IP(국제 표준), ipx(Novell 사), appletalk(Apple 사)
[+] 라우터 네트워크 구성도 예시
- 3번의 경우 서울과 부산에 있는 VLAN을 묶었을 때 (라우터)
- 물리적으로 완전 따로 되어 있을 때
[+] 실습
- 3번째 구성도
- RIPv2 Network사용 (라우티끼리 통신하기 위한 네트워크 프로토콜v2)
[+] 작성된 구성도의 네트워크 설정
- [SW1] 설정
en, conf t, host SW1
vtp domain Korea
vtp mode server
int vlan 1
ip addr 192.168.100.2 255.255.255.0
no shut
- GW 주소 주기 및 trunk 설정
ip def
ip default-gateway 192.168.100.1
트렁크 설정(스위치에 작업하는것) == ahem
int fa0/1
switch mode trunk
switch trunk allowed vlan all
exit (캡슐화는 하지않음)
vlan 2 ##VLAN 2 생성
name server ##VLAN의 이름설정
int fa2/1
vlan 2에 들어가는 포트를 지정
switch access vlan 2
end sh vlan ## 지금까지 설정한 내용을 확인.
- [SW2] 설정
> 설정
en ,conf t, host SW2
vtp domain korea
vtp mode transparent
int vlan 1
ip addr 172.16.100.2 255.255.255.0
no shut
ip def ## 디폴트 gateway 설정
ip default-gateway 172.16.100.1
int fa0/1 ##인터페이스 fa0/1 설정
switch mode trunk
switch trunk allowed vlan all
exit
vlan 2 ##망선택
name server
exit
int fal/1
switch access vlan 2
end
인터페이스를 확인하여 vlan 2에 넣어준다.
이후 아래와 같이 sh vlan id 2를 입력하면 설정된 값을 확인할 수 있다.
- 라우터 설정
host RT1
int fa0/0
no shut (서브인터페이스 설정에서는 no shut을 먼저 설정해줘야한다.)
exit
int fa0/0.1로 들어간다. (가상으로 분리된
encap dot1q (텝을 눌렀을 때 자동으로 잡힌다.) == 캡슐화 지정
encap dot1Q 1 native (캡슐화 하고 난 이후 tag를 지정한다.)
ip addr 192.168.100.1 255.255.255.0
exit
int fa0/0.2
[+] 라우터 프로토콜
- 라우팅 프로토콜 : 경로를 찾아주는 프로토콜
> 동적 다이네믹 : RIP, RIPv2, OSPF, EIGRP <= 직접 연결된 모든 네트워크 설정 (예 : 외부=대규모)
> 정적 스테틱 : default-route <= 직접 연결되지 않은 모든 네트워크 설정 (예 : 조직내부=소규모)
라우티드 프로토콜 : 찾아낸 경로로 실제 데이터를 전송하는 프로토콜
> ip(국제 표준),ipx(Novell사) ,appletalk (애플)
== > 동적의 경우 라우터가 살았는지 죽었는지 확인하기 편하기 때문에 사용한다.
[+]rip version 2 설정
- 이웃 라우터를 찾아주는 라우팅 프로토콜 설정
- 서브 인터페이스 설정
- 서브 네트워크가 있을 때 립 라우팅 프로토콜에서는 v2를 사용해야한다.
실제 연결된 네트워크를 넣어준다.
network 192.168.100.0
net 192.168.100.200.0
net 10.10.10.0
end
sh ip route 라우터를 확인한다.
- 우측 라우터 설정
int fa0/0
no shut
fa0/0.1
encap dot1Q 1 native
ip addr 172.168.100.1 255.255.255.0
exit
int fa0/0.2
encap dot1Q 2
ip addr 172.16.200.1 255.255.255.0
exit
router rip
version 2
net 172.16.100.0
net 172.16.200.0
net 10.10.10.0
- 네트워크 설정 확인
sh network
sh ip route
** 라우터에서 네트워크 주소를 설정할 때 172.16.100.0과 172.16.200.0으로 지정하였다.
**sh ip route해서 경로 설정을 보면 172.16.~ class B이므로 172.16.까지가 디폴트 네트워크 주소이므로
classful해서 확인해보면 위에처럼 보인다.
- 각 노드에 ip주소 설정하기
- 설정 확인 및 경로 확인
> tracert 192.168.200.20
> 192.168.100.10 (node1:.10)에서 확인
- ping은 단순한 연결만 확인하지만, tracert(트레이설트)는 걸쳐가는 정보까지 확인이 가능하다.
[+] sw-vtp 패스워드 넣기
- 외부(도메인)에서 네트워크의 도메인에 함부로 들어오지 못하도록 비밀번호를 설정할 수 있다.
[+] no 명령어
- 설정 삭제시 사용하는 명령어
- 해당 인터페이스에 들어가서 삭제가 가능하다.
> VLAN 2 removal : no vla 2
> VLAN 2 port extraction : no switch access vlan 2
> TRUNK removal : no switch mode trunk
[+] VTP Pruning
- VTP Pruning이란 스위치 A와 스위치 B 사이에 VLAN 1과 VLAN 2만 다니게 구성된 TRUNK라면 이 VLAN에 관한 포트 정보를
스위치 A가 스위치 B 이외의 다른 VLAN 설정을 가지 고 있는 스위치 C나 D에게 브로드캐스트로 알리지 않게 구성하는 기법
- VLAN 1과 VLAN 2 만 지나다니는 TRUNK에서 VLAN 3과 VLAN 4를 지나가지 않게 한다면 VLAN3과 4를 pruning 해주면 된다. 이렇게 하면 전체적인 네트워크의 대역폭이 줄어들게 되어서 효율이 좋아진다.
- 하지만 VLAN 1은 Administrative(OR Native) VLAN이므로 pruned 될 수 없다.
- 스위치는 디폴트로 pruningol disabled되어 있어서 필요하면 VTP 서버 모드에서 활성화(enabled)시켜주어야 한다.
- 플러딩할 필요가 없는 대역을 제안하여 부하를 감소할 수 있다.
- 예를들어 아래와 같은 네트워크 구성이 있을 때 VLAN1~2 | VLAN3~4로 pruning할 수 있다.
[+] portFast
- portFast는 포트의 Learning과 Listening 상태를 거치지 않고 BLocking 상태에서 바 로 Forwarding 상태로 인터페이스를 전환하는
기술로써 STP(Spanning Tree Protocol)로 인한 시간을 단축시키고 네트워크에 노드들이 빠르게 연결될 수 있도록 도와주는 RSTP와 같은 기법이다.
기본적으로 PortFast가 활성화된 인터페이스에서는 BPDU를 수신하지 않고, BPDU를 수신하 더라도 포트에 연결된 단말에는 영향을 주지 않는다. PortFast의 목적이 STP로 인한 시간 지 연을 최소화시키는데 있으므로 Accessport에 주로 적용한다.
PVST+(Per-VLAN Spanning Tree Plus)
PVST+는 각 VLAN이 자신만의 spanning tree 인스턴스를 가지고 있는 것을 말한다. 다음 그림처럼 두 개의 VLAN 2와 VLAN 3을 가지고 있는 세 개의 스위치는 각 VLAN 별로 spanning tree를 가지고 있으면서 지정된 인터페이스에 지정된 VLAN만 통과시킨다. SW3에서 VLAN 2는 SW2와 연결되고 VLAN3은 SW1하고만 연결되게 한다. VLAN 별로 다닐 수 있는 통로 |를 지정하는 기법이다.
[+] L3 스위치 설정 (레벨 업)
[+] 라우터 설정 (RT)
en, conf t, host RT
int fa0/0
ip addr 10.10.10.1 255.255.255.255.252
no shut
end
[+] L2-SW1 (좌측 스위치)
en conf t host L2-SW1
vlan 10
name ASLES
exit
vlan 20
name EMG
exit
int fa1/1
switch mode access
switch access vlan 10
exit
int fa2/1
switch mode access
switch access vlan 20
exit
- 트렁크 설정
int fa0/1
switch mode trunk
switch trunk allowed vlan all
switch trunk encap dot1q
[+] 관리 목적 IP 설정하기
- ip를 입력할 때에는 VLAN에 줘야한다.!!? L2는 MAC 캐시 테이블을 가지고 있다.
conf t
int vlan 1
ip addr 10.10.10. 254 255.255.255.0
no shut
ip de
ip default-gateway 10.10.10.10
end
- L2 설정
en conf t host L2-SW2
vlan 10
name SALES
exit
vlan 20
name ENG
exit
int fa1/1
switch mode access
switch access vlan 20
exit
int fa2/1
switch mode access
switch access vlan 10
exit
- 트렁크 설정
int fa0/1
switch mode trunk
vlan all
end
cenf t
int vlan 1
ip addr 10.10.10.254 255.255.255.0
no shut
ip de
ip default-getway 10.10.20.20
end
sh vlan brief 확인
- L3 설정 (스위치 인데 라우터처럼 사용!!! 레벨업 설정)
host L3-SW
ip routing
vlan 10
name SALES
exit
vlan 20
name ENG
int fa01/1 (라우터와 연결되는 부분)
no switch
ip addr 10.0.0.2 255.255.255.252
no shut
exit
- 이제 트렁크를 양쪽으로 선택
int fa0/2 ## int fa0/3
switch trunk encap dot1q
switch mode trunk
swutch trunk allowed vlan all
exit
- 인터페이스가 아닌 vlan 10 /20에 설정한다
int vlan 10 / 20
ip addr 10.10.10.10 255.255.255.0
no shut
exit
- 외부 노드들이 외부로 나갈 때, 디폴트 라우터 경로를 설정해줘야한다.
en, conf t
ip route 0.0.0.0 0.0.0.0 10.0.0.1. ##특정 목적지를 지정하지 않았다. == 디폴트 라우트
- 라우터에서도 설정
en, conf t
ip route 0.0.0.0 0.0.0.0 fa0/0
- L3-SW에서 sh vlan brief로 확인
> 포트를 보면 1번 2번 3번이 빠져있는 것을 볼 수있다.
> 이것은 vlan 10/20의 getway이기 때문에 포트에서는 확인할 수 없다.
- 이제 장비별로 아이피를 준다.
- 각 노드에서 확인하기
tracert 10.10.10.41
- geteway도 확인할 수 있다.
> ping 10.0.0.1
[+] 이더 채널(EtherChannel)
- 스위치/라우터 간 연결에서 여러 물리적인 이더넷 링크(포트)를 묶어서 하나의 논리적인 링크로 만들어서 데이터를 전송함으로써
고속으로 통신을 수행시키는 기법이다. 여러 회선이 묶여 있으므로 라우터/스위치 간 통신에서 폴트 톨러런스(fault-tolerance)와
리던던시 (redundancy), 부하를 분산하는 로드밸런싱(load-balancing) 등이 가능하고 WAN의 ISPL TeIco(CO)에서 사용하는
컨센트레이터(Concentrator)와 같은 장치에서 주로 사용된다. 중요 서버나 네트웍 장비에서도 설정한다.
- 이더넷 케이블을 여럿 묶어서 하나의 케이블처럼 서비스하게 하는 기법 스위치의 트렁크 부분에 EtherChanne1로 설정한다면 먼저 회선이 묶일 이름을 지정하고 1, 회선의 mode를 autoL desirable로 설정할 수 있는데 양 스위치에 모두 auto로 설정하지 않고 어느 한 쪽을 desirable로 구성해야 EtherChanne1이 설정된다.
[+] 비슷한 유형의 기술 및 서비스
- 여러NIC을 묶어 하나로 서비스하는 채널 밴딩(Channel Bonding)
- 하나의 NIC를 나눠 서비스하는 아이피 밴딩(IP Binding)
- 여러개의 HDD를 묶어 데이터를 보존하는 RAID
- HDD를 추가해서 별도의 조치없이 바로 용량을 증가시킬 수 있는 LVM
[+] 채널 추가
- 채널 그룹 1에 넣어주겠다는 의미
- 인터페이스에서 설정 (int)
channel-group 1 mode desir
channel-group 1mode desirable
- end 대신 c+z
- 설정된 내용 확인 - 설정은 간단하지만 이론은 기억하고 있자.
> 만약 Fa0/1가 사용이 안될 경우 그 외 포트로 접속할 수 있도록 설정되어 있다.
[+] port-security 설정하기
- 스위치는 L2 장비이기 때문에 노드의 MAC 주소로 노드를 구분하므로 별도의 구성없이 바로 노드를 연결해서 사용 가능하다. (취약점)
- 이런 쉽게 접근할 수 있는 면 때문에 스위치 포트에 스위치가 알지 못하는 MAC 주소를 가지고 있는 외부 해커 노드가 연결되었을 때,
이를 규제하는 포트 보안을 설정 해두는 것이 좋다. 어느 한 포트에서 설정해 주어도 스위치 전체 포트로 포트 보안 이 적용될 수도 있다.
- 포트 보안은 노드의 MAC 주소로 규제한다.
- 하드웨어 노드에 대한 규제이기 때문에 네트워크에서 승인되지 않는 노드의 연결을 감지해내는 PacketFence의 NAC(Network Access Control)라는 도구와 역할과 유사하다고 볼 수 있다.
[+] 포트 보안 위반 처리하기
포트 보안을 설정한 포트에 연결되는 노드는 스위치가 인식하고 있는 MAC 주소목록과 비교해서 다를 경우에 해당 MAC_주소가 필터링되는데 static, dynamic, 그리고 sticky 세 가지가 있다. 다음에 표로 정리해 두었다.
설정 | 설 명 |
static | switch(port) port(-security) mac(-address) MAC_address식으로 모든 호스트의 MAC 주소를 일일이 스위치 포트에 지정해 주어야 하는 불편함이 있지만 가장 안전한 방식이다. nvram에 저장할 수 있다. |
dynamic | 자동으로 MAC 주소를 알아서 인식해주는데 switch port max 2식으로 포트 당 최대 허용할 호스트 숫자만 지정하는 방식이다. 디폴트 설정이고, nvram에 저장할 수 없으며 별도의 명령어로 설정하지 못한다. 리부팅되면 설정된 정보가 사라진다. |
sticky | dynamic처럼 동적으로 MAC 주소를 학습하게 하지만 nvram에 저장되므로 재부팅되어도 정보가 유지된다. switch port mac sticky 해서 설정한다. |
- 포트 보안 위반 처리하기
액션 | 설명 |
protect | sticky 모드에서만 작동하며 위반 포트에서 들어오는 프레임을 버리고 로그를 만들지 않음. |
restrict | 위반 포트에서 들어오는 프레임을 버리고 로그와 경고를 남긴다. |
shutdown | 위반 포트에서 들어오는 프레임에 경고를 내고 해당 포트를 shutdown 시킴. 디폴트 설정 |
port-security 설정하기
> 모든 아이피 주소
- 설정하기
int fa1/1
switch mode mode
switch mode access
switch
포트보안
만약, switch port mac [ mac ]넣어주면 해당 mac포트는 접속할 수 있다. ==> 정적/수동 모드 스테틱
switch port max 1 : 해당 포트에는 max=1이다. (지금들어와 있는 노드만)
[+]포트 보안 위반
switch port violation ?
지정된 노드 이외에는 접속할 수 없도록 한다.
- 설정 확인
서버 1에서 확인 (정상동작)
[+] 위반 테스트 (해커가 접근)
- 포트를 끊고 해커 MAC으로 접속하였지만, 포트는 살아있는 상태이지만, 포트보안으로 인해 연결할 수 없다.
2. 네트워크 용어 설명
[+] ISO 모델 / TCP/IP 모델, DOD모델
[+] IP주소
- 네트워크층에 속하며 데이터를 네트워크 간에 라우트(경로찾기) 역할
- 아이피는 각 호스트에 네트워크 주소를 정의해주는데 이 아이피 주소는 네트워크 부분(Net ID)와 호스트 부분Host ID)으로 나눈다
- 라우터는 IP주소 중 네트워크 부분만 보고 데이터를 목적지로 보내는 경로를 결정한다.
상위 전송층의 TCP연결설정 흐름제어 등을 정의해주면 하위 네트워크층의 IP가 실제 데이터를 비연결지향적으로 전송한다.
[+] ARP
- IP는 타겟과 효율적으로 통신하기 위해서 많은 정보를 필요로 하지만 보통 상위 TCP에서 이미 설정한 출발지와 목적지의 IP_주소 필드만 있으면 데이터는 전송될 수 된다. 네트워크층은 IP_주소의 네트워크_주소를 보고 목적지 네트워크를 찾지만 실제로 로컬에서 호스트간의 통신은 그 호스트에 붙어있는 네트워크 카드에 설정된 IP_주소를 실제 NIC의 MAC_주소와 매핑해서 MAC_주소로 상대방을 인식하고 통신한다. LAN에서는 IP_주소를 MAC_주소로 매핑해서 MAC_주소로 상대방을 찾고, WAN에서는 IP_주소의 네트워크_주소로 상대방(에 이르는 경로)을 찾는다. 따라서 TCP/IP 그룹은 IP_주소(논리적 주소)를 MAC_주소(물리적 주소)로 매핑해주는 ARP라는 프로토콜을 정의하고 있다. IP는 로컬에서 데이터그램을 목적지로 보낼 때 목적지 노드의 MAC_주소를 알아야 하는데 이 MAC_주소를 찾을 때 ARP 프로토콜이 필요하다. ARP 프로토콜은 로컬에서 IP_주소로 MAC_주소를 찾을 때 사용되고, 브로드캐스트의 속성이 ARP이다.
[+] RARP / BootP
- 로컬에서 ‘MAC_주소 =>IP_주소’로 변환해서 DHCP 서버를 알아내는 프로토콜로써 BootP도 이와 유사한 역할
- 이 BootP와 RARP 프로토콜이 발전해서 DHCP 프로토콜
=>ARP가 노드의 IP_주소로부터 MAC_주소를 알려준다면, RARP는 노드의 MAC_주소로 부터 (DHCP 등의) IP_주소를 알아낸다.
[+] 픽서 [PXE]
[+]DHCP
- OS가 설치되어 있는 상태+DHCP서버 설정이 되어 있다면, 자동으로 IP, DNS, Gateway,서브넷 마스크등 자동으로 임대형식으로 할당
- 관리자는 작업 그룹과 호스트 명만 확인하여 따로 지정해주면 된다.
ipconfig /al1(모든 정보 보기)
ipconfig /release(임대 끝내기)
ipconfig /flush(버리기)
ipconfig /renew (갱신)
[+] ICMP(Internet Control Message Protocol)
네트워크층에서 실행되는 이 ICMP 프로토콜도 중요하다. 한 노드가 다른 노드와 데이터를 송수신할 때 사용되는 제어 메시지 프로토콜로써 흐름 제어나 상태를 메시지로 표시한다.
예를들어 라우터가 데이터를 처리하고 있을 때 더 많은 데이터가 너무 빠르게 들어오면 라우터는 source quench 메시지를 발생시켜서 흐름 제어를 하는데 이럴 때 사용되는 프로토콜이 ICMP이다.
또, 데이터그램 내에서 TTL(Time To Live)도 이 ICMP 프로토콜을 사용하는데 데이터그램이 최종 목적지까지 가는데 너무 많은 라우터를 지나게 되어서(최대 15개) TTL이 0이 되면 해당 데이터그램을 버리고 다시 보내라고 알리는 메시지 전송에도 이 프로토콜이 사용된다. 그리고 라 우터가 어떤 노드로부터 데이터그램을 받았을 때 표시된 경로보다 더 좋은 경로가 있다는 것을 알 고 있다면 송신 노드에게 ICMP redipect 메시지를 보내서 더 좋은 경로로오라고 알리기도 한 다. 이 새로운 정보를 기반으로 새롭게 라우팅할 여부는 라우터의 설정 여하에 달려있는데 라우팅 정보를 static으로 했다면 업데이트된 정보를 무시하고 자신이 가지고 있는 경로대로만 데이터를 전송할 것이다.
[+] TCP
신뢰성 있는 연결지향적 프로토콜 (반대 UDP)
'소소한 IT이야기 > 클라우드' 카테고리의 다른 글
[Network_04] IP Address (2) | 2023.02.17 |
---|---|
[Network_02] 용어 및 Packet Tracer(feat. Switch) (0) | 2023.02.14 |
[Network_01] 기본 용어 정리 (1) | 2023.02.13 |