본문 바로가기

Dev/Dev:: Linux

[Day008] Linux 8일차 - 네트워크 관리 1

● 네트워크 관리


  1. 네트워크 용어 및 관련 파일

    - 프로토콜(Protocol) : 통신규약 - 네트워크 기능을 구현하기 위한 여러 가지 통신 약속

      ]# vi /etc/protocols  =>  리눅스에서 사용 가능한 프로토콜 목록 확인  


      IP(IPV4) : 컴퓨터에 부여할 네트워크 주소(ip주소)에 대한 약속

             => 32bit(8bit 4개로 구분)    ex) 210.181.1.24

         ※ 8bit : 0~255

      IPV6 :  128bit로 구현된 네트워크 주소에 대한 약속      

      TCP : 신뢰할 수 있는 end-to-end 스트림 통신 프로토콜

          => 데이타가 없어지거나 부분적으로 손상되는 상황을 막기 위한 프로토콜

      UDP : 신뢰할 수 없는 end-to-end 데이타그램 서비를 제공하는 통신 프로토콜

          => 간단한 요청-응답 매커니즘을 기반으로 한 프로그램을 작성할 경우 사용하며 

             패킷 손실 감지와 재전송은 상대편이 책임지도록 하는 프로토콜


   



 - 네트워크 서비스 : TCP 또는 UDP에 의해 데이타 전송이 가능한 서비스 프로그램

      ]# vi /etc/services   =>  리눅스에서 사용 가능한 네트워크 서비스 목록 확인

      네트워크서비스명      port번호/프로토콜   [별명 ....]

      ※ 네트워크서비스 앞에 #를 붙이면 서비스를 사용할 수 없다.

      ※ port : 네트워크서비스가 사용하기 위한 논리적인 통로 번호       

        => 포트번호(16bit)는 0부터 65535까지 사용 가능

        => 0부터 511 사이의 포트는 TCP/IP 기반의 어플리케이션(HTTP, SSH, FTP등)으로 사용되도록 예약되어 있으며 512부터 1024까지는 운영체제(파일공유등)에서 사용되도록 예약되어 있다.


       ※ 예약되어 있는 port

           ftp : 파일 전송 서비스 => 21

           ssh : 원격 로그인 서비스(보안)  => 22

           telnet : 원격 로그인 서비스  => 23

           smtp : 메세지(메일) 송신 서비스  => 25

           domain : DNS 서비스(도메인을 ip주소로 변환)   =>  53

           http : 웹 서비스  =>   80

           pop3 : 메세지(메일) 수신 서비스  =>  110

           imap : 메세지(메일) 수신 서비스  =>  143

           oracle : DB 서비스  =>  1521

           mysql : DB 서비스  =>  3306


    - ip주소(ip Address) : 네트워크를 이용하기 위해 컴퓨터에 부여된 고유의 네트워크 주소

      ※ ip주소의 종류 

         공인 ip 주소 : ISP에서 부여한 ip주소

         사설 ip 주소 : 내부 네트워크 통신망에서 사용 가능한 ip 주소 => ip공유기

A 클래스 => 0.0.0.0~127.255.255.255 ip 주소중 10.0.0.0~10.255.255.255 ip주소는 사설 ip주소(1개)

B 클래스 => 128.0.0.0~191.255.255.255 주소중 172.16.0.0~172.16.255.255 ip주소는 사설 ip주소(16개)

C 클래스 => 192.0.0.0~223.255.255.255 주소중 192.168.0.0~192.168.255.255 는 사설 ip주소(256개)


      ※ ip주소 할당

         => DHCP 서버에 의해 자동 할당(동적 ip주소)

         => ip주소를 직접 할당(정적 ip주소) 


    - 서브넷 : 네트워크 성능을 개선하고 체계적으로 구성하기 위해 분할해 놓은 네트워크 그룹

       => 서브넷을 이용하는 이유

          > 지역적인 한계성을 극복

          > 효율적인 네트워크 트래픽 제어

          > 서로 다른 네트워크 그룹간의 보안을 강화

          > 물리적인 네트워크 구성의 효율성 추구


    - 넷마스크 주소(Netmask Address)  : 네트워크를 서브넷으로 나눌때 필요한 주소 => 네트워크 그룹 규모

