728x90

Base/OS, Network 11

Linux 시스템 데몬 사용 상태 확인

보통 회사에서는 인프라팀에서 주기적으로 서버 보안점검을 하는데 시스템 운영과 관련이 없는 서비스나 취약 서비스는 중지 하거나 제거하도록 권고한다. 이 경우 해당 서비스의 사용여부를 체크해서 필요없다면 데몬을 중지하거나 비활성화 해야 한다. 여기에서는 rpcbind 를 예로 들어 설명한다. rpcbind 는 일반적으로 nfs 를 설치하면 함께 설치되는 의존성 패키지이기 때문에 nfs가 사용중인지 확인한다. sudo systemctl status nfs 만약 nfs 가 구동중이 아니라면 결과가 아래와 같을 것이다. ● nfs.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) 그런데 혹시 rpcbind 를 ..

Base/OS, Network 2021.08.12

Proxy Server

프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시 서버는 일반적으로 보안이 중요한 망분리 환경이나 로드벨런싱이 필요한 분산처리 환경에서 필수로 사용되는데 들어오고 나가는 트래픽에 대해 프록시 서버에서 공통으로 관리할 수 있기 때문이다. Forward Proxy, Reverse Proxy 이처럼 중간에서 대리로 통신을 수행하는 것을 가리켜 '프록시' 라고 하는데 프록시는 네트워크의 출발지가 어디냐에 따라 포워드 프록시, 리버스 프록시로 구분된다. 별거 없다. 출발지가 내부망이라면 포워드 프록시 외부망이라면 리버스 프록시가 된다.

Base/OS, Network 2021.08.06

CDN

Contents Delivery Network의 줄임말로 콘텐츠 전송 네크워크를 의미한다. 대용량 또는 사용자의 잦은 요청이 있는 컨텐츠들을 엑세스 하려는 곳에서 지리적으로 더 가까운 Cache 서버에 분산 배치하여 응답속도를 높히고 컨텐츠의 전송 중 발생하는 트래픽 집중 & 병목현상 및 데이터 손실을 해결하기 위해 등장한 컨텐츠 전송 기술이다. 참고: https://ijbgo.tistory.com/32

Base/OS, Network 2021.06.11

NAS

Network Access Storage 의 줄임말로 컴퓨터에 직접 연결하지 않고 LAN으로 연결해서 네트워크를 통해 데이터를 주고 받을 수 있는 저장소이다. 일반적인 서버 처럼 CPU와 메인보드가 있고 그곳에 하드디스크를 연결해서 사용하면 된다. 일반적인 데스크탑에서의 Window 같은 NAS 전용 운영체제도 존재한다. 즉, NAS는 하드웨어+소프트웨어의 조합이라고 볼 수 있고 그냥 하나의 서버 이해하는게 맞다. 클라우드 서비스와 유사하나 NAS는 개인이 용도에 따라 맞춤형으로 구축할 수 있다. NAS 서버는 네트워크상에서 고유한 IP 주소를 가진 단일 노드로 된다. 일반적으로 Lunix에서는 NFS 같은 프로토콜로 이더넷 연결을 통해 엑세스할 수 있고 인터넷 기반 파일 엑세스를 위한 http나 ftp..

Base/OS, Network 2021.06.11

Linux crontab

어떠한 작업을 일정주기로 반복적으로 수행하게 해준다. /usr/local/test.sh 라는 쉘파일이 있고 그걸 수행시킨다고 가정하고 정리한다. ​ 현재 등록되어 있는 crontab 을 확인하려면? crontab -l ​ crontab 을 등록/수정/삭제 하려면? 아래와 같이 입력하면 수행할 명령을 입력할 수 있는 vi편집기가 호출된다. crontab -e 그곳에 아래와 같이 스케줄을 포함한 명령을 행 단위로 등록하면 된다. 삭제는 그냥 삭제하거나 #로 주석처리하면 된다. 30 * * * * /usr/local/test.sh 만약 수행할 작업이 root 권한이 필요한 작업이라면? sudo crontab -e 편집기를 반드시 vim으로 띄우고 싶다면? sudo EDITOR=vim crontab -e 스케줄..

Base/OS, Network 2021.04.16

