Today I Learn - 24

이정빈·2021년 3월 15일
0

클라우드 엔지니어

목록 보기
25/53
post-thumbnail

네트워크 - IP 주소

IP주소 = Network ID + Host ID
Network ID: 네트워크를 지정하는 ID
Host ID : 네트워크 내에서 호스트를 식별하는 ID

Network ID / Host ID의 길이는 가변
합이 32bit이면 됨
서브넷의 규모가 결정됨

서브넷(Subnet)

같은 네트워크(라우터 등을 거치지 않는)
브로드캐스트 도메인

네트워크 주소

네트워크 그 자체를 대표할 수 있는 주소
특정 호스트에서 사용할 수 없음
서브넷 내의 IP중에 가장 앞쪽 IP = Host ID가 모두 0인 값
ex)192.168.0.0 => 192.168.0.0 ~ 192.168.0.255

브로드캐스트 주소

네트워크 내의 모든 호스트를 지칭하는 주소
특정 호스트에서 사용할 수 없음
서브넷 내의 IP중에 가장 뒤쪽 IP = Host ID가 모두 1인 값
ex)192.168.0.255 => 192.168.0.0 ~ 192.168.0.255

서브넷마스크

IP주소에서 Network ID부분과 Host ID에 해당하는 부분을 나누어 표기
Network ID에 해당하는 부분은 2진법으로 1로 표기
Host ID에 해당하는 부분은 2진법으로 0로 표기
Network ID는 왼쪽부터 시작해서 이어진 1의 연속
Host ID는 오른쪽부터 시작해서 이어진 0의 연속
중간에 1이나 0이 반복해서 출현하지 않음
ex) 11111111 11111111 00000000 10000000 (X)
서브넷 마스크를 10진수로 표시
ex) 11111111 11111111 11111111 00000000 : 255.255.255.0
ex) 11111111 11111111 00000000 00000000 : 255.255.0.0
ex) 11111111 11111111 11111100 00000000 : 255.255.252.0
CIDR Prefix 표기방식 : Network ID 부분의 1의 개수를 표기
255.255.255.0 : /24

클래스

Network ID/Host ID의 일정한 규칙을 가지는 네트워크 구분
A클래스
Network ID: 8bit
Host ID: 24bit
구성할 수 있는 네트워크의 개수는 작으나(256개), 한 네트워크 당 호스트의 개수는 가장 많음(256256256개=16,777,216)
IP 범위 : 0~127.0.0.0/8 (0.0.0.0/8 ~ 127.0.0.0/8) - 128개의 A클래스 네트워크
B클래스
Network ID: 16bit
Host ID: 16bit
구성할 수 있는 네트워크 개수 : 16bit(65536개)
네트워크 당 호스트 개수 : 16bit(65536개)
IP범위: 128~191.0.0.0/8 (128.0.0.0/8 ~ 191.0.0.0/8) - 64개의 A클래스 네트워크
C클래스
Network ID: 24bit
Host ID: 8bit
구성할 수 있는 네트워크 개수 : 24bit (16,777,216개)
네트워크 당 호스트 개수 : 8bit (256개)
IP범위: 192~223.0.0.0/8 (192.0.0.0/8 ~ 223.0.0.0/8) - 32개의 A클래스 네트워크
D클래스
멀티캐스트 용도로 사용
IP범위: 224.0.0.0/8 ~ 239.0.0.0/8
E클래스
연구목적, 향후 사용
IP범위: 240.0.0.0/8 ~ 255.0.0.0/8

공인 IP 용도로(유일한 IP) 사용하지 못하는 IP대역
0.0.0.0 ~ 0.255.255.255 : Local Identification
10.0.0.0 ~ 10.255.255.255 : A클래스 사설 네트워크(Private Network)
127.0.0.0 ~ 127.255.255.255 : Local Loopback
169.254.0.0 ~ 169.254.255.255 : Link Local Address. DHCP 등으로부터 정상적으로 네트워크 정보를 가져오지 못했을 경우 할당
172.16.0.0 ~ 172.31.255.255 : B클래스 사설 네트워크
192.168.0.0 ~ 192.168.255.255 : C클래스 사설 네트워크
D,E 클래스
255.0.0.0 ~ 255.255.255.255 : 브로드캐스트

