전체 글 318

[Container] 호스트 디렉토리 마운트 시 Linux과 Mac 환경의 차이점

Docker는 다양한 운영체제에서 애플리케이션의 개발 및 배포를 용이하게 하는 강력한 도구다. 그러나 Linux과 Mac 환경에서 Docker가 호스트 디렉토리를 컨테이너에 마운트 할 때의 동작 방식에는 중요한 차이점이 존재한다. Linux에서는 호스트의 파일 시스템과 직접적으로 통합되어 높은 성능과 일관된 권한 관리가 가능하다. 반면, Mac에서는 가상 머신과 파일 시스템 매핑을 통해 이러한 권한 문제를 완화하지만, 파일 접근 속도에서 약간의 성능 저하가 있을 수 있다.Linux 환경에서의 DockerLinux는 Docker가 처음 개발된 플랫폼으로, Docker의 핵심 기능들이 가장 잘 지원된다. Linux에서 Docker는 호스트의 커널을 직접 사용하여 컨테이너를 실행한다. 이는 Docker가 매우..

DevOps/Container 2024.10.08

[K8S] 인그레스와 관련 리소스

정리인그레스 컨트롤러의 서비스를 붙여 노드포트로 오픈인그레스는 인그레스 컨트롤러의 설정 정보인그레스 컨트롤러가 라우팅 규칙을 따라 서비스들로 라우팅1. 인그레스인그레스(Ingress)는 Kubernetes에서 클러스터 외부와 내부 서비스를 연결하는 설정이다. 이는 사용자가 클러스터 내부의 서비스에 접근할 수 있도록 HTTP 요청의 라우팅 규칙을 정의한다. 인그레스는 단순한 설정일 뿐 실제로 요청을 처리하는 것은 인그레스 컨트롤러이다.1.1 인그레스의 주요 기능HTTP 경로 기반 라우팅: 특정 URL 경로에 대한 요청을 내부 서비스로 라우팅 할 수 있다.도메인 기반 라우팅: 여러 도메인에 대해 각각의 요청을 다른 서비스로 분산할 수 있다.TLS 종료: HTTPS 요청을 처리하고, TLS 인증서를 관리할 수..

DevOps/K8S 2024.10.08

[Linux] NAT를 설정하는 방법

설정 요약IP 포워딩 활성화: 시스템이 내부 네트워크(eth0)와 외부 네트워크(eth1) 간에 패킷을 전달할 수 있도록 설정한다.마스커레이딩(Masquerading) 활성화: public 존(eth1 인터페이스)에서 마스커레이딩을 설정하여 내부 네트워크의 IP 주소를 외부 인터페이스의 공인 IP로 변환한다.네트워크 존 구성: 내부 인터페이스(eth0)를 internal 존으로 할당하고, 필요한 서비스(SSH, HTTP)를 허용한다.네트워크 인터페이스 확인내부 네트워크와 외부 네트워크에 연결된 인터페이스를 식별해야 한다. 다음 명령어로 현재 시스템의 네트워크 인터페이스를 확인할 수 있다:ip addr# 예시 출력:2: eth0: mtu 1500 ... inet 192.168.1.1/24 brd 1..

CS/Linux 2024.10.05

[Linux] Firewalld vs Iptables

CentOS 7부터 방화벽 관리 도구가 iptables에서 firewalld로 변경되었다.CentOS 6: 방화벽 기능과 설정 도구 모두 iptables를 사용한다.CentOS 7: 방화벽 기능은 iptables로 제공되지만, 설정 도구로는 firewalld를 사용한다. 명령어는 firewall-cmd이다.CentOS 8 이후: 방화벽 기능은 nftables로 제공되며, 설정 도구는 여전히 firewalld를 사용한다.Firewalld를 사용하는 이유동적 설정: firewalld는 실시간으로 방화벽 설정을 변경할 수 있어 서비스 중단 없이 보안 설정을 조정할 수 있다.유연한 관리: 존(Zone) 개념을 통해 네트워크 인터페이스별로 다른 보안 정책을 적용할 수 있어 관리가 용이하다.추상화된 인터페이스: f..

CS/Linux 2024.10.05

[Linux] IP 주소를 얻는 내부 흐름

리눅스에서 IP 주소를 얻는 내부 흐름리눅스 시스템에서 호스트 이름을 IP 주소로 변환하는 과정은 여러 구성 파일과 설정에 의해 관리된다.호스트 이름 해석 요청: 애플리케이션이 호스트 이름(www.example.com)을 통해 네트워크 연결을 시도한다./etc/nsswitch.conf: 호스트 이름 해석 시 사용할 방법의 순서를 결정한다. 예를 들어, order hosts, bind라면 먼저 /etc/hosts 파일을 참조하고, 그 다음에 DNS를 조회한다./etc/hosts 파일 조회: 지정된 순서에 따라 /etc/hosts 파일을 먼저 조회하여 호스트 이름과 매핑된 IP 주소를 찾는다. 만약 매핑 정보가 존재하면 해당 IP 주소를 반환하고, 과정이 종료된다.DNS 서버 조회: /etc/hosts 파일..

