Networking

진주찬·2023년 6월 13일
0

Linux

목록 보기
11/11

리눅스에 대한 원격 접근

  • 원격 접근 (텍스트 기반, 윈도우 기반)
  • IP 네트워크 기반의 애플리케이션 및 프로토콜 사용(텔넷, ssh, xrdp)
  • 연결 권한
    -게스트 : 로그인 불필요
    -전체 : 사용자 이름과 암호 필요

클라이언트 / 서버

-클라이언트 : 네트워크를 통해 다른 컴퓨터 시스템의 원격 서비스에 액세스하는 프로그램 또는 서비스
-서버 : 네트워크를 통해 클라이언트에게 다양한 서비스를 제공하는 서버 컴퓨터 또는 서버 프로그램

호스트 네임 / 도메인 네임

-호스트 이름 : 시스템 이름, "gethostname"함수나 "hostname"명령어에 의해 리턴
-도메인 이름 : 시스템의 NIS 도메인 이름, 호스트를 도메인으로 그룹화
-NIS : Network Information System

호스트네임 설정법

$ hostname <new_host_name>
: 호스트네임을 "new_host_name"으로 설정

  • 일시적이다. 재부팅 후 이전 호스트네임으로 다시 설정된다.
    -> "/etc/host" 또는 "/etc/hostname" 파일 편집으로 호스트 네임을 영구적으로 변경할 수 있다.

도메인네임 설정법

$ domainname <new_domain_name>
: 도메인네임을 "new_domain_name"으로 설정

  • 일시적이다. 재부팅 후 도메인 이름이 다시 설정된다.
    -> "/etc/sysctl.conf"파일 편집으로 도메인 네임을 영구적으로 변경할 수 있다.

서브넷팅

호스트 ID 부분이 매우 커서 클래스 A와 B는 서브 네트워크를 가질 수 있다.
서브넷은 큰 조직 내에서 그룹을 구분하는데 도움된다.
ex) 128.10.10.10과 128.10.200.20

서브넷 마스크

: IP주소의 어느 부분이 네트워크 부분인지 식별하는 역할을 넷마스크라고 함

게이트웨이 : 데이터를 인터넷에 전달하는 IP주소

  • 네트워크 인터페이스느 IP주소를 얻는다.
    지정 IP어드레스, 유동 IP어드레스
    DHCP : Dynamic Host Configuration Protocol

네트워크 인터페이스

: 다른 기계와의 통신을 위한 네트워크 장치

  • 표현
    enp : enp0s3,...
    eth
    : eth0, eth1,...
    lo : loopback

  • 확인방법
    $lshw -c network
    $ip a
    $ifconfig

  • NIC(Network Interface Cards)
    -네트워크에 연결하려면 컴퓨터에 인터페이스 카드가 있어야함
    -NIC에는 고유한 주소(MAC주소)를 갖고 있다.
    -MAC주소는 DHCP에 사용된다.

  • 사용가능한 네트워크 인터페이스
    lshw 명령

  • ifconfig 명령
    -커널에 있는 네트워크 인터페이스를 구성
    -NIC 활성화 또는 비활성화
    -리눅스 시스템의 IP주소, 넷마스크, 브로드캐스트 주소를 변경한다.
    -NIC에서 둘 이상의 IP 주소를 허용하는 IP 별칭 생성
    -지점 간 연결을 위한 대상 주소 설정

  • 루프백 주소 및 인터페이스 : 127.0.0.1

라우트 구성

  • "route" 명령어 : 패킷 라우팅을 위해 구현된 라우팅 테이블(메모리 내)을 구축/표시합니다
  • route [commands][options] target [parameters]
    add/del 명령어 : target을 추가/삭제한다.
    "-n" 옵션 : 수치 표현
    "default" 옵션 : 기본 게이트웨이로 설정한다.
    "-net"또는 "-host" 옵션 : 타겟을 네트워크나 호스트 설정
    "gw GW" 파라미터 : gateway GW(IP주소)
    "dev if" 파라미터 : 인터페이스

"ip"로 네트워크 인터페이스 구성

  • ip addr : 이더넷 인터페이스 식별
  • ip link set dev [dev_name] up(down) : [dev_name]을 on/off한다.
  • ip addr add(or del) [net_address]/[netmask] dev dev_name : ip주소를 주거나 뺀다
  • ip route : 라우팅 테이블을 확인한다.
    – ip route add(or del) default(or network) via [gateway] : default 게이트웨이를 준다.
  • ip route add(or del) [net_address]/[netmask] dev dev_name : 라우팅 규칙을 준다.
  • NIC 영구 설정 : "/etc/network/interfaces"파일을 수정한다.

  • "netplan"으로 NIC 영구 설정 : "/etc/netplan/*.yaml"을 변경하여 설정한다.

netstat의 옵션

  • "netstat –a" : 모든 포트 나열
  • "netstat –at" : 모든 TCP포트 나열
  • "netstat –au" : 모든 UDP 포트 나열
  • "netstat –l" : 모든 수신 소켓 나열
  • "netstat –lt" : 모든 TCP 수신 소켓 나열
  • "netstat –lu" : 모든 UDP 수신 소켓 나열
  • "netstat –lx" : 모든 UNIX 수신 소켓 나열
  • "netstat –r" : 커널 라우팅 정보 표시

"ss"로 네트워크 상태 확인

  • 옵션
    -t, --tcp : tcp 소켓만 표시
    -u, --udp : udp 소켓만 표시
    -l, --listiong : 수신 소켓만 표시
    -n, --numeric : 서비스 이름을 확인하지 않음
    -p, --processes : 소켓을 사용하는 프로세스 표시

포트, 서비스

  • IP주소 : 호스트를 식별

  • 포트 : 서비스를 식별

  • DNS 사용 : 호스트 네임을 IP주소로 변환

  • "nslookup" 명령어 : 대화형으로 인터넷 네임 서비스 쿼리

  • "/etc/resolve.conf" 파일에 로컬 네임서버 설정 : DHCP사용하는 경우, 자동으로 설정

호스트의 로컬 정보

  • "/etc/host" 파일에 로컬호스트의 정보가 포함되어 있다. 일반적으로 내부 서브 네트워크 관리에 사용
  • "/etc/host.conf"에 호스트네임의 IP주소를 찾는다.

세션

  • 클라이언트와 서버간의 연결 식별
  • 서버는 클라이언트의 연결에 세션ID를 할당한다.
  • 세션ID가 유효할 때까지 서버는 이전에 서버에 접속한 클라이언트를 식별하고 다시 서버에 접속한다.

Telnet

  • 텍스트 기반 원격 접속 프로토콜 : 23포트 사용
  • 사용법 : o [IP주소] : 주어진 IP주소로 기계를 연결

SSH

  • 안전한 데이터 통신을 위한 Secure Shell : 22포트 사용
  • 공용 키 암호화를 사용하여 원격 컴퓨터 인증

원격 데스크탑

: 클라이언트가 데스크톱 환경에서 서버 시스템에 액세스하는 경우

  • RDP (Remote Desktop Protocol) : 원격 데스크탑 프로토콜
    TCP포트 : 3389
  • FTP 서버 : File Transfer Protocol
  • Samba 서버
  • Apache2 http 서버 : WWW의 초기 성장에 핵심적인 역할을 한 것으로 유명한 웹 서버 소프트웨어 프로그램, 일반적으로 Unix 계열에서 실행
    구성 폴더 : "/etc/apache2"

0개의 댓글