본문 바로가기
728x90
반응형

Linux45

46. Linux 방화벽 제어 - firewall-cmd, rich-rule 등록 Linux firewall-cmd를 사용한 Linux 방화벽 정책 생성 및 제어의 마지막 포스팅이다. 지난 포스팅에서는 각 Zone에 간단한 객체를 추가/삭제함으로써 외부에서의 Linux 접속 허용/차단 여부를 확인해보았다. 지난 포스팅에서도 언급했듯이, firewall-cmd로 방화벽 정책을 간편하게 만들 수 있게 되었지만 조금 더 세부적으로 정책을 설정해야하는 경우 firewall-cmd의 옵션만으로는 디테일한 정책을 생성하기 어렵다. 따라서 firewall-cmd는 아키텍처 내부에 존재하는 iptables 명령어를 고스란히 사용하여 정책을 설정할 수 있도록 rich-rule이라는 옵션을 제공하는데, 이번 포스팅에서는 이 rich_rule의 사용 방법에 대해 정리해보려한다. 1. Rich-Rule 사.. 2024. 3. 27.
16. [Linux] Putty 로그인 시 입력 프롬프트가 늦게 나타나는 경우 해결 방법 바로 앞의 포스팅에서도 언급한대로, 필자가 최근 Linux를 VM에서 작업하면서 지금까지 맞닥드렸던, 그러나 정리를 하지 못한 문제들을 다시 만나면서 시간을 빼앗겼다. 이번에는 Linux 설치 직후, Putty 로그인 시 ID, Password 입력 프롬프트가 늦게 나타나는 경우에 대해 간략하게 정리해보려한다. 가상 머신으로 Linux를 설치하고 처음에는 가상머신 프로그램 내 터미널을 통해 이런 저런 테스트를 진행하다가 Putty나 Xshell 등으로 SSH 접속을 막 접하신 분들이 이 상황에 맞닥드릴 가능성이 상당히 높다. 기다리는 시간도 상당히 긴데, 접속이 튕기는 경우도 많아 이제 막 Linux를 접하신 분들이라면 속이 타는 경우도 많을 것이다. 의외로 이 문제는 별 것 아닌 단 하나의 설정 때문에.. 2022. 10. 7.
15. [VMWare] VMware Linux 가상 머신의 인터넷 연결 네트워크 설정 필자는 집에서 놀고 있는 노트북으로 Linux 서버를 돌리고 있었다. 하지만 큰 작업도 없는데 계속 전기만 잡아먹고 있는 노트북으로 인해 4월 말 경에 Linux 서버를 종료한 상태다. 현재는 Linux 서버를 VMware에서만 돌리고 있는 상황이다. 문제는, 필자가 여기저기 옮겨다니면서 노트북 작업을 진행하다보니, VM 네트워크 설정으로 골머리를 앓고 있다. 집에서만 VM을 동작한다면, 공유기를 사용하여 Host Bridge 타입으로 연결하고 설정을 유지한 채 사용하면 되지만, 외부에서는 Host Bridge를 연결할 수 있는 여건이 안 될 수도 있기 때문에 NAT 설정으로 연결을 진행해야 한다. 문제는, 외부에서 NAT로 네트워크 설정을 하면 - 필자의 실력 부족인지 - 리눅스에서 인터넷으로 붙을 수.. 2022. 10. 7.
[Docker & Kubernetes] 8. Docker 네트워크 1 - 기본 구조 이번 포스팅에서는 Docker 컨테이너가 어떻게 외부와 통신이 가능한지에 대해 알아보려한다. 지난 포스팅에서 기본적인 명령어 사용의 몇몇 예시 중, nginx와 같이 웹 서비스를 제공하는 컨테이너를 구동해 웹 브라우저에서 서비스가 잘 이루어지는 것을 확인해보기도 했다. nginx는 웹 서비스인만큼 기본 통신 포트가 80번으로 지정되어 있고, 필자는 이를 --publish라는 옵션을 통해 HostOS의 포트와 컨테이너 포트(80)을 맵핑하여 컨테이너를 구동했다. 그런데, 여기서 의문점이 하나 생긴다. nginx 컨테이너를 두 개 올렸다고 가정해보자. 두 컨테이너 모두 기본 포트인 80번을 서비스 포트로 사용한다. 1번 nginx는 HostOS의 8001번으로, 2번 nginx는 HostOS의 8002번으로.. 2022. 6. 1.
[Docker & Kubernetes] 7. Docker 매우 기본적인 명령어 사용법3 지난 두 개의 포스팅으로, Docker에서 가장 기본적으로 사용하는 명령어에 대해 알아보았다. 오늘은 기본 명령어에 대한 마지막 포스팅으로 docker 이미지 pull + 컨테이너 생성/구동을 한 번에 진행해주는 docker run 명령어와, 이미지를 Registry로 올리는 docker push 명령어에 대해 정리를 해보려 한다. 사실 지금까지 3개의 포스팅에서 작성한 내용은, docker를 사용하면 절대 사용하지 않을 일이 없는 명령어들이다. 지금까지의 명령어 외에도 추가로 알아봐야 할 명령어가 많지만, 그 내용을 모조리 포스팅으로 작성했다가 필자가 돌아버릴 수도 있기 때문에 중간중간 필요할 때마다 언급하면서 넘어가려 한다. 뻘소리를 조금 했다. 바로 시작해보자. 1. 이미지 Pull + 컨테이너 생.. 2022. 5. 25.
[Docker & Kubernetes] 6. Docker 매우 기본적인 명령어 사용법2 지난 포스팅에 이어, 계속 Docker의 기본 명령어 사용법에 대해 작성하려 한다. 지난 번에는 Docker 이미지를 공식 저장소에서 다운로드받고, 컨테이너 생성과 실행을 진행하며, 컨테이너와 이미지에 대한 모니터링 값이 어떻게 변하는지 확인해봤다. 이번 포스팅에서는 실행한 컨테이너의 중단, 재시작, 삭제, 이미지 삭제까지 진행해보려 한다. 1. 실행중인 컨테이너 중단 - docker stop {실행중인컨테이너이름 or ID} 지난 번 ubuntu 이미지를 컨테이너로 생성하고 실행할 때 컨테이너 이름을 ubuntu_test2로 지정한 것이 있다. 이제 필자는 구동중인 ubuntu_test2 컨테이너를 중단시킬 것이다. ubuntu_test2 컨테이너를 삭제하면, docker ps에서 나타난 2개의 컨테이.. 2022. 5. 24.
[Docker & Kubernetes] 5. Docker 매우 기본적인 명령어 사용법1 지난 포스팅에서 도커는 이미지를 기반으로 특정 환경을 동적으로 구현하는 컨테이너를 만들며, 이 이미지는 Dockerfile의 build로 형성할 수 있음을 알아보았다. 추가로 이미지를 Dockerfile로부터 build하는 과정에 들어가는 시간과 노력을 최소화하기 위해 Docker의 공식 Registry에서는 사용자들이 주로 사용하는 Docker 이미지를 제공하고 있다는 것까지 알아보았다. 이제 막 Docker 설치가 끝난 리눅스라면 컨테이너를 형성할 이미지가 없어 아무것도 구동을 할 수 없는 상태다. 따라서 이번 포스팅에서는 이 이미지들을 Registry에서 다운로드 받고, 컨테이너를 실행하고, 컨테이너 상태를 모니터링하고 다시 컨테이너와 이미지를 삭제하는, 기본적인 과정에 대해서만 다루어보려 한다. .. 2022. 5. 22.
[Docker & Kubernetes] 4. Docker의 동작 구조 이번 포스팅에서는 Docker라는 녀석이 어떤 구조를 가지고 있는지 알아보려한다. 도대체 dockerfile이라는 것은 무엇이기에 Docker Image(이미지)를 생성할 수 있는 것인지, 그리고 Docker Image는 무엇이기에 Docker Container를 생성하여 구동할 수 있는 것인지, 그리고 Docker Registry는 무엇인지, 그리고 앞서 설명한 이 요인들의 관계가 어떻게 되는지 하나씩 보려 한다. 새로운 시스템을 접하면, 그 시스템이 전체적으로 어떻게 구성되어 있는지 알고 있어야 세부적인 부분이 보인다. 따라서 필자는 Docker가 돌아가는 방식에 대해 큰 그림부터 먼저 제시하려 한다. 1. Docker의 구조 아래의 그림을 참고하자. 리눅스(필자는 CentOS에 docker를 설치했.. 2022. 5. 18.
[Docker & Kubernetes] 3. Linux에 Docker 패키지 설치하기 컨테이너를 사용하여 프로세스 격리 및 가상화를 테스트하기 위해, 필자의 테스트 리눅스에 Docker를 설치해보려 한다. 필자가 사용하는 리눅스는 CentOS 7.9 버전이며, VMWare에 최소 설치 프로그램만 사용하여 설치한 리눅스다. Django 등등 별의별 테스트를 진행하면서 이것저것 프로그램이 추가된 상태이긴 하지만 Docker 설치와 크게 연관은 없어 바로 진행하려 한다. 아래의 Docker 설치 절차를 따라하기 전, VM이나 물리 PC에 리눅스 설치를 진행해야한다. 필자가 이 내용은 따로 포스팅하지 않았지만, VM이나 PC에 리눅스를 설치하는 포스팅은 워낙 널리고 널려 있으니 검색한 포스팅으로 설치를 진행해주시면 된다. 1. Docker 설치 전 확인사항 Docker 역시 이 때까지 필자가 L.. 2022. 5. 8.
[Docker & Kubernetes] 2. 도대체 Kubernetes는 뭘 하는 녀석일까? 지난 포스팅에서 리눅스 컨테이너(LXC) 기술을 기반으로 동작하는 Docker 플랫폼의 탄생 배경과 기능에 대해 간략하게 알아보았다. 요점만 정리하자면, 하나의 서버에서 여러 어플리케이션(서비스)를 구동하기 위한 환경을 OS 수준의 가상화로 구현할 수 있는 기술인 LXC를 조금 더 쉽게 사용하도록 만들어 놓은 플랫폼이 Docker다. Docker와 함께 요즘 자주 볼 수 있는 단어로 Kubernetes(쿠버네티스)가 있다. Docker와 Kubernetes는 마치 바늘과 실처럼 한 쌍을 이루어 언급되는 경우가 거의 대부분이다. 그럼 여기서 의문이 생긴다. 도대체 Kubernetes는 무엇이며, Docker와의 관계는 어떻게 되는 것일까? 1. Kubernetes의 등장 배경 Docker를 사용하여 제공하.. 2022. 5. 8.
41. Linux chroot 사용법 거의 반 년만에 Linux 관련 내용에 대해 포스팅한다. 6 개월 전에만 하더라도 "다음은 이 내용에 대해 포스팅해야지" 라고 생각했는데... 다른 포스팅에서도 계속 한 이야기지만 바쁘다보니ㅠ 하여간 요즘 docker랑 kubernetes라는 녀석때문에 Linux 관련 내용을 학습하고 있는 상태인데, 마침 예전부터 다루어보고자 했던 chroot 내용을 접하게 되어 겸사겸사 포스팅을 진행하게 되었다. 1. chroot 명령어 chroot는 change root의 약자다. 직역하면 'root를 변경'하는 것인데, root 계정을 변경하는 것이 아니라 Linux 시스템의 root(/) 폴더, 즉 최상위 폴더의 위치를 바꾸는 명령어다. Linux에서 특정 파일을 찾는다고 가정해보자. 예를 들어 필자가 현재 필자.. 2022. 5. 6.
[Docker & Kubernetes] 1. 도대체 Docker는 뭘 하는 녀석일까? IT 관련 글을 상당히 오랜만에 쓰는 듯 하다. 기술과 연관없는 근황 관련 글(이라고 해봐야 2개 밖에 없다)을 제외하면 3월 10일이 마지막 기술 블로그 포스팅이었으니 무려 두 달 가까이 지난 시점이다. 다시 굳어져버린 손을 풀며 블로그 포스팅을 시작하려하는데, 이미 있는 주제들도 계획대로 못 끝낸 상태에서 조금 색다른 주제가 추가되었다. Docker와 Kubernetes. IT 업종에 종사하거나, 필자처럼 보안업계에 일했던 분들이라면 관련이 없더라도 한 번 이상은 지나가면서라도 들어본 단어들일 것이다. 최근에 클라우드 환경으로 기업 서비스가 많이 이전되면서 이 Docker와 Kubernetes 또한 수요가 증가하고 있다. 필자 역시 새로 옮긴 회사가 클라우드도 관여가 되어 있어서 출근 전부터 이들에 .. 2022. 5. 3.
728x90
반응형