사설 네트워크 (Private Network)

한정된 IP 주소 자원을 사용하기 위한 방법
사설네트워크 범위로 사용되는 IP주소는 공인IP에서 사용불가
NAT(Network Address Translation) : 사설네트워크 내의 IP 사용시 외부로 패킷을 전송할 때 송신 IP부분에 사설네트워크 IP를 입력해놓을 경우, 응답을 받을 수 없음

부족한 IP자원 극복을 위한 대책
사설네트워크 + NAT(NAPT, Network Address & Port Translation)
IPv6 → 2^128 개의 IP 사용가능
DHCP(Dynamic Host Configuration Protocol)
서브네팅(Subnetting)

서브네팅

네트워크를 분할
단일 네트워크의 크기는 최대 500호스트 이상은 권장하지 않음
단일 네트워크가 과도하게 커질 경우 브로드캐스트에 의한 부하가 발생 → 네트워크 효율 감소
기본적인 클래스규칙(클래스풀, Classful)을 따라서 할당된 네트워크
IP 할당 흐름 : iana - APNIC - KRNIC - ISP(Internet Service Provider) - 고객
ex) 100.100.100.0 ~ 100.100.100.255 - 사용할 IP는 3개 → 서브네팅으로 네트워크를 효율적으로 쪼샐 수 있음
Network ID를 조정하여 네트워크 개수를 늘리기 = Host ID를 조정하여 네트워크 내의 호스트 개수를 줄이기
CIDR(Classless Inter Domain Routing): 클래스 정보와 무관하게 네트워크를 다시 서브넷으로 분리함

100.100.100.0/24
100.100.100.0 ~ 100.100.100.127 : 100.100.100.0/25
100.100.100.128 ~ 100.100.100.255 : 100.100.100.128/25

01100100.01100100.01100100.00000000 ~ 01100100.01100100.01100100.11111111
01100100.01100100.01100100.00000000 ~ 01100100.01100100.01100100.01111111
01100100.01100100.01100100.10000000 ~ 01100100.01100100.01100100.11111111
서브넷마스크 : 255.255.255.128 (11111111.11111111.11111111.10000000)

100.100.100.0/24
-.0 ~ -.63 : 100.100.100.0/26
-.64 ~ -.127 : 100.100.100.64/26
-.128 ~ -.191 : 100.100.100.128/26
-.192 ~ -.255 : 100.100.100.192/26

-.00000000 ~ -.00111111
-.01000000 ~ -.01111111
-.10000000 ~ -.10111111
-.11000000 ~ -.11111111
서브넷마스크 : 11111111.11111111.11111111.11000000 = 255.255.255.192 = /26

문1) 현재 강의장을 구성하기 위해 200.200.200.0/24 네트워크를 사용할 예정임. 현재 한 강의장 당 30개의 IP를 사용하도록 구성함. 강의장은 총 5개. 각 강의장 별 네트워크 정보는?

1강의장 : 200.200.200.0/27
2강의장 : 200.200.200.32/27
3강의장 : 200.200.200.64/27
4강의장 : 200.200.200.96/27
5강의장 : 200.200.200.128/27

ex) 200.200.200.0/30 => Host ID 2비트 => 사용할 수 있는 IP 4개 => 네트워크주소/브로드캐스트 주소 제외시 2개
200.200.200.0/31 => 네트워크 주소/브로드캐스트 주소밖에 존재할 수 없음

문2) 현재 회사의 네트워크를 구성하기 위하여 200.200.200.0/24, 200.200.201.0/24 두 개의 C클래스 네트워크를 할당받음. 네트워크를 구성할 때 두 네트워크를 하나로 묶어서 사용하려고 할 경우, 사용할 수 있는 네트워크의 주소의 범위, 사용할 수 있는 호스트의 개수, 네트워크 주소, 브로드캐스트 주소, 서브넷마스크의 정보는?

답) 200.200.200.0 ~ 200.200.201.255
=> 11001000.11001000.11001000.00000000
11001000.11001000.11001001.11111111
=> 11111111.11111111.11111110.00000000 => 255.255.254.0 => /23
주소의 범위 : 200.200.200.0 ~ 200.200.201.255 = 200.200.200.0/23
사용할 수 있는 호스트 개수 : 256 * 2 - 2 = 510개 (네트워크당 1개의 네트워크 주소, 브로드캐스트 주소)
네트워크 주소 : 200.200.200.0
브로드캐스트 주소 : 200.200.201.255
서브넷마스크 : 11111111.11111111.11111110.00000000 => 255.255.254.0 => /23