운영체제

사전 용어 정리 프로그램 : 명령어 집합으로 컴파일된 결과물뿐만 아니라, 프로그래머가 작성한 소스 코드까지도 포함한다. 소프트웨어 : 프로그램뿐만 아니라 CD, 설명서, 제품 포장 등 패키지 전체를 뜻하기도 한다. 프로세스 : 동작 중인 프로그램을 의미한다. 스레드 : 프로세스 안에 하나 이상 존재할 수 있다. 명령어가 CPU를 통해서 수행되는 객체의 단위이다. 컴퓨터는 크게 CPU, 메모리, 디스크로 구성된다. 이러한 물리적 요소들을 하드웨어라고 하는데 CPU는 연산을, 메모리는 순간 기억을, 디스크는 저장하는 기능을 각각 수행하게 된다. ​ 프로그램이 수행되기 위해서는 이런 하드웨어들이 적절하게 데이터틀 주고 받으며 논리적인 일들을 해야 하는데 하드웨어들은 그냥 각자 자신의 역할만 수행할 뿐이다. ​..

Base/OS, Network 2021.04.02

CPU 스케줄링

CPU는 한번에 제한된 갯수의 스레드만 처리할 수 있기 때문에 이에 대한 스케줄링 작업이 필요하다. 이것은 스레드가 어떤 우선순위를 가지고 CPU를 얼만큼 사용할 것인지 결정하고 수행하는 과정으로 시간당 처리되는 건수를 높여서 CPU의 효율을 높여주기 위함이다. ​ 이러한 스케줄링 알고리즘은 크게 선점형과 비선점형으로 나뉜다. 선점형은 먼저 수행 중인 스레드의 CPU 사용권이 다른 스레드에 의해 빼앗길 수 있는 알고리즘으로 스레드의 작업이 끝나지 않은 상황에서 중지하고 다른 스레드가 수행될 경우 다시 돌아와서 이어서 작업을 수행해야 하기 때문에 지금까지 수행한 모든 내용을 보관해 둔 후, 새로 시작하는 작업에 대한 내용을 새로 적재해 주어야 하는데 이를 문맥교환(Context Switching)이라 한다..

Base/OS, Network 2021.04.02

L4, L7 스위치 정리

일단 둘 다 스위치이다. L4는 ip+port 로 구분해서 적절한 서버로 요청을 보낼 수 있다. L7은 ip+port+패킷의 url,쿠키 등의 정보 등도 체크해서 적절한 서버로 요청을 보낼 수 있다. 이로 인해 L7은 L4가 가지고 있는 기능들을 모두 수용하면서 불필요한 트래픽을 차단할 수 있다. ​ 스위치는 일반적으로 이중화 혹은 로드벨런싱 용도로 사용된다. 스위치 처리과정을 간단하게 정의하면 아래와 같다. 1. 사용자가 브라우저 주소창에 도메인을 입력하면 pc에 설정된 로컬 DNS 서버로 DNS Query를 한다. 2. 로컬 DNS 서버는 해당 도메인을 관리하는 DNS 서버에 다시 DNS Query 요청을 해서 해당 도메인 스위치의 vip주소를 획득한다. 3. 로컬 DNS서버는 브라우저에게 해당 도메..

Base/OS, Network 2021.04.02

Linux crontab

어떠한 작업을 일정주기로 반복적으로 수행하게 해준다. /usr/local/test.sh 라는 쉘파일이 있고 그걸 수행시킨다고 가정하고 정리한다. ​ 현재 등록되어 있는 crontab 을 확인하려면? crontab -l crontab 을 등록하려면? 아래와 같이 입력하면 수행할 명령을 입력할 수 있는 편집기가 호출된다. crontab -e 만약 수행할 작업이 root 권한이 필요한 작업이라면? sudo crontab -e 편집기를 반드시 vim으로 띄우고 싶다면? sudo EDITOR=vim crontab -e 만약 매시 30분 마다 test.sh 라는 쉘을 실행시키고 싶다면 아래와 같이 입력하고 저장하면 된다. /usr/local 이 PATH에 등록되어 있다면 그냥 test.sh 로 호출해도 된다. 30..

Base/OS, Network 2021.04.02
728x90