반응형

named파일 수정

 패키지명 : bind
 데 몬 명 : named

 설정파일
  - 메인 설정파일 : /etc/named.conf
  - 추가 설정파일 : /var/named/???.zone
                                                ???.cache

 

/etc/named.conf 파일 vi로 수정

 

options { 
   listen-on port 53 { Server_IPv4; };            //   -> 기본값은 127.0.0.1 IPv4 Loopback 나에게만 귀기울이고 있겠다.
   listen-on v6 port 53 { Server_IPv6; }; ::1; //   -> 0000:0000:0000:0000:0000:0000:0000:0001 IPv6 Loopback
   recursion yse;                                          // 재귀적 질의
   allow-query { Client_IP; Client_Network; };              // 자신의 도메인에 응답
Authoritative Answer
   allow-query-cache { Client_IP; Client_Network; };   // 타 도메인에 응답
Non-Authoritative answer
};
 localhost = 127.0.0.1    // (나 자신, 서버 자신)

 ZONE "도메인" IN {
             type master/slave/hint;
              file ".....zone/....cache";
 };

 ZONE "." IN {
                type hint;
                file "root.cache"; <- /var/named/root
 };

 

[root@ns1 ~]# nslookup www.nate.com 168.126.63.1
Server:         168.126.63.1
Address:        168.126.63.1#53

Non-authoritative answer:
Name:   www.nate.com
Address: 120.50.131.112

[root@ns1 ~]#

[root@ns1 ~]# nslookup www.nate.com 223.62.230.13
Server:         223.62.230.13
Address:        223.62.230.13#53

Name:   www.nate.com
Address: 120.50.131.112

[root@ns1 ~]#

 

vi /etc/named.conf로 수정

 options {
              directory       "/var/named";
              dump-file       "/var/named/data/cache_dump.db";
              statistics-file "/var/named/data/named_stats.txt";
              memstatistics-file "/var/named/data/named_mem_stats.txt";
              recursing-file  "/var/named/data/named.recursing";
              secroots-file   "/var/named/data/named.secroots";
      
               listen-on port 53      { 수신대기할_서버_IPv4; };
               listen-on-v6 port 53 { 수신대기할_서버_IPv4; };
               recursion yes;         # 재귀질의 허용여부
               allow-query            { 운영중인_도메인질의_허용_IP; }; # Authoratative Answer
               allow-query-cache { 캐쉬DB_도메인질의_허용_IP; };  # Non-Authoratative Answer
       };
      
       ZONE "." IN {                                                    # zone "도메인" IN {
                      type hint;                                           # type master/slave/hint;
                      file "root.cache";                               # file "파일명.zone/cache";  /var/named/
      };                                                                      # };

named.conf 수정 전
named.conf 수정 후

 

[root@ns1 ~]# named-checkconf /etc/named.conf
-> named.conf 파일의 문법 검사 해주는 명령어 (수정한뒤에 검사해준다.)

아무 문제 없다면 아무것도 나오지 않고 넘어 간다.

[root@ns1 ~]# cd /var/named/
[root@ns1 named]# ls
chroot  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@ns1 named]# mv named.ca root.cache
[root@ns1 named]# ls
chroot  data  dynamic  named.empty  named.localhost  named.loopback  root.cache  slaves
[root@ns1 named]#

root.cache 생성

named.ca -> root.cache로 이름 변경

 

C:\Users\st01>nslookup www.naver.com 192.168.0.21
DNS request timed out.
    timeout was 2 seconds.
서버:    UnKnown
Address:  192.168.0.21

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** UnKnown에 대한 요청이 제한 시간을 초과했습니다.

C:\Users\st01>
-> 7계층 문제
[root@ns1 named]# firewall-cmd --add-port=53/udp --permanent (상시열기)
[root@ns1 named]# firewall-cmd --add-port=53/udp

서비스 구동 및 방화벽을 열어준다.
firewall-cmd --info-zone=public 명령어로 적용 사항을 확인 할 수 있다.

vi /etc/named.conf

      9         listen-on port 53 { 127.0.0.1 192.168.0.21; }; <- Linux IP주소
     10         listen-on-v6 port 53 { ::1; };
     11         recursion yes;
     12         allow-query       { localhost; };
     13         allow-query-cache { localhost 192.168.0.20; }; <- WIN10 IP주소

 

C:\Users\st01>nslookup www.naver.com 192.168.0.21
서버:    UnKnown
Address:  192.168.0.21

권한 없는 응답:
이름:    www.naver.com.nheos.com
Addresses:  223.130.195.200
          223.130.195.95
Aliases:  www.naver.com
-> Linux IP주소로 질의 한 것을 확인 할 수 있다.

 

dns주소 를 루프백으로 바꿔줄수 있다.

nmcli con mod ens33 ipv4.dns 127.0.0.1
[root@ns1 named]# cat /etc/resolv.conf
# Generated by NetworkManager
search kck.co.ki
nameserver 168.126.63.1
nameserver 168.126.63.2
[root@ns1 named]# nmcli con up ens33
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@ns1 named]# cat /etc/resolv.conf
# Generated by NetworkManager
search kck.co.ki
nameserver 127.0.0.1


INTERNIC : root 도메인 사이트로 최신의 root도메인 정보를 받을 수 있다.

/var/named/ 위치로 이동 한 뒤에 wget ftp://ftp.internic.net/domain/named.cache 명령어로 다운받는다.

 

 

CentOS7 1st
[root@ns1 named]# vi /etc/named.conf
[root@ns1 named]# named-checkconf

zone "kck.co.ki" IN { -> 내가 사용할 도메인명
        type master;  -> 첫번째 ns1 두번째는 slave
        file "kck.co.ki.zone"; 
};

[root@ns1 named]# touch kck.co.ki.zone
[root@ns1 named]#

-> zone 파일을 만들어 /etc/named.conf 파일에 해당 내용을 추가해준다.

 

DNS Record (질문의 종류)        www.naver.com.                  IN             A
                                                   www.naver.com.                  IN             A
                                                           naver.com.                  IN             NS
                                                           naver.com.                  IN             SOA
                                                              kck.co.ki.                  IN             SOA

A : IPv4 Address(정방향: 호스트명 -> IPv4 주소)
  질의형식-> nslookup -type=a www.google.com
AAAA : IPv6 Address(정방향: 호스트명 -> IPv6 주소)
  질의형식-> nslookup -type=aaaa www.google.com
SOA : Start Of Authority(권한의 시작), Master 네임서버/관리자 E-Mail
  질의형식-> nslookup -type=soa google.com(도메인명)
NS : NameServer (네임서버, Master/Slave의 구분은 없음)
  질의형식-> nslookup -type=ns google.com(도메인명)
MX : MaileXchanger (메일 교환기, 수긴메일 서버)
  질의형식-> nslookup -type=mx google.com(도메인명)
PTR : Pointer(역방향: IP 주소 -> 도메인네임)
  질의형식-> nslookup -type=ptr 1.163.126.168.in-addr.arpa 
      (168.126.63.1 역방향(호스트명))
CNAME : Canonnical NAME (별칭/별명)
  질의형식-> nslookup -type=cname www.google.com(호스트명)

 

이러한 질의형식을 넣을 수 있고 named.conf파일과 마찬가지로 zone 파일도

명령어로 가능하다.

 

 1. named-checkconf : named.conf 파일을 문법 검사
예) named-checkconf : /etc/named.conf 파일의 문법 검사
    named-checkconf 경로/named.conf : 다른위치 named.conf 파일의 문법 검사

 2. named-checkzone : /var/named 디렉토리에 있는 도메인.zone 파일의 문법 검사
형식) named-checkzone 도메인명 경로/도메인명.zone

예) named-checkzone kck.co.ki /var/named/kck.co.ki.zone

 

/etc/named.conf에 zone파일의 위치와 내용을 추가해준다.


zone "kck.co.ki" IN {
type master;              // 1번째 네임서버
file "kck.co.ki.zone";
};

 

