반응형 Linux87 리눅스 - 1-1024 PORT(Well-Know-Ports) 사용방법 3가지(SetUid, IPTables, Capabilities) 리눅스에 웹 서비스나 FTP등의 서비스를 사용한다면, 추가로 서비스를 설치하고 해당 서비스를 웹 서비스는 80, FTP 21등의 포트를 사용하는 것이 좋다. 다만 새로 설치한 서비스는 기본적으로 80 포트로 통신을 허용하지 않기 때문에 거부 메세지와 함께 포트가 열리지 않게 된다. 이러한 Well-Know-Ports라는 것을 리눅스에서는 다음 3가지 방법으로 사용할 수 있다. 실행파일에 SetUid 적용: 가장 쉽지만 보안상의 이슈가 있을 수 있다. IPTables를 이용한 포트 바인딩: 네트워크 포트를 포워드하는 방법이다. capabilities 설정으로 포트 허용 설정: 가장 좋은 방법이라는 생각이 든다. 다만 커널 2.6.24 이상에서만 사용이 가능하다. 1. SetUid 적용 chown root... 2024. 2. 21. CentOS - Network Bonding 이해 및 설정 방법 이 문서에서는 CentOS7에서 네트워크 인터페이스의 이중화라고 할 수 있는 Bonding을 구성하는 방법에 대해서 설명드리도록 하겠습니다. Network Bonding이란 Linux kernel 내장된 기술로 2개 이상의 Network Interface Card를 논리적으로 하나의 interface 로 묶어서 NIC의 물리적 장애에 대응하거나나 처리량을 늘리는 기술입니다. 두개의 물리적 인터페이스를 하나로 묶는다 Bonded 된 네트워크 인터페이스는 몇가지 방식을 동작 방식을 설정하여 사용할 수 있고 이는 아래 얘기하겠습니다. Bonding 모듈 로드 CentOS 7 에서는 bonding 모듈이 기본적으로 로드가 되어 있지 않습니다. 아래 명령을 통해 boning 모듈을 로드합니다. modprobe -.. 2024. 2. 21. 리눅스 - Crontab 로그 남기는 방법 3가지(리다이렉션, syslog, cronolog) Crontab은 유닉스 기반 시스템에서 주기적으로 명령을 실행할 수 있도록 해주는 유용한 도구입니다. 하지만 기본적으로 Crontab은 실행 결과에 대한 로그를 남기지 않기 때문에, 문제 발생 시 원인 파악이 어려울 수 있다. 따라서 Crontab 로그를 남기는 방법은 매우 중요하며, 크게 세 가지 방법으로 나눌 수 있다 1. 리다이렉션 가장 간단하고 일반적인 방법으로 간단히 많이 사용되는 방법이다. 리눅스는 > 와 >> 를 이용해서 화면 출력 내용(STDOUT)을 전달하는 것이 가능하며 이를 파일로 전달하는 방식으로 구성할 수 있다. 명령어 뒤에 > 또는 2>&1 , >> 연산자를 사용하여 로그 파일을 지정할 수 있다. 오류 내용도 병합하고자 한다면, 2>&1를 추가로 기입해 주도록 하자. 각 의미를 .. 2024. 2. 21. CentOS7 - 고정 IP 설정하기 CentOS를 설치시 기본적으로 네트워크 장비를 자동활성화하지 않는다. 따라서 설치후 네트워크를 이용하고자 한다면, 네트워크 장치를 활성화 해야 한다. 먼저 네트워크 상태를 확인하기 위해, nmcli 명령을 이용하자. 만약 정상적으로 연결이 된 상태라면 아래와 같이 connected 메세지를 확인 할 수 있다. 연결이 되지 않은 경우 붉은색의 disconnected 메세지를 볼 수 있으며 이 경우 아래 경로에서 네트워크 환경설정을 진행하여야 한다. Network Interface Enable 파일 경로는 /etc/sysconfig/network-scripts/ifcfg-enp*** 으로 확인 할 수 있다. 마지막 3자리는 고유하게 변경되므로 Tab키를 이용하여 확인해 보고 해당 파일을 VI에디터로 열면 .. 2024. 2. 20. Letsencrypt - renew(갱신) 오류 해결 만약에 최초 설치 시점이라면 아래 내용을 보는게 좋습니다. https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04 여기에서는 문제를 해결하는 부분을 다루어 보겠습니다. Letsencrypt는 SSL을 무료로 사용할 수 있지만, 3개월 단위로 갱신을 해줘야 하기 때문에 자동 설정 및 인증서 파일등의 위치가 중요합니다. 만약 갱신과 관련하여 오류가 난다면 먼저 살펴봐야 하는 것은 Letsencrypt는 오류 메세지와 함께 설정 위치라고 할 수 있습니다. Letsencrypt를 설치하였다면 (파일을 설치한 방법에 따라서 위치가 달라집니다. 따라서 위 링크의 apt-get을 이용한.. 2024. 2. 20. Docker - Docker Network, 컨테이너 간 통신하기 요즘 마이크로 서비스를 만들면서, 하나의 서버에서 멀티 Docker 컨테이너로 구성하는 경우가 많다. 필자 역시 DB, API, WEB등 기능으로 구분해서 컨테이너간에 통신하도록 구성하게 된다. 이때 가장 문제가 되는 부분이, 바로 컨테이너간 통신에, locahost를 사용할 수 없다는 것이다. 이유는 컨테이너는 개별 호스트처럼 이식되어 개별 컨테이너마다 localhost를 본인으로 지정하게 된다. 이를 쉽게 회피하는 방법은 1. 서버의 IP로 통신을 하면 되지만, 실제로 이렇게 통신을 구성하게 되면, Docker 컨테이너는 실제 Docker 내부의 네트워크를 가지고 있어서 호스트하는 서버로 패킷이 이동한후 다시 컨테이너내 네트워크로 이동하는 패킷 비용 손실과 서버 IP가 고정이 아닌경우 컨테이너를 실행.. 2024. 2. 19. Rufus - Linux/Ubutu 설치시 부팅 불가 오류 해결 UEFI/ISOHybrid 최근에 서피스 고에 리눅스를 설치해야 하는데, 부팅 USB로 인식하지 못하는 부분이 있어서 이를 해결하기 위해 다양하게 구성해본 결과 가장 큰 부분은 바로 GPT 로 설정해서 UEFI가 지원하는 USB로 만들어야 한다는 것이였다. GPT는 2010년 전에 대다수 컴퓨터 장비에서 지원하기 시작했기 때문에 2024년인 지금 사용하는 컴퓨터들은 대부분 지원한다고 보면 된다. ISOHybrid는 ISO모드로 사용해도 이상 없다는 것을 아래 이미지를 통해서 남긴다. ISO 이미지 모드이기 때문에 부팅이 않되는게 아니고, 부팅 로더에 문제이므로, ISO 모드로 이미지를 생성하도록 하자. 2024. 2. 18. 크롬 OS - 설치 방법 및 주의사항 with Surface 설치하면서 경험한 내용중 기억에 남는 몇가지 중요 포인트를 적어둔다. 과정은 크게 설치 OS 만들기 ➝ USB로 부팅하기(윈도우 10이상) ➝ Chrome OS 설치이다. 이부분에서는 중요했던 부분들을 갈무리해서 남겨본다. 1. 설치 OS 만들기 설치 OS를 만드는 과정을 조금은 복잡해 보일 수 있지만, 기본은 Recovery Image를 이용할 수 있다는 것이다. 다양한 이미지가 있지만 필자 및 해외 여러 사람이 추천하는 이미지는 Google OS Flex이다. 필자가 고생했던 서피스 고에서도 잘 동작한다고 하니, 대부분의 PC에서도 동작이 가능한 이미지로 판단된다. 만약 별도의 Live 부팅을 통해 설치를 진행하는 과정을 할 경우에는 필자는 Ubuntu 23 이상을 추천한다. 이유는 Wifi 드라이버.. 2024. 2. 18. Docker - CLI, Dockerfile 생성부터 서버에서 실행하기 1. Docker 빌드 하기 이제 만들어진 Dockerfile을 통해 Docker Image를 빌드할 차례이다. 아래와 같이 build 명령을 이용해서 손쉽게 빌드를 진행할 수 있다. image tag를 이용해 빌드된 이미지를 구분할 수 있으므로, 적당한 이름을 지어주도록 하자. #docker build -t (image tag) . 2. Docker 업로드 하기 만들어진 이미지는 docker image ls 명령으로 확인이 가능하다. Docker Hub에 로그인한 이후 docker push 명령을 통해서 내가 방금 만든 이미지를 업로드 할 수 있다. Docker Hub는 계정내 디텍토리 유형으로 이미지를 관리할 수 있기 때문에 업로드할 경로를 지정하도록 하자. #docker login #docker i.. 2024. 2. 18. 이전 1 2 3 4 5 6 7 ··· 10 다음 반응형