=======
TCP/IP 프로토콜이 잘 작동하는지 테스트는
ping 127.0.0.1 로 한다.
SSH (Secure Shell)
- TCP port 22 이용
- 평문을 전송하여 동작해 보안에 문제가 발생한 Telnet , BSD 를 해결하기 위해 개발됨
Openssh
- SSH는 UNIX BSD기반에서 개발 되었기 때문에 경량화된 Linux 에서는 기본도구로 설치됨
- RedHat 계열에서는 기본적으로Openssh 를 지원 함
- 완벽한 Open Source
- Cisco, Juniper, IBM, HP … 에서도 open SSH를 지원 함
- http://www.openssh.com/
- 상대적으로 리눅스에 원격을 할일이 없기 때문에 상시 구동중인 SSH는 구동을 안시켜두는게 좋다. 22번포트가 계속 열려있기 때문에
- 방화벽의 기본세팅은 disable = 어느 포트를 찾아오던지 기본적으로 막는다
- 인증서 기반 통신이 아니기 때문에 처음 보냈을땐 신뢰할 수 없지만 해쉬값만 보낸다 그럼 변조했는지 안했는지만 확인 가능
DNS(Domain Name System) DNS = 114 안내원
- hosts 파일을 통한 주소 해석의 한계를 해결하기 위해 1983년 개발되고 1984년 도입된시스템
- IP주소에 해당하는 문자 형태의 주소 (도메인이름)를 해석 하기 위한 일련의 시스템 구조 및 동작
- Server에서 해석에 관련된 모든 Data를 가지고 있고 Client의 질의가 있을때 응답함
- 네트워크 시스템이 복잡해 지면서 주소의 체계적인 구조가 필요하게됨 → 계층적인Tree 구조형태
- 상위도메인은하위도메인에대한정보만유지/제공함
- 분산데이터베이스시스템→ 확장성제공- 체계적인관리를통해이름의중복이발생하지않도록관리함→ 유일성유지- TCP/UDP port 53
TCP port 53 → 영역 전송(Zone Transfer)
UDP port 53 → 일반 질의
DNS = 계층적 데이터 베이스 분산
- 캐시보다 먼저 존파일 참조
TCP/IP 초기 네트워크 시스템 접근
- 다른 시스템에 접근할때 IP주소(숫자형태)를 이용하여 접근 함
- 다수의 목적지 시스템이 생겨나면서 사용자가 직접 시스템의 주소를 기억하기 힘들어짐
- 사용자가 쉽게 기억할 수 있는 문자 형태의 값을 사용함→ hostname
hosts 파일
- 특정 IP주소로 정의되어 있는 도메인 주소에 대한 정보를 보관하는 로컬 파일 → 이름해석
- 사용자가 직접 기억하지 못하는 다수의 hostname과 IP주소의 쌍을 저장하는 시스템 파일
- SRI-NIC(Network Information Center)에서 관리하며 주기적으로 배포했었음(현재는 X)
hosts 파일 문제점
- 급격히 증가하는 호스트에 대한 관리 문제가 발생함
- 파일의 크기가 증가 하면서 업데이트시 트래픽을 증가시킴
- 호스트의 정보가 갱신될때마다 모든 호스트가 파일을 업데이트 해야함
- 해결책→ DNS (Domain Name System)
Linux hosts 설정 파일
- /etc/hosts
DNS Process
1. Hosts File
2. Client Cache
3. 재귀적 질의
4. Zone File 참조
5. Dns Server Cache
6. 반복적 질의
Domain
- 논리적인 하나의 관리영역
- 각 도메인은 해당하는 도메인이름(Domain Name)을 가짐 → DNS Zone
Domain 주소형식
- 주소의 영역을 옥텟( . )으로 구분함 → 라벨(label)
- 하나의 라벨은 최대 63개의 문자(63byte) 크기를 가짐
- 대 소문자 구분 없이 알파벳, 숫자, -만가능함
- 전체 도메인 주소의 최대 크기 → 255 문자(255byte)
- 오른쪽에서 왼쪽으로 나열함 → 최상위주소는항상.(root)
Name Space
- Domain 주소의 계층적인구조
- 확장성과 유연성을 제공할 수 있도록 구조화 되어 있음
- 위임 체계를 기반으로 분산 구조를 형성함
- 표준관리기관 → IANA(Internet Assigned Numbers Authority)
- 각대륙별산하관리기관→ RIR(Regional Internet Registry)
- RIR에서 각 국가별관리권한위임- 국내관리기관→ KISA 산하의KRNIC
- 국내관리기관→ KISA 산하의KRNIC
Name Space 구조
- Root Domain → 최상위 도메인 → 2차도메인→ 서브도메인→ …
리졸버(Resolver)
- 도메인 주소 해석을 수행하는 작은 프로그램
- OS에 기본적으로 탑재 되어 있는 S/W 라이브러리 형태의 루틴
- Application의 도메인 주소 해석 요청을 처리 함
- 리졸버에 정의되어 있는 순서대로 도메인 주소 해석을 처리함
- Client : Hosts 파일 → DNS Cache → DNS server에게 질의(또는 해석 실패)
- Server : Zone 파일 → DNS Cache → 반복 질의(또는 해석 실패)
네임서버(Name Server)
- 클라이언트의 요청에 대한 이름해석 결과를 전달하는 시스템
- Name Space에 관련된 Resource Record를 저장하고 있는 서버
- Domain 정보 Database = Zone File
- 서버가 동작하면서 Zone File에 등록된RR 정보를 메모리에 데이터베이스 구조로 저장 함
DNS 기본동작
- 질의(Query)
- 클라이언트에서 정보를 요구하는 과정
- 응답(Answer)
- 서버가 클라이언트 질의에 해당하는 정보를 전달하는 과정
- 질의종류
- 재귀 질의(Recursive Queries)
>요청한서버로부터응답을직접받는질의방식
- 반복질의(Iterative Queries)
>하나의 질의에 대해 여러 서버를 순서대로 반복적으로 거쳐서 응답을 받는 질의방식
- 응답종류
- 권한 있는 응답(Authoritative Answer)
>Zone 정보를 가지고 있는 서버가 직접 전달하는 응답
- 권한없는응답(Non-authoritative Answer)
>Cache에 저장되어 있는data를 이용하여 전달받은 응답
DNS Server 구성 - Linux
- BIND(Berkeley Internet Name Domain)
- 패키지 설치
# dnf -y install bind bind-chroot
- BIND 관련 패키지
bind = BIND 데몬의 기본 패키지
bind-utils = BIND 데몬 운영에 관련된 보조 유틸리티
bind-libs = BIND 데몬에서 사용되는 라이브러리
- 환경설정 주요 파일
/etc/named.conf = BIND 데몬의 동작에 관련된 설정 파일
/var/named/정방향 zone파일 = 특정 zone에 대한 정방향 해석을 위한 리소스 레코드가 설정된 Zone Database 파일
/var/named/named.ca = Root Hint 동작이 수행된 때 참조하는 Root DNS가 등록된 파일
- DNS 서버의동작환경설정( /etc/named.conf )
- # vi /etc/named.conf
- 11행 수정
listen-on port 53 {any ; } ;
- 12행 수정
listen-on-v6 port 53 { none; };
- 19행 수정
allow-query {any; };
- 33행 수정
dnssec-validation no
- DNS 서버, 서비스(데몬)구동
# systemctl restart named
- DNS 서버상시구동및상태확인
# systemctl enable named => 네임서버 상시 가동
# systemctl status named => 네임 서버 상태 확인- # nslookup- > server LinuxServer IP주소- > http://www.nate.com
=> IP주소 확인가능
- zone File 등록
# vi /etc/named.conf
파일하단include ~~~~ 바로 윗 줄에 하단내용추가
zone “test.com” IN {
type master;
file “test.com.zone”;
allow-update{none; };
};- # named-checkconf
=> named.conf 파일에 문법 오류가 있는지 체크
=> 오류 메시지가 출력 되지 않으면 문법상 오류가 없음을 의미
- Zone File 등록
# cd /var/named
# vi test.com.zone
- 하단내용입력
$TTL 3H
@ SOA @ root. (2 1D 1H 1W 1H)
IN NS @
IN A DNS 서버IP주소 입력
www IN A Web서버IP주소입력
=> 저장후종료
# named-checkzone test.com test.com.zone
# cd /etc/NetworkManager/system-connections/
# vi ens160.nmconnection = 2줄 네트워크설정 위치
# nl /etc/resolv.conf = DNS설정
# systemctl restart NetworkManager = 네트워크 설정이바뀌었다면 데몬 재시작
DHCP (Dynamic Host Configuration Protocol)
- BOOTP의 정적 주소 할당의 문제점을 해결하고 동적 주소 할당 방식을 지원하기 위해 개발됨
- Pool(IP주소 공용 구역)을 사용 함 → pool을 기반으로Mapping Table을 동적으로 생성 함
- UDP port 67(Server), UDP port 68(Client)
DHCP 주소할당방식
- 정적 할당
- BOOTP와 동일하게 한 장비에게 특정 IP주소를 미리 배당 함
- Router, Server 등 고정된 IP주소를 사용하는 시스템
- 동적할당
- 제한된 시간 동안 정보를 임대하는 방식 → 임대시간(Lease Time)
- 자동화, 중앙 집중 관리, 주소 재사용과 공유, 충돌 방지 등의 기능을 제공함
- 자동할당
- 제한 시간이 무한대로 지정 되는 동적 할당
- 정적 할당과 동일 하지만 관리적 장점을 가짐
Pool (Address Pool)
- DHCP 서버가 할당할 수 있는 주소의 집합
- 동적 주소할당을 위해 사용하는 모든 주소의 목록
- IP주소 외 클라이언트 동작에 필요한 기타 정보들도 같이 정의 됨
- 클라이언트의 수, 안정성및주소사용빈도수등을고려해야함
주소범위(Scope)
- DHCP 서버에서 Pool에 구성된 IP주소 집합 중 실제 동적할당에 사용될 수 있는 IP주소
- 네트워크 장비 및 서버를 위한 IP주소(관리용IP주소)를 동적 할당 범위에서 제외함 → x.x.x.1 ~ x.x.x.19
- 주소 범위를 설정할때 1~19 를 제외한 범위로pool을 구성 함
- x.x.x.0/24로 pool을 구성하고 관리용 IP주소를 예약 설정 함
임대시간
- DHCP 서버에게 할당받은 IP주소의 Life Time
- 서버 S/W마다 기본값이 다르며 회사의 정책이나 네트워크 환경에 따라 구성해야 함
클라이언트의 임대 관리 주기
- 주소바인딩 → 갱신 → 리바인딩 → 해제
- 타이머를 통해 임대 상황에 맞는 단계를 진행 함
주소바인딩
- 시스템에서 DHCP 서버로부터 획득한 IP주소(정보)를 실제로 사용하는 단계
갱신(renewal)
- 할당받은 서버에게 임대시간 연장을 요청하는 단계
- 임대시간의50% → Renewal Timer (T1)
- 갱신이 완료되면 임대시간을 재 할당받음
리바인딩(rebinding)
- 갱신 단계가 실패한 경우 모든 DHCP 서버에게 IP주소 재할당을 요청하는 단계
- 임대시간의87.5% → Rebinding Timer (T2)
- 리바인딩이 완료되면 임대시간을 재 할당받음
해제
- 할당 받은 정보의 임대기간이 종료된 단계
- 리바인딩실패, 클라이언트의 강제 해제(release)
DHCP 메시지(DORA)
- 클라이언트와 서버는 지정된 의미의 메시지를 주고 받아서 DHCP 동작을 진행 함
- 초기IP 할당 과정에서 사용되는 메시지
DHCP Discover
DHCP Offer
DHCP Request
DHCP Ack
DHCP 대체IP 주소
- DHCP에 의한IP 할당이 실패 한 경우 클라이언트에서 지정된 IP주소를 자동으로 구성함
- IP주소 할당이 실패한 경우에도 내부통신을 지원하기 위해 사용 됨
- 표준에서 제안하고 있으나 상세 동작 방식이 지정되지 않음
- Microsoft에서 제안한 방식이 산업표준이 됨
- 표준대체IP 주소대역
- 169.254.0.0/16 → 169.254.0.1 ~ 169.254.255.254
APIPA (Auto Private IP Assigned)
- MS에서 구현한 자동사설 IP 주소 지정 방식
- OS에 지정된 네트워크 대역 중에서 하나의 IP주소를 선택함
- ARP Request를 이용하여 해당 IP주소가 사용중인 확인 함
- ARP Reply가 없으면 선택한 IP주소를 클라이언트에 Binding하여 내부 통신을 지원함
- 주기적으로 DHCP Discover 메시지를 전달하여 IP주소 할당을시도함
DHCP 서버패키지설치
# dnf –y install dhcp-server
DHCP 환경설정
# vi /etc/dhcp/dhcpd.conf
Subnet 10.0.0.0 netmask 255.0.0.0 {
range dynamic-bootp 10.x.160.11 10.x.160.20;
option routers 10.0.0.1;
option subnet-mask 255.0.0.0;
option domain-name-servers 8.8.8.8;
default-lease-time 10000;
max-lease-time 50000;
}
서비스 재시작
# systemctl restart dhcpd
위에 환경설정밑에
host hostname {
hardware ethernet aa:bb:cc:dd:ee:ff;
fixed-address 10.10.254.21;
}
특정 호스트에 IP 고정
'공부? > 국비 지원 일기장' 카테고리의 다른 글
45일차 - FTP, 메일 서비스 (3) | 2024.09.07 |
---|---|
44일차 - GNS3 맛보기 (0) | 2024.09.05 |
42일차 - RAID 실습 (0) | 2024.09.03 |
41일차 - 디스크 관리 (2) | 2024.09.02 |
40일차 - vi editor (0) | 2024.09.01 |