/var/named/도메인명.zone 파일을 만드는 형식들
$ORIGIN             초기값          <- @와 동일하게 해석, 모든 호스트명에 추가되는 이름
$TTL                   Cache타임   <- Cache에 저장할 시간(Positive, 긍정)       ※TTL(Time To Live) 살아있는 횟수 (루프방지)
                                도메인명.        IN          SOA          Master네임서버.            관리자E-Mail      (
                                                                                       YYYYMMDDnn             ; Serial Number (최종 갱신 날짜/시간/횟수)
                                                                                                 갱신주기             ; Refresh
                                                                                              재시도주기            ; Retry
                                                                                                     만료일            ; Expire
                                                                                                  기본TTL       )    ; Default TTL (Cache에 저장할 시간/                                                                                                                                          Negative, 부정) 없는정보 저장값

 

1. FQDN (Fully Qualified Domain Name) 형식
   $ORIGIN kck.co.ki.
   $TTL    1D
                                                kck.co.ki.       IN        SOA                ns1.kck.co.ki.             root.kck.co.ki.  (
                                                                                                          2022122700             ; Serial Number
                                                                                                                         3H              ; Refresh (갱신주기)
                                                                                                                      15M               ; Retry   (재시도)
                                                                                                                       1W                ; Expire  (만료일)
                                                                                                                       1D     )           ; TTL 

   kck.co.ki.           IN      NS   ns1.kck.co.ki.
   ns1.kck.co.ki.    IN      A      192.168.0.21
   www.kck.co.ki.   IN     A      192.168.0.22

 

2. 생략 : ORIGIN으로 지정된 도메인은 아래에 @으로 대체해서 사용할 수 있다.
 $ORIGIN kck.co.ki.  사용하면, kck.co.ki. => @
 . 으로 마무리되지 않은 모든 도메인네임은 자동으로 @(ORIGIN)이 따라 붙는다.
 www.kck.co.ki.                              -해석->                      www.kck.co.ki.
 www                                             -해석->                      www.kck.co.ki.
                                                                                               <-ORIGIN->
 www.kck.co.ki                              -해석->                      www.kck.co.ki.kck.co.ki.
                                                                                                              <-ORIGIN->
 $ORIGIN을 지정하지 않을 경우, /etc/named.conf 파일에
 설정된 zone "도메인명" IN { 에 사용된 도메인명이
 자동으로 설정된다.

   $ORIGIN kck.co.ki.
   $TTL    1D
   @           IN      SOA                    ns1                              root  (
                                                       2022122800              ; Serial Number
                                                       3H                              ; Refresh (갱신주기)
                                                       15M                            ; Retry   (재시도)
                                                        1W                             ; Expire  (만료일)
                                                        1D             )               ; TTL 

   @ <- 생략가능             IN       NS                   ns1
   ns1                              IN         A                    192.168.0.21
   www                            IN         A                    192.168.0.22
   www <-생략가능         IN         A                    192.168.0.23

 

@와 www는 위에 정보를 따라가서 생략 가능하다.

3. 생략 : 실수로 .을 생략해도 .만 추가한다.  
         $ORIGIN 도메인명은 zone파일안에서 여러번 재정의가 가능하다.   

   $ORIGIN .
   $TTL    1D
   kck.co.ki            IN         SOA                     ns1.kck.co.ki                     root.kck.co.ki           (
                                                                      2022122700             ; Serial Number
                                                                                     3H              ; Refresh (갱신주기)
                                                                                   15M              ; Retry   (재시도)
                                                                                    1W               ; Expire  (만료일)
                                                                                     1D     )        ; TTL 

   kck.co.ki                   IN  NS       ns1.kck.co.ki
   ns1.kck.co.ki            IN  A          192.168.0.21
   www.kck.co.ki          IN  A          192.168.0.22

ORIGIN.으로 정의 했을 경우
ORIGIN. 으로 사용 했을때도 윈도우에서 정상 작동하는 것을 확인 할 수 있다.

 

$ORIGIN. 을 추가로 정의 할 수 있다.

 

 

/etc/named.conf 파일에서 recursion을 no로 바꾸면 재귀적 질의를 하지 않는다는 뜻으로

질의를 하지 않아 응답이 돌아오지 못한다.

 

하지만 리눅스 서버의 IP주소는 질의를 받고 응답한다.
query는 루프백으로 query cache는 localhost로 변경 하였을때
리눅스 서버에서는 자신의 IP임으로 질의와 응답을 해주지만
윈도우에서는 응답을 해주지 않는다.
하지만 query cache를 루프백으로 변경시 서버 자신의 IP로도 응답을 해주지 않고 루프백주소로만 응답을 해준다.

 

웹페이지는 모두에게 잘 알려지길 바라기 때문에 자신의 도메인에 응답인 query를 any로 하고 타 도메인에 응답인 query-cache는 루프백과 자신과 같은 네트워크 PC에게만 응답하도록 변경한다.

 

반응형
반응형

 L7 service L4 Port
 ftp tcp 21
 ssh tcp 22
 telnet tcp 23
 smtp tcp 25
 dns tcp/udp 53
 dhcp udp 67/78
 tftp udp 69
 http tcp 80
 pop3 tcp 110
 imap tcp 143
 smnp udp 161/162
 https tcp 443
 mysql,maridb tcp 3306
 rdp tcp 3389

Client Server

Edge, Sapari, Chrome httpd(Apache)

telnet in.telnetd(telnet-server)
ssh sshd

--------------------------------------------------------------------------
Redhat, CentOS Debian, Ubuntu
rpm 파일 dpkg 파일

yum 패키지 apt-get 패키지
dnf 패키지 apt 패키지

서버 (서비스 제공)
Windows 서비스(Service)
Linux/Unix 데몬(Daemon)
- StandAlone  데몬 : ftp, http, dns, ...
- SuperDaemon 데몬 : telnet

CentOS ~6
 init - xinetd - in.telnetd <- SuperDaemon
      - sshd     <- StandAlone

 # systemctl start xinetd.service (StandAlone)


CentOS 7 ~ systemd = init + xinetd
 systemd - sshd <- StandAlone
   - in.telnetd <- SuperDaemon

 # systemctl start telnet.socket  (SuperDaemon)


Linux Server
L7 in.telnetd 1010101010101010
L4 tcp, 23   <- FireWall
L3 192.168.0.21 1, ICMP  6, TCP  17, UDP  tp,  dns
L2 02:01
L1 00000010:00000001
SecIP DstIP
L2 Ethernet (DA MAC, SA MAC (IP, 0.20.0.21 (TCP, 23[telnet])))
     010101011101110101010010100100010000101010101100101010...

------> IP ------> TCP -----> Telnet
xx    !! !!

firewall-cmd 포트개방
     --add-service=telnet
     --add-port=23/tcp
--------------------------------------------------------------------------

L3  ip.addr == x.x.x.x 출발지 또는 목적지 구분없이 특정IP주소를 조회
    ip.src  == x.x.x.x 출발지 IP주소만 조회
    ip.dst  == x.x.x.x 목적지 IP주소만 조회

L4  tcp.port == xx 출발지 또는 목적지 구분없이 특정 Port를 조회
    tcp.srcport == xx 출발지 Port번호만 조회
    tcp.dstport == xx 목적지 Port번호만 조회

L7  telnet telnet 서비스 트래픽
    http http 서비스 트래픽

    조건1 && 조건2  조건1과 조건2를 모두(all) 만족
    조건1 || 조건2 조건1 또는 조건2 중 1개(or) 만족

    tcp 3way handshaking
   
    Client -1way, tcp(syn)-> Server (tcp, 23 syn)
       <-2way, tcp(syn,ack)- Server  (tcp, 23 syn, ack)
    Client -3Way, tcp(ack)-> Server  (tcp, 23 ack)
---ESTABLISHED---

    Client (tcp (http))->
(tcp (telnet))->


L1 bit
1 / 0
           === 같은 네트워크
L2 Frame
(DA, SA(..))



L3 Packet

(IP, SA, DA(..))   === 서로 다른 네트워크


port 0 ~ 65535 (16bit) 0 ~ 1023 (잘 알려진(특권 포트), well-known))