A 클래스 => 255.0.0.0  : 0.0.0.0~127.255.255.255 ip주소(256*256*256개의 ip를 가진 네트워크그룹)

B 클래스 => 255.255.0.0  : 128.0.0.0~191.255.255.255 ip주소(256*256개의 ip를 가진 네트워크그룹)

C 클래스 => 255.255.255.0  :  192.0.0.0~223.255.255.255 ip주소(256개의 ip를 가진 네트워크그룹)


    - 하드웨어 주소(Mac Address) : 이더넷 장치에 부여된 하드웨어 네트워크 주소

    - 네트워크 주소(Network Address) : 네트워크 그룹에 부여되는 ip주소

       => 네트워크 그룹의 첫번째 ip주소가 자동으로 할당

       ex) 192.168.0.0~255의 C 클래스 그룹 => 192.168.0.0 : 네트워크 주소


    - 브로드캐스트 주소(Boradcast Address) : 네트워크 그룹에서 데이타를 공유하기 위한 ip 주소

       => 네트워크 그룹의 마지막째 ip주소가 자동으로 할당

       ex) 192.168.0.0~255의 C 클래스 그룹 => 192.168.0.255 : 브로드캐스트 주소


    - 라우터(Router) : 네트워크 그룹을 연결시키기 위한 통신장비

    => 다른 네트워크 그룹으로 이동할 경우 반드시 라우터를 통과해야 된다.(네트워크 그룹의 출입구)   


    - 게이트웨이 주소(Gateway Address) : 네트워크 그룹에 존재하는 라우터에 부여된 ip 주소

      => 네트워크 그룹내의 어떠한 ip주소를 사용해도 된다.    


    - DNS 서버 : 문자로 만들어진 네트워크 컴퓨터명(hostname : 컴퓨터명+도메인)을 ip주소로 변환하는 서버

       ex) www.naver.com  =>  202.131.30.11


     ※ URL주소 => 인터넷상의 자원에 대한 고유주소

        형식) 프로토콜://계정명@호스트명:port번호/경로/파일명 

        ex)  http://www.naver.com  => www.naver.com 이름의 컴퓨터에게 익명계정으로 웹서비스의 80번 port을 이용해 /index.html 파일을 요청

             ftp://ocj@ocj.ocj1778.com:1004/test/backup.sh


     ]# vi /etc/sysconfig/network-scripts/ifcfg-eth0  

         => 이더넷 장치에 설정된 네트워크 정보(ip주소,netmask주소,...)

         => ifcfg-eth0 파일에서 ip주소를 변경한 경우 network 데몬을 재실행


            ]# service network restart


     ]# vi /etc/sysconfig/network

         => 기본 네트워크 정보를 저장하고 있는 파일(Gateway 주소등)




     ]# vi /etc/resolv.conf

         => DNS 서버의 ip주소 저장


     ※ NetworkManager 데몬이 실행된 경우 ip주소,netmask주소,gateway주소,DNS서버주소등이

        /etc/sysconfig/network-scripts/ifcfg-eth0 모두 존재

 


     ]# vi /etc/host.conf   =>   호스트명을 ip주소로 변환하기 위해 호스트명을 검색하는 순서를 지정

     

order hosts,bind


      hosts => 내부 네트워크의 호스트명에 대한 정보를 가진 파일을 검색(/etc/hosts)

      bind  => DNS 서버를 이용하여 검색(/etc/resolv.conf) 




    ]# vi /etc/hosts    => 내부 네트워크의 호스트명에 대한 정보를 가진 파일  

     ip주소     호스트명





     ]# vi /etc/hosts.deny   =>  네트워크서비스(데몬)에 컴퓨터 차단

     서비스명  :  ip주소 또는 그룹

     ]# vi /etc/hosts.allow    => /etc/hosts.deny의 반대파일

       => 선언된 컴퓨터는 서비스에 대한 접근이 차단되면 나머지 컴퓨터는 접근을 허용한다.


     ex)  sshd : 172.16.5.0/24    =>  172.16.5로 시작되는 ip를 가진 컴퓨터에서는 sshd에 대한 접근 차단

          ALL : ALL    =>  모든 네트워크 데몬에 대한 전체 컴퓨터 접근 차단