CS/Linux 2024.10.04

[Linux] Xrdp 서버

Xrdp는 리눅스 서버에 원격 데스크탑 프로토콜(RDP)을 통해 접속할 수 있도록 해주는 오픈 소스 도구로, 윈도우의 원격 데스크탑과 유사한 환경을 제공한다.Xrdp 서버 설치Rocky Linux에 Xrdp 서버를 설치하기 위해 다음 단계를 따라 진행한다.1. 시스템 업데이트먼저, 시스템 패키지를 최신 상태로 업데이트한다.sudo dnf update -y2. EPEL 저장소 활성화Xrdp는 EPEL(Extra Packages for Enterprise Linux) 저장소에 포함되어 있으므로, EPEL 저장소를 활성화해야 한다.sudo dnf install epel-release -y3. Xrdp 설치EPEL 저장소가 활성화된 후, Xrdp 패키지를 설치한다.sudo dnf install xrdp -y4...

CS/Linux 2024.10.03

[Linux] GUI 방화벽 설정

Rocky Linux는 주로 서버 환경에서 사용되며, 기본적으로 명령줄 인터페이스(CLI)를 통해 방화벽을 관리한다. 그러나 그래픽 사용자 인터페이스(GUI)를 선호하는 사용자들을 위해 몇 가지 GUI 도구를 사용할 수 있다.데스크탑 환경 설치 (선택 사항)서버에 데스크탑 환경이 설치되어 있지 않은 경우, GNOME을 설치할 수 있다. 다만, 서버에 GUI를 설치하면 시스템 자원이 추가로 소모되므로, 필요한 경우에만 설치하는 것이 좋다.sudo dnf groupinstall "Server with GUI"sudo systemctl set-default graphical.targetsudo systemctl isolate graphical.targetfirewall-configfirewall-config는..

CS/Linux 2024.10.03

[Linux] OpenSSH

OpenSSHOpenSSH (Open Secure Shell)는 네트워크를 통해 안전하게 데이터를 전송하고 원격 시스템에 접속할 수 있도록 해주는 오픈 소스 툴이다. OpenSSH는 SSH 프로토콜을 구현하며, 다음과 같은 주요 기능을 제공한다:암호화된 통신: 모든 데이터 전송이 암호화되어 중간에서의 도청이나 패킷 스니핑 공격에 대비할 수 있다.인증 기능: 비밀번호 인증 외에도 공개 키 인증을 지원하여 보안을 강화할 수 있다.파일 전송: scp와 sftp를 통해 안전하게 파일을 전송할 수 있다.터널링 및 포트 포워딩: 네트워크 트래픽을 안전하게 전달하기 위한 터널링 기능을 제공한다.OpenSSH의 주요 특징보안성: 데이터가 암호화되어 전송되므로 보안에 매우 강력하다.유연성: 다양한 인증 방식과 설정 옵션..

CS/Linux 2024.10.03

[Linux] 텔넷 서버

텔넷 서버란?텔넷 서버는 네트워크를 통해 원격지의 컴퓨터에서 서버에 접속하여 작업을 수행할 수 있도록 해주는 서비스다. 텔넷은 데이터가 암호화되지 않아 중간에서 패킷을 가로채는 공격에 취약할 수 있다. 가능하다면 SSH(Secure Shell)를 사용하는 것을 권장한다.오랜 역사와 전통: 텔넷은 수십 년 동안 원격 접속 방법으로 널리 사용되어 왔다.보안 취약점: 텔넷은 데이터 전송 시 암호화가 되지 않아 보안에 취약하다. 따라서 민감한 정보 전송에는 적합하지 않다.클라이언트 프로그램 필요: 리눅스 서버에 텔넷 서버를 설치한 후, 원격지에서 접속하려면 텔넷 클라이언트 프로그램이 필요하다.직접 작업과 유사한 환경: 원격지의 PC에서 접속하면 서버 앞에 앉아 직접 텍스트 모드로 작업하는 것과 동일한 효과를 얻..

CS/Linux 2024.10.03

[Linux] 쿼터(Quota)

쿼터(Quota)란?쿼터는 파일 시스템에서 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 기능이다. 이를 통해 시스템 자원을 효율적으로 관리하고, 특정 사용자가 과도한 자원을 사용하는 것을 방지할 수 있다.쿼터의 주요 기능용량 제한: 사용자 또는 그룹별로 사용할 수 있는 디스크 용량을 제한한다.파일 개수 제한: 사용자 또는 그룹이 생성할 수 있는 파일의 개수를 제한한다.공정한 자원 분배: 여러 사용자가 동시에 시스템을 사용할 때, 각 사용자에게 공평하게 자원을 분배할 수 있다.왜 쿼터를 설정해야 할까?파일 시스템을 루트(/) 파일 시스템으로 지정하여 모든 사용자가 이를 공유하게 되면, 다음과 같은 문제가 발생할 수 있다:성능 저하: 많은 사용자가 동시에 루트 파일 시스템을 사용하면, 서..

CS/Linux 2024.10.03
728x90