Telnet TCP , 23 TUI (Text User Interface)
SSH TPC , 22
(Secure SHell)


RDP TCP , 3389 GUI (Graphic User Interface)
VNC TCP , 5900


L7 암호화 (IP (TCP (L7 Protocol 암호)))
(IP (TCP (SSH))

 ---4----
L4 암호화 (IP (TCP (SSL/TLS (HTTP))
(IP (TCP (SSL/TLS (DNS))
(IP (TCP (SSL/TLS (FTP))

대칭키 암호 : 암호화(동일키) - 복호화(동일키)
비대칭키 암호 : 암호화(공개키) - 복호화(비밀키)   RSA/DSA/...


firewall-cmd --add-port=23/tcp --permanent 상시적용
systemctl enable [서비스이름] 앞으로 지속적으로 구동시키기

Windows (st01) Linux (kck93) 

ssh 192.168.0.21 -> 계정 : st01

ssh kck93@192.168.0.21

ssh -l kck93 192.168.0.21


SSH Server(Linux) SSH Client(Windows)

설정 : /etc/ssh/sshd_config
비밀키 : /etc/ssh/ssh_host_rsa_key
공개키 : /etc/ssh/ssh_host_rsa_key.pub -> ~/.ssh/known_hosts

1. SSH Client가 SSH Server에 최초 접속시 Server에 저장되어있던
   공개키(/etc/ssh/ssh_host_rsa_key.pub)를 Client에 전송하고
   Client는 이를 홈디렉토리 아래에 .ssh 디렉토리를 생성하고
   known_hosts 파일으로 저장한다.

2. 이후 모든 통신은 Client에서 Server에 데이터 전송시 데이터를
   공개키와 함께 암호화하고 이를 전송 받은 Server는 비밀키로 복호화하여
   데이터를 확인한다.

SSH Client
- Putty (무료)
- iPutty (무료)
- SecureCRT
- xShell
- 명령어(ssh) (무료)

----------------------------------------------------------------------------------------

SSH Server(CentOS 1st) SSH Client(CentOS 2nd)

설정   : /etc/ssh/sshd_config
비밀키 : /etc/ssh/ssh_host_rsa_key
공개키 : /etc/ssh/ssh_host_rsa_key.pub -> ~/.ssh/known_hosts

공개키 인증방식
~/.ssh/id_rsa 비밀키
~/.ssh/authorized_keys ~/.ssh/id_rsa.pub 공개키














































반응형
반응형

RPM(Redhat Package Manager)
 - Redhat에서 만든 쉽게 프로그램을 설치/제거/유지할 수 있도록 도와주는 유틸리티

 rpm파일의 이름규칙 : telent-server-0.17-65.e17_8.x86_64.rpm 
                              패키지명   -버전-릴리즈명.아키텍처       .rpm

 

 telnet Client  -> telnet server

 버전 : x.y.z(Major.Minor.Patch)으로 나열된 정보로 프로그램이 얼마나 최신인가를 표현 정보
    x          : Major, 주버전 , 큰(획기적인) 변화
        y      : Minor, 부버전 , 기능 개성 (추가)
            z  : Patch, 패치버전, 문제점 해결
  릴리즈   : 출시된 순번.배포판명
                  fc(FedoraCore), el(Redhat Enterprise Linux)
  아키텍쳐 : CPU의 종류
                    x86(i386,i486,i586,i686, 32bit CPU)
                    x64(64bit CPU)
                    x86_64(64bit CPU)
                    armXX(ARM CPU)
 배포판
  redhat enterprise linux
  centos (redhat enterprise linux 클론)
  fedora fc32, fc3x
  debian
  ubuntu

 

 rpm -i    RPM파일명 : RPM패키지를 설치
 rpm -iv   RPM파일명 : RPM패키지를 설치, 과정을 상세히 출력
 rpm -ivv  RPM파일명 : RPM패키지를 설치, 과정을 더 상세히 출력
 rpm -ivh  RPM파일명 : RPM패키지를 설치, 과정을 상세히 출력, 진행률(%)

 rpm -U    RPM파일명 : RPM패키지를 업그레이드 (새로 설치할 때도 사용 가능)
 rpm -Uvh  RPM파일명 : RPM패키지를 업그레이드 (새로 설치할 때도 사용 가능)

 rpm -e    RPM패키지명 : RPM패키지를 제거

 rpm -qa | grep 이름  : 전체 설치된 패키지들 중 일부 동일한 이름이 있는지 검색
 rpm -qa   RPM패키지명 : RPM패키지 설치 유무
 


     --replacefiles : 파일만 재설치함 (여러 버전을 같이 설치할 수 있다.)
     --replacepkgs : 동일 버전을 재설치함 (동일 버전의 파일들을 복구)
     --oldpackage : 하위 버전으로 다운그레이드 설치
     --force : --replacefiles, --replacepkgs, --oldpackage 옵션을 모두 포함

 rpm -e   패키지명 : 설치된 패키지 제거

 rpm -q : Query(질의), rpm 의 정보를 조회하는 옵견
 rpm -qa : 설치된 패키지 전체 목록 출력
 rpm -qa | grep 패턴 : 설치된 패키지 전체 목록 중 패턴과 일치는 목록 조회
 rpm -q   패키지명 : 설치된 특정 패키지의 설치 여부 확인
 rpm -qi  패키지명 : 설치된 특정 패키지의 info(정보) 확인

 rpm -ql  패키지명 : 특정 패키지에 의해 설치된 파일들의 목록
 rpm -qf 경로/파일명 : 해당 파일이 어떤 패키지의 의해 설치되었는지 확인

 rpm -qip RPM파일명 : 설치전 특정 패키지의 info(정보) 확인

 

 

yum(dnf) 명령어: rpm 명령어의 의존성을 해결해주며, 인터넷에서 설치 파일을 다운받아
                            설치/유지/제거등을 모와주는 (보조)유틸리티

 

 yum install 패키지명 : 최신버전을 단일 패키지를 다운받아 설치, 의존성을 같이 해결한다.
 yum localinstall RPM파일명 : 다운받은 RPM파일로 설치하면서, 의존성을 해결한다.
 yum groupinstall 그룹명 : 패키지그룹으로 설치

 yum update : 설치된 (전체) 패키지들을 업데이트
 yum update 패키지명 : 설치된 (특정) 패키지들을 업데이트

 yum list  : 전체 패키지에 대해 설치된, 설치전, 업데이트등과 같은 패키지 상태를 출력
 yum list 패키지명 : 특정 패키지에 대해 설치된, 설치전, 업데이트등과 같은 패키지 상태를 출력

 yum remove 패키지명 : yum erase 패키지명, 패키지 제거
 yum info 패키지명 : 특정 패키지 정보(설치전, 설치된, 업데이트)

 yum clean all : repo(저장소) 캐쉬정보를 제거

 추가 옵션
 -y : 설치/제거시 질의 과정을 전부 'yes' 처리
 -q : 설치/제거시 출력물 모두 제거(quiet)

 

/etc/sysconfig/network-scripts/ifcfg-ens33  <- LAN(Ethernet) 설정 파일

history 기능 - 이전에 사용했던 명령어들을 기억해놓고 재사용할 수 있도록 도와주는 기능

 history      : 이전에 사용했던 명령어들의 목록 출력 (사용했던 순서로 넘버링)
 history -c  : 명령어들의 목록을 초기화한다.
 
 !!    : 직전 명령어를 다시 실행
 !-1  : 1번째 전 명령어를 다시 실행 (!! 동일)
 !-5  : 5번째 전 명령어를 다시 실행
 !10 : history 명령어로 확인했던 명령어들 목록의 10번 명령어 재실행
 !명령어 : 최근 사용했던 해당 명령어를 다시 실행

 L7 service L4 Port
 ftp tcp 21
 ssh tcp 22
 telnet tcp 23
 smtp tcp 25
 dns tcp/udp 53
 dhcp udp 67/78
 tftp udp 69
 http tcp 80
 pop3 tcp 110
 imap tcp 143
 smnp udp 161/162
 https tcp 443
 mysql,maridb tcp 3306
 rdp tcp 3389



Windows
  zip
  rar
  alz


Linux

  Z - Unix 전용 압축포맷, Linux에서 지원X
  gzip - 현재 가장 많이 사용되는 압축포맷 (압축↓, 속도↑)
          사용법: gzip  파일명 -> 원래 파일명은 사라지고,
   파일명.gz 압축파일을 생성
                  gzip -l 파일명.gz : 압축된 상태 정보 출력
                  gunzip  파일명.gz : 압축해제, 압축파일을 사라지고, 파일명만 남음
                  gzip -d 파일명.gz : 압축해체, 압축파일을 사라지고, 파일명만 남음

  bzip2 - 적당한 압축률, 적당한 속도 (압축-, 속도-)
          사용법: bzip2  파일명 -> 원래 파일명은 사라지고,
   파일명.bz2 압축파일을 생성
                  bunzip2, bzip -d : 압축해제

  xz - 최신 압축포맷 (압축↑, 속도(압축↓,해제↑))
          사용법: xz  파일명 -> 원래 파일명은 사라지고,
   파일명.xz 압축파일을 생성
                  unxz, xz -d : 압축해제


TAR(Tape ARchive) 명령어

  tar cf 묶을파일명.tar 파일1 파일2 ... : 파일1, 파일2, ...등을 묶을파일명.tar로 생성(Create)한다..
  tar xf 묶인파일명.tar : 묶인파일명.tar를 해제(eXtract)한다.
  tar tf 묶인파일명.tar : 묶인파일명.tar를 테스트(Test, 확인)한다.

      cfv, cfvv : 묶는 과정을 (더) 자세히 출력
      xfv, xfvv : 해제 과정을 (더) 자세히 출력

묶을 과정 중 추가로 압축할 경우, 파일명이 자동으로 gz,bz2,xz 으로 변경되지
않기 때문에 묶을파일명.tar 지정시 추가으로 압축포맷이름 지정해야한다.
  tar cfz 묶을파일명.tar.gz : 묶인 파일을 다시 gzip으로 압축
  tar cfj 묶을파일명.tar.bz2 : 묶인 파일을 다시 bzip2으로 압축
  tar cfJ 묶을파일명.tar.xz : 묶인 파일을 다시 xz으로 압축

반응형

'리눅스' 카테고리의 다른 글

Caching Name-Server  (0) 2022.12.28
리눅스 서버  (0) 2022.12.27
파일검색 which, whereis, locate, find  (0) 2022.12.27
리눅스 파일출력, 퍼미션 명령어  (0) 2022.12.27
리눅스 기초 명령어 - cron&rsync, service booting  (0) 2022.10.20
반응형

PATH=/ PATH변수에 명령어의 경로를 등록
 
which 명령어는 PATH에 등록된 명령어의 위치를 검색하는 명령어

-usr -bin
-sbin
-bin 일반 명령어 디렉토리
-sbin 시스템 명령어 디렉토리 (root만 사용가능)

PATH=/usr/bin:/usr/sbin
-> bin과 sbin 의 명렁어 모두 찾아 줌

 

 

파일 검색 : which, whereis, locate, find
 
 1.  whcih   : PATH변수에 등록된 경로에서만 명령어의 위치를 검색한다.
    사용법 - which 명령어
 
 2. whereis : 명령어와 문서파일을 검색한다.

 3.   locate  : 이름이 포함된 모든 파일들 (색인) 검색
      다른 명령과 달리 실제 검색을 하지 않고, 색인에서 검색
      검색속도가 가장 빠른 장점이 있다.
      주기적으로 색인을 갱신해야한다. -updatedb

4.   find     : 다양한 옵션들을 이용하여 정확한 검색한다.
      속도가 가장 느리다.
   사용법 - find [검색시작경로] [옵션들] [조건] [액션]
                 find           /etc          -name   network -print
   -> /etc 디렉토리부터 이름이 network인 파일(디렉토리)을
      검색하여 결과를 출력하라.

 

옵션

-xdev                   : 검색시 디바이스 디렉토리들을 검색에서 제외
-empty                 : 빈 파일/디렉토리 검색
-name  파일명     : 파일/디렉토리명으로 검색 
-type  파일종류   : f (일반파일), d (디렉토리파일), s (소켓파일)
-user  계정명      : 특정 계정으로 소유인 파일/디렉토리 검색
-nouser               : 소유자가 없는 파일/디렉토리 검색

-mtime +/-숫자   :수정일, -mtime 5 수정한지 5일이된 파일/디렉토리
                                        -mtime +5 수정한지 5일이 초과된 파일/디렉토리
                                        -mtime -5 수정한지 5일이 미만인 파일/디렉토리

-mmin  +/-숫자 : 수정분,  -mmin 5 수정한지 5분이된 파일/디렉토리
                                        -mmin +5 수정한지 5분이 초과된 파일/디렉토리
                                        -mmin -5 수정한지 5분이 미만인 파일/디렉토리

 

-atime +/-숫자 : 실행일
-amin  +/-숫자 : 실행분
-ctime +/-숫자
-cmin  +/-숫자

-size  +/-용량   : 용량(M/G)

-perm u=rwx    : rwx------- 권한의 파일/디렉토리
-perm a=rx      : rx-rx-rx-  권한의 파일/디렉토리
-perm -4000    : --s------  권한만 확인하고 그외 권한은 비교하지 않는다.
-perm -u=s      : --s------  권한만 확인하고 그외 권한은 비교하지 않는다.

 

논리연산자

-not                       : 이어지는 옵션을 반대로 바꿀 때 사용한다.

                              -user user1           : user1 사용자의 소유인 ...
                              -not -user user1    : user1 사용자를 제외한 다른 사용자의 소유인 ...
-and, -a                 : 옵션1과 옵션2이 모두 만족하도록 설정
                              -user user1 -and -type d : user1 사용자 소유이면서 디렉토리인
                              -user user1 -a   -type d   파일을 검색할 때 사용
-or , -o                   : 옵션1 또는 옵션2 중 1개이상 만족하도록 설정
                              -user user1 -or -user user2 : user1 사용자 또는 user2 사용자 소유인 ...

   연산자의 우선순위 : -not -> -and -> -or

 

 

    액션
-print  : 검색된 결과를 경로와 이름으로 출력 (기본값으로 생략시 자동으로 설정)
-ls     : ls -lsi 옵션으로 검색된 결과로 출력
-delete : 검색된 결과를 출력하지 않고 제거한다.
-exec 명령어 {} \; : 검색된 결과를 출력이나 제거하지 않고 별도의 명령어를 이용하여 처리한다.
-ok 명령어 {} \;   : 검색된 결과를 출력이나 제거하지 않고 별도의 명령어를 이용하여 처리하고,
    처리시마다 [y/n] 질문하여 실행 여부 설정할 수 있다.

 

명령어와 명령어를 이어주는 특수문자들
     (pipe)
 1. command1 | command2  : command1의 실행 결과를 command2의 입력값으로 전달

    rpm -qa | sort | grep ^python
                  정렬           ^:시작하는

 2. command1 && command2 : command1의 정상으로 실행이 끝나면 이어서 command2를 실행한다.
  
 3. command1 ; command2  : command1의 정상 실행 여부와 상관없이 이어서 command2를 실행한다.

 

★연습문제★
others에 x(execute)권한이 있는 SetUID bit가 있는 파일들만 검색
[root@ns1 ~]# find /test -perm -o=x -perm -u=s -type f -print

리눅스 전체 시스템(/)에서 others에 x(execute)권한이 있는 SetUID bit가 있는 파일들만 검색
[root@ns1 ~]# find / -perm -o=x -perm -u=s -type f -print

/usr/bin 디렉토리에서 setuid bit가 설정된 파일들 중 other가 실행할 수 없는 파일들만 검색
[root@ns1 ~]# find /usr/bin -perm -u=s -and -type f -and -not -perm -o=x -print

/test 에서 빈(empty) 파일/디렉토리를 검색
[root@ns1 ~]# find /test -empty -print

/etc 디렉토리 network 이름으로 되어있는 파일들만 검색
[root@ns1 ~]# find /etc -name network -and -type f -print
[root@ns1 ~]# find /etc -name network -and -type f -exec ls -lh {} \;

/etc 디렉토리 용량이 3M를 초과하는 파일을 검색하여 현재 디렉토리 복사한다.
[root@ns1 ~]# find /etc -size +3M -and -type f -exec cp {} . \;

pyton 이름으로 시작하는 패키지들 검사
[root@ns1 ~]# rpm -qa | sort | grep ^python

/share 생성하고, /share 이동하고, /share 에서 /etc 디렉토리를 압축하여 etc.tar 파일 생성
tar cf etc.tar /etc
[root@ns1 ~]# mkdir /share ; cd /share ; tar cf etc.tar /etc

 

 

반응형
반응형

스위치 다이렉트케이블
PC끼리는 크로스오버케이블

255.255.255.224

Router> User-EXEC Mode
               - 시스템 영향을 주지 않는 간단한 정보를 확인

Router> enable Privileged Mode로 들어가겠다.
(en)
password:

Router# Privileged Mode(관리자 모드)
                - 시스템 모든 정보를 확인

Router# configure terminal
conf t


Router(config)# Global Configuration Mode
                           (전역 설정 모드)
                            - 시스템 전역(전반) 영향을 주는 설정을 한다.

Router(config)# hostname R1
R1(config)# interface fastethernet 0/0
                   int fa 0/0                           -특정 인터페이스 설정 모드

R1(config-if)# interfae Configuration Mode
R1(config-if)# ip address IP주소 서브넷마스크
       ip add

 

※ linux

[root@ns1 ~]#
ns1 컴퓨터에
root 계정으로 로그인
~    디렉토리에서 작업중이다.
# 현재 관리자 계정

 

통신에 사용되는 Table(정보)

 - Routing Table : 목적지 Network 로 가기 위한 경로 정보

 - ARP Table      : L3(IP)주소와 L2(MAC)주소를 매핑한 정보

L3 192.168.100.1                        L3 192.168.100.2
L2                                                L2
L1                        - >                    10101010101

Router 접근 Mode

 

★연습문제★

I P 주 소 : 200.100.100.5
서브넷마스크: 255.255.255.0 인 Host(컴퓨터)와
동일한 Network에 있는 IP주소를 모두 고르시오.

1. 200.100.100.1
2. 200.100.100.2
3. 200.100.100.250
4. 200.100.12.40
5. 192.168.100.10

I P 주 소 : 200.100.100.80
서브넷마스크: 255.255.255.192 인 Host(컴퓨터)와
동일한 Network에 있는 IP주소를 모두 고르시오.

1. 200.100.100.33
2. 200.100.100.60
3. 200.100.100.72
4. 200.100.100.120
5. 200.100.100.142

I P 주 소 : 164.128.172.12
서브넷마스크: 255.255.248.0 인 Host(컴퓨터)와
동일한 Network에 있는 IP주소를 모두 고르시오.
10101 100
11111 000
10101 000
164 . 128 . 10101 hhh . hhhhhhhh
164 . 128 . 10000 000 . 
164 . 128 . 10100 000 . 

164 . 128 . 10101 010 .
164 . 128 . 10101 111 .

164 . 128 . 10110 000 .
164 . 128 . 10110 100 .

1. 164.128.128.45
2. 164.128.160.128

3. 164.128.170.255 !
4. 164.128.175.100 !

5. 164.128.176.254 
6. 164.128.180.110 

 

IP Address : 192.168.100.10
SubnetMask : 255.255.255.0
Gateway IP : 192.168.100.1

Routing Table
Network ID                  SubnetMask                  Gateway             interface
192.168.100.0            255.255.255.0                 염결됨               192.168.100.10

Src Dst
192.168.100.10          192.168.100.30

      0.0.0.0                         0.0.0.0            192.168.100.1          192.168.100.10

 

모든 Router는 직접 연결된 Network만을 광고할 수 있다.
크게 광고해도 소유하고 있는 크기만큼만 광고
작게 광고해도 소유하고 있는 크기만큼만 광고

출력물 | 사용하여 출력
show ??? | include : 어떤 명령어를 썼는지 확인
               | exclude : 걸러내는 용도로 사용
                | begin   : 시작하는
               | section : 블록(한묶음)으로 볼때 사용

 

ospf로 네트워크 연결

R1 -Fa0/0- 200.100.100.1  / 255.255.255.0
   -Fa0/1- 211.100.100.33 / 255.255.255.224
   -S0/0-  211.100.100.65 / 255.255.255.224

   211.100.100.0  / 255.255.255.0

R1(config)# router ospf 1
R1(config-router)# network Network ID Wildcard bit area NN
R1(config-router)# network 200.100.100.0 0.0.0.255 area 0
R1(config-router)# network 200.100.100.32 0.0.0.31 area 0
R1(config-router)# network 200.100.100.64 0.0.0.31 area 0

R1(config-router)# network 200.100.100.0 0.0.0.255 area 0
R1(config-router)# network 211.100.100.0 0.0.0.255 area 0

R1(config-router)# network 200.100.100.1 0.0.0.0 area 0
R1(config-router)# network 211.100.100.1 0.0.0.0 area 0
R1(config-router)# network 211.100.100.65 0.0.0.0 area 0

 

슈퍼넷팅

  Wildcard bit <-> SubnetMask

168.100.154.0 / 255.255.255.0
168.100.155.0 / 255.255.255.0
168.100.156.0 / 255.255.255.0
168.100.157.0 / 255.255.255.0
168.100.158.0 / 255.255.255.0
168.100.159.0 / 255.255.255.0
168.100.160.0 / 255.255.255.0

168.100.10001010.0   168.100.138.0 / 255.255.255.0
168.100.10001011.0
168.100.10011100.0   168.100.156.0 / 255.255.255.0
168.100.10011101.0
168.100.10011110.0
168.100.10011111.0
168.100.10100000.0

 

Longest Match Rule

IP 주소 : 200.100.2.5             1,2,(4)
              200.100.3.100          1,2,5,(6)

1. 200.100.0.0   /   255.255.0.0            /16
2. 200.100.0.0   /   255.255.252.0        /22
3. 200.100.1.0   /   255.255.255.0        /24
4. 200.100.2.0   /   255.255.255.0        /24
5. 200.100.3.0   /   255.255.255.0        /24
6. 200.100.3.0   /   255.255.255.128    /25
7. 200.100.3.128 /   255.255.255.128  /25

 

172.160.01010000 .hhhhhhhh
172.160.01010100 .hhhhhhhh
172.160.01010101 .hhhhhhhh
172.160.01010110 .hhhhhhhh
172.160.01010111 .hhhhhhhh
타이즈한 축약 :172.168.80.0/21
느슨한 축약  :172.168.0.0 /16


192.168.100.0 / 255.255.255.0 <- SubnetMask
0.0.0.255 <- Wildcard bit

SubnetMask는 연속되는 1bit과 나머지 0bit으로 구성된다.
연속되는 1bit가 Network bit되고, 나머지 0bit는 Host bit가 된다.

Wildcard bit는 0과 1로 구성된다.
0으로 구성된 bit는 반드시 일치해야하는 bit이고,
1으로 구성된 bit는 무시되는 bit이다.
Subnet Mask 대용으로 사용한다면, 연속되는 0bit와 나머지 1bit으로 구성
연속되는 0bit가 Network bit되고, 나머지 1bit는 Host bit가 된다.

11111111 . 11111111 . 11111111 . 11111111 <- Subnet Mask
00000000 . 00000000 . 00000000 . 00000000 <- Wildcard bit

Subnet Mask Wildcard bit
255.255.255.0 -> 0.0.0.255
255.255.0.0     -> 0.0.255.255
255.255.255.192 -> 0.0.0.63
255.255.248.0   -> 0.0.7.255
255.255.255.224 -> 0.0.0.31

반응형
반응형

I P   주 소 : 10.10.10.2         (00-02)       (Ethernet, DA, SA(IP, SA, DA
서브넷마스크: 255.255.255.0
게이트  웨이: 10.10.10.1     (00-01)

- IP주소 10.10.10.5    (00-05)

1. 동일 네트워크내의 IP주소와의 통신

   1-1. ping(ICMP) 명령어를 이용하여 10.10.10.5 에게 통신
        - ping 명령어로 ICMP type 8 (Echo-Request)를 패킷 생성
        - 목적지 IP주소를 ICMP패킷 앞에 추가한다.

        C:\> ping 10.10.10.5
        L3                                      (IP, ??.?, 10.5 (ICMP,type 8)

   1-2. 목적지 IP주소 10.10.10.5 의 최적 경로 선정을 위한
        Routing Table을 참조한다. 출발지 IP주소를 IP헤더 안에 추가한다.
        - Routing Table을 참조하면, 동일/다른 네트워크와 출발IP주소 확인 가능

        C:\> netstat -r
        L3                                       (IP, 10.2, 10.5 (ICMP,type 8)

   1-3. 해당 패킷을 전송하기 위한 2계층 정보(ARP Table) 조회한다.
        Ethernet 환경은 MAC Address를 사용한다.
        출발지 MAC주소는 자신의 MAC주소를 추가한다.

        L3                                        (IP, 10.2, 10.5 (ICMP,type 8)
        L2   (MAC, ??-??, 00-02     (IP, 10.2, 10.5 (ICMP,type 8)

   1-4. 목적지 IP주소의 MAC주소를 조회
        - 동일 네트워크인 경우, 해당 목적지 IP주소의 MAC주소 사용
        - 다른 네트워크인 경우, Gateway IP주소의 MAC주소 사용

        ㄱ. ARP Table의 등록된 경우
            C:\> arp -a
            IP 주소      MAC 주소    유형
            10.10.10.5   00-05       동적 (해당 장비 정보)

        ㄴ. ARP Table의 등록되지 않은 경우
            - ARP Broadcast를 생성하여 10.10.10.5의 MAC주소 요청
            - 응답받은 ARP을 내용을 ARP Table 에 기록
            - ㄱ. 으로 이동하여 다음 순서를 진행

        L3                                       (IP, 10.2, 10.5 (ICMP,type 8)
        L2   (MAC, 00-05, 00-02    (IP, 10.2, 10.5 (ICMP,type 8)

    1-5. 완성된 데이터 Frame은 bit 화되어 전송로로 전송


        L3                                      (IP, 10.2, 10.5 (ICMP,type 8)
        L2   (MAC, 00-05, 00-02   (IP, 10.2, 10.5 (ICMP,type 8)
        L1   0000 0000 0000 0101 0000 0000 0000 0010
                 -0-    -0-     -0-    -5-     -0-     -0-     -0-    -2-

------------------------------------------------------------------------------
2. 다른 네트워크내의 IP주소와의 통신

   2-1. ping(ICMP) 명령어를 이용하여 20.20.20.4 에게 통신
        - ping 명령어로 ICMP type 8 (Echo-Request)를 패킷 생성
        - 목적지 IP주소를 ICMP패킷 앞에 추가한다.

        C:\> ping 20.20.20.4
        L3                      (IP, ??.?, 20.4 (ICMP,type 8)

   2-2. 목적지 IP주소 20.20.20.5 의 최적 경로 선정을 위한
        Routing Table을 참조한다. 출발지 IP주소를 IP헤더 안에 추가한다.
        - Routing Table을 참조하면, 동일/다른 네트워크와 출발IP주소 확인 가능

        C:\> netstat -r
        L3                      (IP, 10.2, 20.4 (ICMP,type 8)

   2-3. 해당 패킷을 전송하기 위한 2계층 정보 조회한다.
        Ethernet 환경은 MAC Address를 사용한다.
        출발지 MAC주소는 자신의 MAC주소를 추가한다.

        L3                      (IP, 10.2, 20.4 (ICMP,type 8)
        L2   (MAC, ??-??, 00-02 (IP, 10.2, 20.4 (ICMP,type 8)

   2-4. 목적지 IP주소의 MAC주소를 조회
        - 동일 네트워크인 경우, 해당 목적지 IP주소의 MAC주소 사용
        - 다른 네트워크인 경우, Gateway IP주소의 MAC주소 사용

        ㄱ. ARP Table의 등록된 경우
            C:\> arp -a
            IP 주소      MAC 주소    유형
            10.10.10.1   4E-01       동적 (Gateway 장비 정보)

        ㄴ. ARP Table의 등록되지 않은 경우
            - ARP Broadcast를 생성하여 10.10.10.1의 MAC주소 요청
            - 응답받은 ARP을 내용을 ARP Table 에 기록
            - ㄱ. 으로 이동하여 다음 순서를 진행

        L3                      (IP, 10.2, 20.4 (ICMP,type 8)
        L2   (MAC, 4E-01, 00-02 (IP, 10.2, 20.4 (ICMP,type 8)

    1-5. 완성된 데이터 Frame은 bit 화되어 전송로로 전송

        L3                      (IP, 10.2, 20.4 (ICMP,type 8)
        L2   (MAC, 4E-01, 00-02 (IP, 10.2, 20.4 (ICMP,type 8)
        L1   0100 1110 0000 0001 0000 0000 0000 0010
                 -4-    -E-     -0-    -1-    -0-     -0-     -0-    -2-

ICMP Message 종류 

Type        Code
0                x           Echo-Reply (에코 응답)

3                            Destination Unreachable (목적지 도달 불가)
                  0          Network Unreachable
                  1          Host Unreachable
                  2          Protocol Unreachable
                  3          Port Unreachable
                 13         Adminitratively Host Prohibited (연결 거부)

4                x          Source Quench
5                x          Redirect
8                x          Echo-Request (에코 요청)

11                          Time-Exceed (시간초과)
                  0          IP, TTL필드 만료(0)
                  1          Flagmentation 패킷이 도착X

경로 추적(Route Trace)
 - 경유하는 Router 에게는 ICMP Type 11 받고,
 - 최종 목적지 PC  에게는 ICMP Type  0 받다.


                        PC -----------> Router-----------> Router-----------> Router-----------> PC

(IP, 1(ICMP type 8)------>
                           <--------- (ICMP,11,0)

(IP, 2(ICMP type 8)------> (IP, 1) --------->
                           <-------------------------------- (ICMP,11,0)

(IP, 3(ICMP type 8)-------> (IP, 2) ------------> (IP, 1) --------->
                <-------------------------------------------------------------- (ICMP,11,0)

(IP, 4(ICMP type 8)------> (IP, 3) ------------>  (IP, 2) ---------> (IP, 1) ------->
                <------------------------------------- ----------------------- (ICMP, type 0)


반응형
반응형

모든 Network는 소유한 IP범위내에서 2개의 IP주소를 Host(컴퓨터)에 부여(할당)할 수 없다.
1. Network ID는 Network를 대표하는 IP주소로써 1개의 컴퓨터에 부여한다면
   그 IP주소는 Network를 대표하지 않고 한개의 컴퓨터를 나타낸다.
   Host bit가 모두 0일 주소를 Network ID(주소)

2. Boradcast ID는 Network에 존재하는 모든 Host(컴퓨터)와 1번의 전송으로 통신을 하기 위한
   목적으로 사용하기 때문에 그 IP 주소를 컴퓨터에 부여한다면 그 IP주소는 해당 컴퓨터하고만 통신
   할 수밖에 없다.
   Host bit가 모두 1인 주소를 Broadcast ID(주소)

   I P 주 소 : 192.168.100.34
   서브넷마스크: 255.255.255.0

   Network ID : 192.168.100.0
  Broadcast ID: 192.168.100.255

 1 -> 1 Unicast   (반드시 유일한 1개의 주소만 존재)
 1 -> N Multicast (1개의 주소로 다수와 통신이 가능)
 1 -> A Broadcast (Network에 있는 모든 Host와 통신)


서브넷마스크 : 255.255.255.0 11111111.11111111.11111111.00000000
   PreFix - 24bit
사전 고정된 값

특별한 용도가 할당된 IP주소들
1. 0.0.0.0 / 0 : 전세계의 모든 Host들이 속한 Network
  Default Route

2. 공인(Public) IP주소, 사설(Private) IP주소
   공인(Public) IP주소 - 전세계에서 유일하게 1개만 사용하는 IP주소
       인터넷 사용가능한 IP주소
   사설(Private) IP주소- 인터넷이 불필요한 지역(Network)에서 그 지역에서만
       통신할 목적으로 사용하는 IP주소

    A Class  1개  10.0.0.0 / 8

    B Class 16개  172.16.0.0 / 12
- 172.16.0.0 / 16
- 172.17.0.0 / 16
- 172.18.0.0 / 16
...
- 172.31.0.0 / 16

    C Class 256개 192.168.0.0 / 16
-192.168.0.0 / 24
-192.168.1.0 / 24
-192.168.2.0 / 24
...
-192.168.255.0 / 24

3.  Loopback Address  : 장비 스스로 가르키는 IP 주소, 시스템 점검용으로
많이 사용한다.
     127.0.0.0 / 8



4.  Link Local Address: 장비들 사이에서 지역적으로 사용하는 IP주소 일반적으로
자동 IP 할당을 못 받을 때 만들어진다.
169.254.0.0 / 16

서브넷팅이란? 큰 규모의 Network를 여러개의 작은 규모의 Network로 분리하는 기능

   하나의 Network를 반드시 동일한 Network Id를 공유해야하는 집단
   Broadcast ID를 이용하여 브로드캐스팅이 가능해야한다.

   Host bit를 1개 Network bit로 사용할 때마다 Host의 수는 2배 감소하고
   Network의 수는 2배로 증가한다.

192.168.100. 0 / 255.255.255.0 서브넷팅 한다.
<--------- Network bit -------> 
11000000 . 10101000 . 01100100 . hhhhhhhh  - Net1 Host 8bit (256)
  11111111 .  11111111 .   11111111 . 00000000  1 Network, 256(-2) Host
<-------- Network bit ------->
11000000 . 10101000 . 01100100 . 0 hhhhhhh  - Net1 Host 7bit (128)
11000000 . 10101000 . 01100100 . 1 hhhhhhh  - Net2 Host 7bit (128)
 11111111 .   11111111 .   11111111 . 1 0000000  2 Network, 128(-2) Host

Subnet bit는 원래는 Host bit였다가 서브넷팅 과정에서 Network bit로 전환된 bit들이다.


168.128.0.0 / 255.255.0.0 B Class 네트워크를 24개의 서브넷으로 나누시오
1~4번째까지 서브넷의 Network ID와 Subnet Mask는 어떻게 되는가?
168.  128. 00000 000. 00000000
255.  255. 11111 000. 00000000

                                                        Network ID    Broadcast ID
168. 128. 00000 000. 00000000  168.128.0.0    168.128.7.255
168. 128. 00001 000. 00000000  168.128.8.0    168.128.15.255
168. 128. 00010 000. 00000000  168.128.16.0  168.128.23.255
168. 128. 00011 000. 00000000  168.128.24.0  168.128.31.255

                                                     Subnet Mask   255.255.248.0



200.100.100.0 / 255.255.255.0 C Class 네트워크를 8개의 작은 서브넷으로 나누시오
각 서브넷마다의 Network ID와 Subnet Mask는 어떻게 되는가?

Subnet Mask   : 255.255.255.224 

Network ID    : 200.100.100.0
Broad Cast ID : 200.100.100.31

Network ID    : 200.100.100.32
Broad Cast ID : 200.100.100.63

Network ID    : 200.100.100.64
Broad Cast ID : 200.100.100.95

Network ID    : 200.100.100.96
Broad Cast ID : 200.100.100.127

Network ID    : 200.100.100.128
Broad Cast ID : 200.100.100.159

Network ID    : 200.100.100.160
Broad Cast ID : 200.100.100.191

Network ID    : 200.100.100.192
Broad Cast ID : 200.100.100.223

Network ID    : 200.100.100.224
Broad Cast ID : 200.100.100.255

C Class   255.255.255.00000000      1 Network, 256(-2) Host   1   * 256 = 256
      255.255.255.10000000      2 Network, 128(-2) Host   2   * 256 = 256
      255.255.255.11000000      4 Network,  64(-2) Host   4   * 256 = 256
      255.255.255.11100000      8 Network,  32(-2) Host   8   * 256 = 256
      255.255.255.11110000     16 Network,  16(-2) Host   16  * 256 = 256
      255.255.255.11111000     32 Network,   8(-2) Host   32  * 256 = 256
      255.255.255.11111100     64 Network,   4(-2) Host   64  * 256 = 256
      255.255.255.11111110    128 Network,   2(-2) Host   128 * 256 = 256 사용 할 수 없다.
      255.255.255.11111111    256 Network,       1 Host   256 * 256 = 256

반응형
반응형

클래스

 

IPv4 주소 (32bit) 43억개     ->    IPv6 (128bit) 

회선교환방식 : 지하철(속도의 지연이 발생하지 않음,1:1에 적합, 정해진 길로만 가야함)
패킷교환방식 : 도로 (  N:N )

TCP/IP
ARPAnet (초기 인터넷)

 

클래스별 IP개수

A Class     1600만개 126개
B Class       6.5만개
C Class         256개

 

서울시 구로구 XX동 12번지 -> 동일한 네트워크 (동)
서로다른 호스트 (번지)
192 . 168. 0.   20
<---------->    <-->
network       host

 

같은 동네(network)에 있다면 반드시 동일한 동네 주소와
서로 다른 번지 주소를 사용해야만 한다.

 

A Class는 최상위 1bit가 0으로 고정된 Network 이며
 1옥텟(8bit)가 Network bit으로 사용된다.
 3옥텟(24bit)가 Host bit으로 사용된다.
 00000000.00000000.00000000.00000000  0.0.0.0
 01111111.11111111.11111111.11111111 127.255.255.255
 0, 127인 Network는 특별한 목적으로 사용하기 때문에
 실제 사용하는 A Class는 1~126 까지 이다.

 

A Class 네트워크 수 : 126개
                호스트 수  : 1600(24bit)만개

 

0 nnnnnnn . hhhhhhhh . hhhhhhhh . hhhhhhhh

0 0000000                      0(예약)

0 0000000                      1

0 1111110                       126
0 1111111                       127(예약)
1.0.0.0                      1번째 A Class
126.0.0.0                  마지막(126)번째 A Class

 

B Class는 최상위 2bit가 10으로 고정된 Network이며,
 16bit가 Network bit, 16bit가 Host bit로 사용된다.
 B Class 네트워크 수 : 16384개
호스트 수  : 65536(16bit)개
10 nnnnnn . nnnnnnnn . hhhhhhhh . hhhhhhhh
10 000000 . 00000000 .           128 . 0 . 0 . 0
10  111111 .   11111111 .           191 . 255 . 0 . 0
128.0.0.0             1번째 B Class
191.0.0.0             마지막(16384)번째 B Class

 

C Class는 최상위 3bit가 110으로 고정된 Nework이며,
 24bit가 Network bit, 8bit가 Host bit로 사용된다.
 C Class 네트워크 수 : 2097152개
                 호스트  수 : 256(8bit)
 110 nnnnn . nnnnnnnn . nnnnnnnn . hhhhhhhh
 110 00000 . 00000000 . 00000000  192.0.0.0      1번째 C Class
 110 11111  . 11111111   . 11111111    223.255.255.0  마지막번째(2097152) C Class

 

D Class는 멀티캐스트
E Class는 연구용(예약)

 

 

서브넷마스크

 

서브넷 마스크는 Network bit와 Host bit를 구분하는 역할을 한다.
서브넷 마스크는 연속적인 1과 나머지 0으로 구성되는데 연속적인 1이 있는
구간이 Network ID((bit)동네주소))이며, 나머지 0인 구간이 Host ID(bit)이다.
Network ID는 IP주소와 서브넷마스크를 AND(&)연산으로 계산한다.
 Host bit가 모두 0으로 처리된다.
Broadcast ID는 Host bit가 모두 1으로 처리 된다.

Network ID, Broadcast ID는 특수한 목적으로 예약하고
일반 호스트(컴퓨터)가 사용할 수 없다.

 

   IP 주소               192.168.0.10                11000000 . 10101000 . 00000000 . 00001010

서브넷마스크     255.255.255.0                   11111111 .  11111111 .   11111111 . 00000000

                                                                    <----------------Network ID--------->   <Host ID>

Broadcast ID     192.168.0.255                  11000000 . 00101000 . 00000000 . 11111111

 

Network ID      :   11000000 . 10101000 . 00000000                     -> 192.168.0.0
Host ID           :                                                           . 00001010  -> 10
Broadcast ID  : 

 

서브넷마스크의 연속적인 1인 구간은 IP주소의 bit를 그래도 옮기고
나머지 0인 구간은 모든 bit를 0으로 처리한다.

 

194.128.254.82    11000010 . 10000000 . 11111110 . 010 10010
255.255.255.224   11111111 .   11111111 . 11111111 . 111 00000
255.255.255.64    11000010 . 10000000 . 11111110 . 010 00000
194.128.254.255   11000010 . 10000000 . 11111110 . 111111111

168.192.98.129    168 .    192 . 0110 0010 . 10000001
255.255.240.0     255 .    255  . 1111 0000 . 00000000
                                                 0110 0000 . 00000000
168.192.96.0      168 .  192 . 96 . 0
168.192.96.255    168 .  192 . 96 . 255

Broadcast ID : 211.100.102.255<- 끝자리가 모두 1인8bit

반응형

'Network' 카테고리의 다른 글

IP 헤더  (0) 2022.12.27
OSI 7 Layer  (0) 2022.12.27
DNS 서버 설치  (0) 2022.11.08
윈도우2019서버를 이용한 DNS 서버 설치, 작동 확인 및 DNS 서버를 이용한 네임서버 추가  (0) 2022.10.27
DNS 서버  (0) 2022.10.24
반응형

head : 파일의 앞부분만을 보여준다. 
tail : 파일의 뒷부분만을 보여준다. (가장 최근에 추가된 내용을 볼때 사용)
more : 출력결과가 파일이 아닌경우 | 로 사용한다.
less : more와 비슷한데 검색기능이 있다.
cat

touch 파일명 -> 0byte파일생성

 

  file 디렉토리
r 파일의 내용을 본다.
  -head, tail,more,less,cat
디렉토리의 목록을 본다.
  -ls
w 파일의 내용을 수정한다.
  -vi, nano, gedit
 디렉토리에 파일을 생성이나 삭제를 한다.
-touch, mkdir, rm, rmdir
x 파일을 실행한다.
  -파일명  
디렉토리에 입장
- cd

 

 

SetUID bit : 디렉토리 소유자의 권한을 other에게 부여함
SetGID bit : 디렉토리 소유그룹의 권한을 other에게 부여함
Sticky bit : 타인이 마음대로 파일을 못지우게함

 

rwx      rwx     rwx                               rw-     r--       r--

111      111     111                               110   100    100
421     421     421                              420   400    400
 7          7         7                                  6       4       4

 

  4          0        0                                   0      0       1
  1          0        0                                   0      0       1
rws       r-x      r-x                                rwx   rwx   rwt
11?      101    101                               111   111   11?

 

x가 있었으면 s
x가 없었으면 S

 

newgrp 기본그룹 순서변경

 

drwxrwxr-x  user1 user1  dir1
-rw-rw-r--  user1 user1  file1


drwxrwxr-x -> drwxrwxrwt
chmod o=rwxt dir1
chmod 1777 or a=rwx,o+t or o+wt

-rw-rw-r-- -> rwsr-xr-x
chmod u=rwxs,go=rx file1
chmod 4755
chmod a=rw,u+ws 
chmod u+xs,go+x,g-w

하드링크 : ls -lh명령시에 자신의 위치, 상위디렉토리위치를 숫자로 2로 표기함
심볼릭링크 : 다른 파티션에서 링크를 걸수 있음 하지만 원본파일의 이름이 바뀌면 사용 못함

반응형
반응형

끊어진 부분 넘기고 실시간 : UDP -> 일반우편
끊어져도 이어서 : TCP -> 등기우편

OSI 7 Layer                                                       TCP/IP 4 Layer

7 응용
6 표현                                                                     응용 4
5 세션
4 전송                                                                    전송 3
3 네트워크                                                             인터넷 2
2 데이터링크                                                         네트워크 엑세스  1
1 물리

 

Ethernet
UTP 케이블 100BaseTx

Network Access : Ethernet, TokenBus, TokenRing - LAN
 PPP, HDLC, Frame-Relay        - WAN
IP
신뢰성이 없다.(TCP가 신뢰성을 채워줌)
비연결성 데이터그램 방식
패킷의 완전한 전달(소실,중복,지연,순서바뀜) 을 보장하지 않음
조각나는 행위 자체 : 단편화

각 4계층 TCP Segmentation 분할(체계)

   3계층 IP  Flagmentation 조각(예상외)

IPv4   32bit  43억개 IP주소 고갈문제

IPv6   128bit 43억 X 43억 X 43억 X 43억


IP공유기(NAT) 
IPv4
Header Length(HLEN) (4 bits) 가변적
- 헤더의 길이
32비트(4 바이트) 워드 단위로 헤더 길이를 표시
- 길이 값 표현 
최소 5 (4 x 5 = 20 바이트)부터 15(4 x 15 = 60 바이트,옵션 포함된 경우)까지의 값 
2번째 4비트 부터 읽어서 TPC가 어디에 위치한지 알 수 있다.

0100 0101
0100 1111

DSCP는 우선순위,        드롭순위
                  3bit               2bit
                000  0             00 0
                111  7             11 3
                  0~7               0~3

IP packet 최대 MTU 65535Byte 입니다.
Ethernet 환경에서 MTU 1500Byte 제한

ping 168.126.63.1                   L3       ICMP
 <--- 20Byte --> <-----8Byte------> <-1472Byte->
(IP 168.126.63.1 (ICMP Echo-Request (Padding)))
                                                                       ABCDABCDABCD......
                                                                        A       B      C      D
                                                                       1010 1011 1100 1101
(IP, 20 (ICMP, 8        (Pad, 1472)))                   1Packet

(IP, 20 (ICMP, 8        (Pad, 1473)))
-> (IP,   20   (ICMP,   8 (Pad, 1472)))               2Packet
   (IP,    20                    (Pad, 1)))


identifier 조각이 났을경우 재 조립을 위해 같은 값으로 생김
               - flags : 잘라졌을경우 그뒤에 더 있는지 표시해줌
               - fragment offset : 잘라졌을때 어느위치에 잘라진걸 넣는지 표시해줌

TTL time to live (8비트) : 라우터를 하나 거칠때마다 1씩 까짐
-> 무한이 도는 패킷을 방지함(루핑방지)

윈도우는 128시작
리눅스  64시작

(IP, 6 (TCP, 80 (HTTP)))
(IP, 17 (UDP, 53 (DNS)))
(IP, 1 (ICMP, ... (....)))
   Protocol ID

IP 헤더뒤 있는 데이터가 어떤 종류의 데이터
하위계층 이어지는 상위계층 프로토콜 정보

4bit 0 ~ 15
8bit 0 ~ 255
16bit 0 ~ 65535
24bit 0 ~ 1600만
32bit 0 ~ 43억

Protocol Identifier (8bits)

/etc/protocols   -> (IP뒤에 어떤 프로토콜이 있는지)
/etc/services    -> (IP, 6 (TCP, ? (????)))


Header Checksum

IPv4 헤더
IPv6 헤더

 

반응형

'Network' 카테고리의 다른 글

클래스, 서브넷마스크  (0) 2022.12.27
OSI 7 Layer  (0) 2022.12.27
DNS 서버 설치  (0) 2022.11.08
윈도우2019서버를 이용한 DNS 서버 설치, 작동 확인 및 DNS 서버를 이용한 네임서버 추가  (0) 2022.10.27
DNS 서버  (0) 2022.10.24

+ Recent posts