문2-1) 200.200.201.0/24 + 200.200.202.0/24 => ?
200.200.201.0 => 11001000.11001000.11001001.00000000
200.200.202.0 => 11001000.11001000.11001010.00000000
ex) 200.200.201.0/23 (X)
=> 이런 식으로 애매하게 붙는 네트워크는 구성할 수 없음 : 첫 번째 네트워크의 Host ID 부분이 모두 0이 아님

VLSM(Variable Length Subnet Mask)

서브네팅의 유형
서브넷의 크기가 다를 경우
VLSM 구성시 규칙
할당된 네트워크 범위에서 가장 큰 네트워크를 먼저 할당
네트워크 할당시 기본적인 할당 규칙을 준수
ex) 회사에 100.100.100.0/24 할당하려고 할 경우, 기술부 100명, 영업부 20명, 관리부 5명
기술부: 100.100.100.0/25 => 128개(-2개) 할당가능
영업부: 100.100.100.128/27 => 32개(-2개) 할당가능
관리부: 100.100.100.160/29 => 8개(-2개) 할당가능

========================================================

nmcli 서브커맨드

nmcli
connection : 연결 관련
add : 새로운 연결 생성. 필수항목 반드시 포함(con-name, ifname, type)
nmcli connection add con-name <연결이름> ifname <장치이름> type <장치종류, 보통 ethernet> [추가 설정항목]
ipv4
addresses : IP/서브넷마스크
dns : DNS서버 주소
gateway : 게이트웨이 주소
method : DHCP 사용 여부
connection.autoconnect => 연결 자동 사용
modify : 기존 연결정보 수정
nmcli connection modify <수정할 연결이름> [수정내용]
delete : 연결 삭제
nmcli connection delete <삭제할 연결이름>
사용중인 연결은 삭제 불가 (다른 연결 사용 후 삭제)
up : 연결 사용
nmcli connection up <사용할 연결이름>
show : 상태확인
nmcli connection show : 연결 목록 확인
nmcli connection show <연결이름> : 특정연결 세부정보
소문자 항목: 연결에 설정되어 있는 값
대문자 항목: 사용중인 값
device : 장치 관련
status : 장치 목록 출력
show <장치이름> 특정 장치 정보 출력
disconnect <장치명> : 특정 장치 연결 끊기
connect <장치명> : 특정 장치 연결하기

nmtui - Text User Interface
nm-connection-editor : GUI

========================================================

시스템 이름

이름 관련 항목

hostname : 각 시스템이 자신의 이름을 설정할 때. 네트워크 상에서 유효하게 동작하는 정보는 아님. 호스트 내에서 식별하기 위한 정보

이름(Hostname, FQDN) : 호스트의 IP 대신 사용할 수 있는 정보. 변환 과정이 필요
hosts 파일
/etc/hosts : 리눅스/유닉스
C:\Windows\System32\drivers\etc : 윈도우
DNS 캐시(Cache) : 일정 기간동안 유지되고 있는 DNS 요청 기록
DNS 요청 : 모르는 정보에 대한 새로운 요청

FQDN(Full Qualified Domain Name) - 정규화된 도메인 이름
ex) www.naver.com
Host name + Domain name
hostname : www
domain name : naver.com

hostnamectl 에서 조회되는 hostname 종류
Static : 사용자가 직접 설정한 호스트이름
Transient : 네트워크 등으로부터 전달받은 호스트이름
Pretty : 특수문자 등을 포함한 호스트이름

hostnamectl set-hostname <호스트이름>
호스트이름 변경 (Static)
hostnamectl set-hostname <호스트이름(특수문자포함)>
호스트이름 변경
Static: 특수문자 제거, 소문자 변환 한 내용으로 저장
Pretty: 입력한 내용 그대로
hostnamectl set-hostname <특수문자포함 호스트이름> --pretty
Pretty 호스트이름만 변경 가능

profile
WAS Engineer, Cloud Engineer(지망)

0개의 댓글