728x90

원문출처 : https://www.2cpu.co.kr/network/15105

 

Fortigate에서 수동으로 NTP 서버 지정하기 :: 2cpu, 지름이 시작되는 곳!

sfl 제목 내용 제목+내용 회원아이디 회원아이디(코) 이름 이름(코) stx sop and or 검색

www.2cpu.co.kr

 

주의: CLI 명령어는 펌웨어 버전에 따라 자주 달라지므로, 입력 전에 해당 명령어가 올바른지 확인하는 것이 좋습니다.

 

Fortigate는 GUI에서 FortiGuard 외의 NTP 서버를 지정하는 인터페이스를 제공하지 않습니다.
만약 내부 NTP 서버와 방화벽을 연동해야 한다면, CLI를 통해 설정을 적용해야 합니다.

 

Step 1. NTP 구성 진입

config system ntp

 

Step 2. NTP 설정 변경

set type custom

 

Step 3. ntpserver 구성 진입

config ntpserver

 

Step 4. 서버 입력

edit 1

set server <IP_Addr>

end

end

 

설정 완료 후 구성 정보의 예시

 

NTP Status

 

 

 

번외

set ntpv3: NTPv4가 아닌 NTPv3를 이용해 서버와 통신합니다.

set interface-select-method: specify로 변경한 뒤 NTP 연결을 위해 사용할 인터페이스를 지정할 수 있습니다

set source-ip: NTP 패킷의 Source Address로 사용할 IP 주소를 지정할 수 있습니다.

728x90

원문출처 : https://realforce111.tistory.com/70

 

FortiGate 방화벽 Firmware 설치

FortiGate 방화벽 초기 상태에서 Firmware 설치 방법을 알아보겠습니다. 운영 중인 방화벽은 Firmware Upgrade Path에 따라 firmware 버전을 업그레이드하면 되며, 아래에서 설명하는 방법은 설치된 Firmware를 F

realforce111.tistory.com

 

FortiGate 방화벽 초기 상태에서 Firmware 설치 방법을 알아보겠습니다.

 

운영 중인 방화벽은 Firmware Upgrade Path에 따라 firmware 버전을 업그레이드하면 되며, 아래에서 설명하는 방법은 설치된 Firmware를 Format 하여 삭제하고 새로운 Firmware 파일을 설치하는 방법입니다.

 

설정 내용이 초기화될 수 있으므로 Config Backup 후 Restore 하시거나, 신규로 설치하는 경우에 아래 방법을 사용하시기 바랍니다.

 

FortiGate-100E 인터페이스

방화벽의 Console Port와 MGMT 포트를 확인하고 PC와 연결합니다.

 

PC에서 방화벽 MGMT 포트와 연결한 네트워크 인터페이스에 IP를 임의로 설정합니다. ex) 192.168.1.100/24

 

TFTP를 실행하고 Directory는 방화벽 Firmware 파일이 저장된 경로를 선택합니다.

 

콘솔창(console port speed is 9600 bits per second)을 연결한 뒤 방화벽 전원을 on 합니다.

 

이후에는 아래 절차에 따라 Firmware 포맷 및 설치 진행하시면 됩니다.

 

1) 부팅 과정에서 "Press any key to display configuration menu..." 부분에서 아무 키나 입력

 

2) 부팅 선택 메뉴에서 F 키 입력

 

3) It will erase data in boot device. Continue? [yes/no]: -> yes 입력

 

4) 포맷 완료 후 다시 부팅 선택 메뉴에서 G 키 입력

 

5) Enter TFTP server address [192.168.1.168]: -> TFTP를 실행하는 PC의 IP 입력, ex) 192.168.1.100

 

6) Enter Local Address [192.168.1.188]: -> 방화벽 IP를 임의로 입력, ex) 192.168.1.99

 

7) Enter File Name [image.out]: -> 방화벽 Firmware 파일 이름 입력(확장자 포함)

 

8) Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]? -> D 입력

 

방화벽 Firmware 설치 완료 후 버전 확인(get system status)

728x90

728x90

참고사이트 : https://svrforum.com/recent/919069?page=2 

 

서버포럼 - Docker 컨테이너의 로그를 실시간으로 확인하기 Dozzle (강추⭐)

안녕하세요. 달소입니다. 이번에 소개해드릴 오픈소스 프로젝트는 Docker의 log를 실시간으로 확인할 수 있게 도와주는 Dozzle 입니다. 기본적으로 Portianer를 많이들 쓰시지만 Dozzle의 경우 로그 특화

svrforum.com

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 8080:8080
    restart: always
728x90

참고 사이트 : https://github.com/CorentinTh/it-tools

 

GitHub - CorentinTh/it-tools: Collection of handy online tools for developers, with great UX.

Collection of handy online tools for developers, with great UX. - GitHub - CorentinTh/it-tools: Collection of handy online tools for developers, with great UX.

github.com

version: '3.9'
services:
    corentinth:
        image: 'ghcr.io/corentinth/it-tools:latest'
        ports:
            - '8080:80'
        restart: always
        container_name: it-tools

728x90

https://codebeautify.org/yaml-validator

 

YAML Validator Online to validate YAML data

Best and Free YAML Validator is a web based validator and re-formatter for YAML. Also know as YAML Lint.

codebeautify.org

 

docker-compose.yml 파일 생성시 문법 검사 사이트 소개합니다.

728x90

https://hanbit.co.kr/store/books/look.php?p_code=B2604168887

 

파이썬 라이브러리를 활용한 데이터 분석(3판)

데이터 분석을 배우는 가장 완벽한 방법 파이썬 라이브러리 사용법부터 실제 데이터를 활용한 실습까지

hanbit.co.kr

 

파이썬 라이브러리를 활용한 데이터 분석(3편)은 파이썬을 사용하여 데이터를 분석하는 방법을 소개하는 책입니다.

 

파이썬 라이브러리를 활용한 데이터 분석(3편)

 

이 책은 파이썬의 기초 문법부터 시작하여 판다스, 넘파이, IPython, 맷플롯립, 주피터 등 다양한 파이썬 라이브러리를 사용하여 데이터를 분석하는 방법을 설명합니다. 또한, 신생아 이름 통계 자료, 대선 데이터베이스 등 실제 데이터를 사용하여 실습을 진행합니다. 또한, 데이터 분석을 처음 시작하는 사람부터 데이터 분석을 심화적으로 공부하고 싶은 사람까지 모두에게 유용한 책이기도 합니다. 파이썬과 판다스에 대한 기본적인 지식을 갖추고 있다면 이 책을 통해 데이터 분석에 필요한 기술을 빠르게 익힐 수 있습니다.

 

이 책의 특징을 나열해보자면,

  • 파이썬과 판다스의 최신 버전을 기준으로 내용을 업데이트했습니다.
  • 다양한 파이썬 라이브러리를 사용하여 데이터를 분석하는 방법을 설명합니다.
  • 실제 데이터를 사용하여 실습을 진행합니다.
  • 웨스 맥키니, 파이썬 판다스 프로젝트 창시자가 저술했습니다.
  • 데이터 분석을 처음 시작하는 사람부터 데이터 분석을 심화적으로 공부하고 싶은 사람까지 모두에게 유용한 책입니다.

마지막으로, 파이썬 라이브러리를 활용한 데이터 분석(3판)은 데이터 분석을 위한 파이썬 라이브러리의 사용법을 배우고 싶은 분들에게 꼭 추천하는 책입니다. 이 책을 통하여 파이썬을 사용한 데이터를 효과적으로 분석하는 방법을 배울 수 있는 좋은 기회가 될 수 있을 것입니다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90

원문출처 : https://github.com/Frooodle/Stirling-PDF

 

GitHub - Frooodle/Stirling-PDF: locally hosted web application that allows you to perform various operations on PDF files

locally hosted web application that allows you to perform various operations on PDF files - GitHub - Frooodle/Stirling-PDF: locally hosted web application that allows you to perform various operati...

github.com

version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf
    ports:
      - '8080:8080'
    volumes:
      - ./trainingData:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages
      - ./extraConfigs:/configs
#    environment:
#      APP_LOCALE: en_GB
#      APP_HOME_NAME: Stirling PDF
#      APP_HOME_DESCRIPTION: Your locally hosted one-stop-shop for all your PDF needs.
#      APP_NAVBAR_NAME: Stirling PDF
#      APP_ROOT_PATH: /
#      ALLOW_GOOGLE_VISIBILITY: true
728x90

원문출처 : https://www.tecmint.com/disable-suspend-and-hibernation-in-linux/

 

How to Disable Suspend and Hibernation Modes In Linux

In this article, we take you through how to disable suspend and hibernation modes on a Linux system.

www.tecmint.com

 

이 기사에서는 Linux 시스템에서 일시 중지  최대 절전 모드를 비활성화하는 방법을 설명합니다 . 그러나 그 전에 이 두 가지 모드에 대해 간단히 살펴보겠습니다.

Linux 시스템을 일시 중지하면 기본적으로 활성화하거나 절전 모드로 전환합니다. 컴퓨터 전원이 계속 켜져 있는데도 화면이 꺼집니다. 또한 모든 문서와 응용 프로그램은 열린 상태로 유지됩니다.

시스템을 일시 중단하면 시스템을 사용하지 않을 때 전원을 절약할 수 있습니다. 시스템을 다시 사용하려면 간단한 마우스 클릭이나 키보드 버튼을 탭하기만 하면 됩니다. 경우에 따라 전원 버튼을 눌러야 할 수도 있습니다 .

Linux에는 3가지 정지 모드가 있습니다.

  • Suspend to RAM(Normal Suspend) : PC가 배터리로 작동 중일 때 일정 시간 동안 사용하지 않거나 덮개를 닫으면 대부분의 노트북이 자동으로 들어가는 모드입니다. 이 모드에서 전원은 RAM용으로 예약되며 대부분의 구성 요소에서 차단됩니다.
  • Suspend to Disk (Hibernate) : 이 모드에서는 시스템 상태가 스왑 공간에 저장되고 시스템 전원이 완전히 꺼집니다. 그러나 전원을 켜면 모든 것이 복원되고 떠난 곳에서 픽업합니다.
  • Suspend to both (Hybrid suspend) : 여기서 머신 상태는 스왑에 저장되지만 시스템이 꺼지지는 않습니다. 대신 PC가 RAM으로 일시 중단됩니다. 배터리는 사용되지 않으며 디스크에서 시스템을 안전하게 재개하고 작업을 계속 진행할 수 있습니다. 이 방법은 RAM 일시 중단보다 훨씬 느립니다.

Linux에서 일시 중단 및 최대 절전 모드 비활성화

Linux 시스템이 일시 중단 되거나 최대 절전 모드 로 전환되지 않도록 하려면 다음 systemd 대상을 비활성화해야 합니다.

$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

아래와 같은 출력이 표시됩니다.

hybrid-sleep.target
Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.

Ubuntu에서 일시 중단 및 최대 절전 모드 비활성화

그런 다음 시스템을 재부팅하고 다시 로그인하십시오.

다음 명령을 사용하여 변경 사항이 적용되었는지 확인합니다.

$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

Ubuntu에서 일시 중단 및 최대 절전 모드 확인

출력에서 네 가지 상태가 모두 비활성화되었음을 알 수 있습니다.

Linux에서 일시 중단 및 최대 절전 모드 활성화

일시 중단  최대 절전 모드를 다시 활성화하려면 다음 명령을 실행하십시오.

$ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

다음은 얻을 수 있는 결과입니다.

Removed /etc/systemd/system/sleep.target.
Removed /etc/systemd/system/suspend.target.
Removed /etc/systemd/system/hibernate.target.
Removed /etc/systemd/system/hybrid-sleep.target.

Ubuntu에서 일시 중단 및 최대 절전 모드 활성화

이를 확인하려면 다음 명령을 실행하십시오.

$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

Ubuntu에서 일시 중단 및 최대 절전 모드 확인

덮개를 닫을 때 시스템이 일시 중지 상태로 전환되지 않도록 하려면 /etc/systemd/logind.conf 파일을 편집하십시오.

$ sudo vim /etc/systemd/logind.conf

파일에 다음 줄을 추가합니다.

[Login] 
HandleLidSwitch=ignore 
HandleLidSwitchDocked=ignore

파일을 저장하고 종료합니다. 변경 사항을 적용하려면 재부팅해야 합니다.

이것으로 Linux 시스템에서 일시 중단  최대 절전 모드를 비활성화하는 방법에 대한 기사를 마무리합니다 . 이 가이드가 도움이 되었기를 바랍니다. 귀하의 피드백을 환영합니다.

728x90

728x90

Nvidia Quadro K2200 인식 및 작동
Nvidia Quadro M2000 인식 및 작동
Nvidia Quadro P1000 인식 및 작동
Nvidia Quadro P2000 인식 및 작동
Nvidia GTX1650(DDR5) 인식 및 작동

헤놀포럼테스트결과네요. 이외 카드는 안된다고 보심됩니다.
1650(DDR6) 은 안 된다고 있으니 참고하시고요.

728x90

728x90

아래 문장을 ChatGPT에게 먼저 입력 후 프로그래밍 코드 요청하세요

 

Act as CODEX ("COding DEsign eXpert"), an expert coder with experience in multiple coding languages.
Always follow the coding best practices by writing clean, modular code with proper security measures and leveraging design patterns.
You can break down your code into parts whenever possible to avoid breaching the chatgpt output character limit. Write code part by part when I send "continue". If you reach the character limit, I will send "continue" and then you should continue without repeating any previous code.
Do not assume anything from your side; please ask me a numbered list of essential questions before starting.
If you have trouble fixing a bug, ask me for the latest code snippets for reference from the official documentation.
I am using [MacOS], [VSCode] and prefer [brew] package manager.
Start a conversation as "CODEX: Hi, what are we coding today?"

728x90

728x90

엣지 업데이트 이후 생긴 Bing AI(GPT) 아이콘을 지울 수 있는 방법 입니다.


명령 프롬포트를 관리자 권한으로 실행 후 해당 명령어를 사용해주시면 아이콘이 보이지 않게 됩니다.

아이콘 없애기: 

Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HubsSidebarEnabled" /t REG_DWORD /d "0" /f

아이콘 되돌리기: 

Reg.exe delete "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HubsSidebarEnabled"

"조직에서 관리됨" 뜨는것도 삭제 하시려면

Reg.exe delete "HKLM\SOFTWARE\Policies\Microsoft\Edge"

해주시면 됩니다.

728x90

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://$server:$port$request_uri;
client_max_body_size 0;
proxy_read_timeout 1200;
}

 

또다른 세팅

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_header Authorization;
proxy_pass_header Server;
proxy_buffering off;
proxy_redirect off;
proxy_pass http://$server:$port$request_uri;
client_max_body_size 0;
proxy_read_timeout 36000s;
}

 

아래것 사용하세요.

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_header Authorization;
proxy_pass_header Server;
proxy_buffering off;
proxy_redirect off;
proxy_pass http://$server:$port$request_uri;
proxy_max_temp_file_size 0;
client_max_body_size 0;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
proxy_request_buffering off;
}
728x90

728x90

728x90
version: '3.4'
services:
  web:
    image: 'jay94ks/docker-gb5:latest-auto-eb4'
    container_name: 'web'
    environment:
      - G5_GIT_TAG=v5.5.8.2.7     #그누보드 최신버전에 맞추세요
      - G5_MYSQL_HOST=web-db
      - G5_MYSQL_USER=myeb4
      - G5_MYSQL_PASSWORD=myeb4!
      - G5_MYSQL_DB=myeb4
      - G5_ADMIN_ID=<사용할 ADMIN ID>
      - G5_ADMIN_PASSWORD=<사용할 ADMIN 패스워드>
      - G5_ADMIN_NAME=<사용할 ADMIN 명>
      - G5_ADMIN_EMAIL=<사용할 ADMIN 이메일 주소 ex) 123@123.com>
      - G5_RM_IMORT_UTILS=yes
      - G5_RM_YC_OLD_UTIL=yes
    volumes:
      - "./g5:/var/www"
    ports:
        - 80:80
#    networks:
#      - 'web-net'
    restart: always

  web-db:
    image: 'mysql:latest'
    container_name: 'web-db'
    restart: always
    environment:
      MYSQL_DATABASE: 'myeb4'
      MYSQL_USER: 'myeb4'
      MYSQL_PASSWORD: 'myeb4!'
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - './db:/var/lib/mysql'
#    ports: # DB에 직접 접근해서 볼 수 있어야 하는게 아니라면 지정하지 마세요.
#      - '3309:3306'
    command:
      - '--character-set-client-handshake=FALSE'
      - '--character-set-server=utf8mb4'
      - '--collation-server=utf8mb4_unicode_ci'
#    networks:
#      - 'web-net'

#networks:
#  web-net:
#    driver: overlay

 

https://github.com/jay94ks/docker-gb5/tree/auto-eb4

 

GitHub - jay94ks/docker-gb5: Docker image for gnuboard5 or youngcart of SIR (sir.kr).

Docker image for gnuboard5 or youngcart of SIR (sir.kr). - GitHub - jay94ks/docker-gb5: Docker image for gnuboard5 or youngcart of SIR (sir.kr).

github.com

 

https://eyoom.net/share/4

 

[시즌4] CKEditor (ckeditor4_eyoom) - 웹에디터 > 공유자료실 - 이윰

안녕하세요.현재 이윰넷에서 사용중인 CKEditor 이윰빌더 버전인 ckeditor4_eyoom - 웹에디터 를 설치하실수 있게 공유자료실에 해당 파일을 업로드 합니다.다크모드를 지원하는 테마(유료테마)에서

eyoom.net

plugin.zip
0.76MB

 

728x90

728x90

1. 도커 컨테이너 안에 있는 파일을 로컬에 복사

쉬운 사용을 위해 가정을 하겠습니다.

컨테이너의 이름을 con, 복사 하는 파일 이름을 /root/data.txt라고 가정하고 복사하는 곳을 /home/dst/ 라고 가정하겠습니다.

# : 로 컨테이너와 파일의 위치를 구분한 뒤, 뒤에 복사할 곳의 경로를 적는다.
docker cp con:/root/data.txt /home/dst/

 

원래 사용하던 cp 명령어와 유사한데 단지 맨 앞에 docker가 붙고 복사할 경로에 컨테이너 이름만 넣은 것 뿐입니다.

간단하죠? 컨테이너 이름을 지정하지 않았다면 컨테이너 ID를 넣으셔도 됩니다.

 

2. 로컬의 파일을 도커 컨테이너 안으로 복사

감 잡으셨죠? 반대로만 하면 됩니다.

복사하는 파일을 /home/data.txt 라고 가정하고 컨테이너의 이름을 con, 복사 하는 곳을 /root/dst라고 가정하겠습니다.

# : 로 컨테이너와 파일의 위치를 구분한 뒤, 뒤에 복사할 곳의 경로를 적는다.
docker cp /home/data.txt con:/root/dst/

 

728x90

시놀로지 대용량 파일 업로드 시 오류 발생에 대한 해결방법 입니다.

 

Docker로 실행중인 NPM내의 아래 경로 파일의 수정 필요.

 

 

컨테이너 내부로 들어가기

$ docker exec -it <컨테이너명> /bin/sh

 

/etc/nginx/nginx.conf 파일 내용 아래와 같이 수정

client_max_body_size 0;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
proxy_request_buffering off;
728x90

원문출처 : https://hamonikr.org/Free_Board/118707

 

자유게시판 - 새로 출시한 모의 해킹 OS

1. Kali Linux 2023.01  Kali Linux 같은 경우 2022.4 버전이 공식 이미지 구요 모의해킹 OS 중에 누구에게 물어봐도 1위라고 할수 있는 OS 입니다 또한 데비안 기반으로 만들어져 있어서 안정성에서도 뛰어

hamonikr.org

 

1. Kali Linux 2023.01 

Kali Linux 같은 경우 2022.4 버전이 공식 이미지 구요

모의해킹 OS 중에 누구에게 물어봐도 1위라고 할수 있는 OS 입니다

또한 데비안 기반으로 만들어져 있어서 안정성에서도 뛰어나다 할수 있습니다.

2023.01 버전은

 

https://cdimage.kali.org/kali-images/kali-weekly/

 

위주소에서 2023.W01 버전이며 아직까지 Kali에서 공식적인 입장을 내놓지 않고 

있습니다.

Kali Linux는 그 유명한 BackTrack5 OS 후속작입니다.

 

 

 

2. Predator OS 

우분투 기반의 이란 모의해킹 OS 로써 

자동화 툴을 Kali Linux 보다 더 많이 지원을 해주고 있습니다.

모의해킹 초보자를 위해서 튜토리얼을 지원해주고 있어서

모의해킹을 처음 공부하시는 분들에게 추천할수 있는 제품입니다.

우분투 기반이라서 안정성은 말할 필요도 없겠지요 ^^

 

https://predator-os.com/

 

위 사이트에 다운로드가 가능하며 

전 버전이 Predator 2.0 이였으나 

2023년 1월 1일 부터 2.5로 업데이트 되었습니다.

 

 

3. Parrot OS

Parrot OS 는 새버전을 출시한지 2022년 11월 28일에 새로운 버전이 출시하였습니다.

출시한지는 괘 시간이 지났으나 

다양한 에디션으로 OS를 지원해주고 있어서 

다운로드해서 설치해서 연습 해보기도 좋은 OS입니다.

심지어 Hack The BOX를 에디션으로 나눠서 제공해주고 있어서 

괜찮은 OS입니다.

Hack The Box 가 뭐하는곳이냐구요? (https://www.hackthebox.com/) 사이트 입니다. 해커들 놀이터...

 

https://www.parrotsec.org/download/

 

위주소에서 다운로드 가능합니다. (Parrot OS도 우분투 기반입니다)

 

 

 

4. BackBox OS

BackBox OS 괜찮은 OS이나 업데이트가 좀 느린편이라구 할수 있습니다.

최근에 8버전이 새로 나왔지만 출시한지 몇달 되었습니다.

 

https://www.backbox.org/download/

 

위주소에서 다운로드 가능하고 기부하라고 나오는데 금액을 0원으로 설정하시고 

다운로드 하시면 다운로드 가능합니다.

모바일쪽 모의해킹으로 특화된 모습을 볼수 있습니다.

 

 

 

5. Athena OS

2022년 12월 31일에 출시한 따끈 따근 한 신작 모의해킹 OS 입니다

 

https://github.com/Athena-OS/athena-iso/releases/tag/v22.11.15

 

위 주소에서 다운로드 가능하며

Hack The Box 등 기본적으로 Kali Linux에 들어있는 자동화 툴은 거의다 지원해주고 있고

또한 UI가 특이 하다라는 장점이 있습니다.

UI가 이쁘게 되어있고 다만 단점이 아직 베타 버전이라서 

설치시 버그가 조금 있습니다.

그렇다고 설치가 안되는것은 아니며 해당 Github 문서를 잘 읽어보시면 

해결이 가능합니다.

제작자도 인지하고 있는 버그들이라서 아마도 조만간 해결이 될것으로 보이며

앞으로의 행보가 기대가 되는 제품이라 할수 있겠습니다.

설치 로그인 화면 및 바탕화면 등 아이콘등에 신경을 많이쓴 부분이 보이며

특이하게 LightDM 으로 로그인 하거나 GNOM으로 로그인 하는 부분을 선택할수 

있다는것이 좀 특이하게 되어 있고 지금 이름을 까먹었는데

스샷과 함께 첨부하겠지만 프로그램 실행 UI도 특이하게 생겼습니다.

(좋은 OS이기는 하나 Arch Linux 기반이라서 저는 개인적으로 Arch 기반을 좋아라하지 않습니다)

 

 

 

 

6. BlackArch Linux

Arch 기반 모의해킹 OS 이며

지금까지 모의해킹 자동화툴을 가장 많이 지원을 해주는 OS입니다

업데이트를 안한지는 괘 오랜시간이 지났습니다만

아마도 Arch 기반이기에 롤링시스템을 사용하기 때문은 아닐까 생각이듭니다.

너무 많은 툴을 지원해줘서 사실상 저도 다운로드는 받았지만

설치해서 연습해볼 엄두도 나지 않는 OS이며

 

https://blackarch.org/downloads.html

 

위주소에서 다운로드 가능합니다

(윗글에서 설명했듯이 그리고 저는 Arch 기반을 별로 좋아라 하지 않습니다)

 

왜 갑자기 모의해킹에 대해 글을 쓰냐...하시는 분들도 있으시겠지만

하모니카 게시판을 보게 되면 하모니카 로 얼마든지 연습해보고 공부를 해볼수가 있는데

그런 문의는 전혀 없는것을 보아하니 만약에 2010의 사이버 대전이 다시 온다면 

우리가 다시 이길수 있을까? 라는 생각이 마냥 드는 현실이기 때문입니다.

 

https://youtu.be/iX9Nfe_VW8U

사이버대첩 경인대첩에 관련한 유튜버 영상 링크입니다.

 

하모니카는 기본적으로 Exploit 과 Metaslpoit 의 찰떡궁합인 Nmap을 제공해주고 있습니다.

그래서 저의 글을 잘 살펴 보시면

Exploit 및 Metasploit을 하모니카에 설치 했다는 글을 볼수가 있습니다.

그만큼 하모니카 로도 모의해킹을 연습해볼수 있는 충분한 OS라는 것이겠죠

아마도 알약이나 백신 및 방화벽은 설치하시면 저툴을 바이러스로 오진을 할수 있겠죠....

모의해킹은 OS는 되도록 이면 Update 명령은 해도 Upgrade는 하지 않습니다.

자동화 툴이 여러가지 컴퓨터 언어로 되어 있어서 백신 덕분에 시스템이 꼬여 버리고

방화벽 같은 경우 공격 연습을 할때 포트를 자주 열게 되는데 포트를 막아버려서 

아주 불편하죠

그래서 모이해킹 OS는 출시하면 거의 새로 설치 합니다

(필요한 툴은 그때 그때 그부분만 새로 설치 합니다...)

 

저도 마음같아서 Upgrade를 하고 싶지만 예전에 Kali Linux를 Upgrade를 한적이 있었는데

방금전까지 실행이 잘 되었던 Zenmap이 실행이 안되거나

다른 자동화툴 또한 실행이 안되는 것일 알게 되었고 

고생고생 해서 알아본 결과 보통 모의해킹 OS는 상식적으로 Upgrade는 하지 않는다고 알게 되었습니다.

 

아직도 우리나라는 보안 관련해서 많은 인원이 있지만

그분들도 점점 나이를 먹고 있으며 신규 인원이 있어야 하지만

요즘 분들은 거의다 유튜버 및 인터넷방송에만 관심을 기울이고 

보안 쪽으로는 취약한게 현실입니다.

728x90

원문출처 : https://ostechnix.com/linux-tips-disable-suspend-and-hibernation/

 

How To Disable Suspend And Hibernation In Linux - OSTechNix

This guide explains what are suspend and hibernation modes and how to disable suspend and hibernation in Linux operating systems.

ostechnix.com

 

오늘 우리는 Linux에서 일시 중지 및 최대 절전 모드를 비활성화 하는 방법을 배웁니다 . 주제에 들어가기 전에 컴퓨터의 일시 중단 및 최대 절전 모드에 대한 간략한 소개를 살펴보겠습니다.

일시 중단 및 최대 절전 모드란 무엇입니까?

시스템을 일시 중단 할 때마다 컴퓨터는 절전 모드로 들어갑니다. 의미 - 열려 있는 모든 응용 프로그램, 파일 및 문서는 열린 상태로 유지되지만 모니터와 시스템의 다른 부분은 전원을 절약하기 위해 꺼집니다. 컴퓨터를 일시 중단해도 전원이 완전히 꺼지는 것은 아닙니다. 컴퓨터는 여전히 켜져 있고 여전히 소량의 전력을 사용합니다.

 

최대 절전 모드  일시 중지 유형 중 하나입니다. 현재 세 가지 일시 중단 방법을 사용할 수 있습니다.

  1. RAM 일시 중단 또는 일반 일시 중단 - 이 모드에서는 RAM 을 제외하고 화면과 시스템의 대부분이 꺼집니다(완전히 꺼지는 것은 아님) . 모든 랩탑은 사용자가 특정 시간 동안 활동하지 않거나 시스템이 배터리로 실행 중이거나 덮개가 닫혀 있을 때 이 일시 중지 모드에 들어갑니다. 키를 누르거나 마우스 버튼을 클릭하면 컴퓨터가 일반 모드로 깨어납니다.
  2. Suspend to DISK 또는 Hibernate - 이 모드에서는 현재 컴퓨터의 상태가 스왑 공간 에 저장되고 시스템이 완전히 꺼집니다. 시스템을 다시 켜면 상태가 복원됩니다. 이것은 일반적으로 최대 절전 모드 로 알려져 있습니다 .
  3. 둘 다 일시 중단 또는 하이브리드 일시 중단 - 이 모드에서는 현재 컴퓨터의 상태가 스왑 공간에 저장되고 일반적인 RAM 일시 중단 모드가 호출됩니다. 따라서 컴퓨터가 완전히 꺼지지 않습니다. 배터리가 고갈되면 디스크에서 컴퓨터를 다시 시작할 수 있습니다. 배터리가 고갈되지 않은 경우 RAM에서 컴퓨터를 다시 시작할 수 있습니다. 이를 하이브리드 일시 중단 이라고도 합니다.

일시 중지 및 최대 절전 모드에 대한 기본 아이디어를 얻으시기 바랍니다. 이제 주제로 돌아가 일시 중지 및 최대 절전 모드를 비활성화하는 방법을 살펴보겠습니다.

Linux에서 일시 중지 및 최대 절전 모드 비활성화

Linux 시스템이 일시 중단 및 최대 절전 모드로 전환되지 않도록 하려면 systemd 수준에서 다음 대상을 비활성화하십시오.

$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

샘플 출력:

Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.
Linux에서 일시 중지 및 최대 절전 모드 비활성화

만일을 대비하여 모든 작업을 저장하고 다음 명령을 실행하여 변경 사항을 적용합니다.

$ sudo systemctl restart systemd-logind.service

또는 이를 적용하려면 시스템을 재부팅하십시오.

변경 사항이 실제로 적용되었는지 확인합니다.

$ systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

샘플 출력:

● sleep.target
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

● suspend.target
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

● hibernate.target
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

● hybrid-sleep.target
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

위의 출력에서 ​​볼 수 있듯이 일시 중단 및 최대 절전 모드 시스템 대상이 마스크되고 비활성화되었습니다.

시스템에서 일시 중단 및 최대 절전 모드를 다시 활성화하려면 다음을 실행하십시오.

$ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

샘플 출력:

Removed /etc/systemd/system/sleep.target.
Removed /etc/systemd/system/suspend.target.
Removed /etc/systemd/system/hibernate.target.
Removed /etc/systemd/system/hybrid-sleep.target.

노트북 뚜껑을 닫았을 때 중단되는 것을 방지하려면 다음 /etc/systemd/logind.conf파일 을 편집하십시오.

$ sudo nano /etc/systemd/logind.conf

다음 줄을 추가/수정합니다.

[Login] 
HandleLidSwitch=ignore 
HandleLidSwitchDocked=ignore

파일을 저장하고 닫습니다. 변경 사항을 적용하려면 systemd-logind .service 를 다시 시작하거나 시스템을 재부팅하는 것을 잊지 마십시오 .

자세한 내용은 매뉴얼 페이지를 확인하십시오.

$ man logind.conf

도움이 되었기를 바랍니다.

728x90

원문출처 : https://www.youtube.com/watch?v=BbDnBxlBTdY&t=351s 

 

728x90

원문출처 : https://www.daleseo.com/docker-networks/

 

Docker 네트워크 사용법

Engineering Blog by Dale Seo

www.daleseo.com

 

Docker 컨테이너(container)는 격리된 환경에서 돌아가기 때문에 기본적으로 다른 컨테이너와의 통신이 불가능합니다. 하지만 여러 개의 컨테이너를 하나의 Docker 네트워크(network)에 연결시키면 서로 통신이 가능해집니다. 이번 포스팅에서는 컨테이너 간 네트워킹이 가능하도록 도와주는 Docker 네트워크에 대해서 알아보도록 하겠습니다.

네트워크 조회

Docker 네트워크의 기본은 내 컴퓨터에서 어떤 네트워크가 생성되어 있는지를 아는 것일 겁니다. docker network ls 커맨드를 사용하면 현재 생성되어 있는 Docker 네트워크 목록을 조회할 수 있습니다.

$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
143496b94e57        bridge              bridge              local
311d6534f79f        host                host                local
aa89f58200a6        none                null                local

bridge, host, none은 Docker 데몬(daemon)이 실행되면서 디폴트로 생성되는 네트워크입니다. 대부분의 경우에는 이러한 디폴트 네트워크를 이용하는 것 보다는 사용자가 직접 네트워크를 생성해서 사용하는 것이 권장됩니다.

네트워크 종류

Docker 네트워크는 bridge, host, overlay 등 목적에 따라 다양한 종류의 네트워크 드라이버(driver)를 지원하는데요.

  • bridge 네트워크는 하나의 호스트 컴퓨터 내에서 여러 컨테이너들이 서로 소통할 수 있도록 해줍니다.
  • host 네트워크는 컨터이너를 호스트 컴퓨터와 동일한 네트워크에서 컨테이너를 돌리기 위해서 사용됩니다.
  • overlay 네트워크는 여러 호스트에 분산되어 돌아가는 컨테이너들 간에 네트워킹을 위해서 사용됩니다.

본 포스팅에서는 기본값이고 가장 많이 사용되는 bridge 네트워크에 대해서만 다루도록 하겠습니다.

네트워크 생성

먼저 docker network create 커맨드를 사용해서 새로운 Docker 네트워크를 생성해보도록 하겠습니다.

$ docker network create our-net
e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
143496b94e57        bridge              bridge              local
311d6534f79f        host                host                local
aa89f58200a6        none                null                local
e6dfe4a9a5ec        our-net             bridge              local

추가된 네트워크는 docker network ls 커맨드로 확인할 수 있습니다. -d 옵션을 사용하지 않았기 때문에 기본값인 bridge 네트워크로 생성된 것을 볼 수 있습니다.

네트워크 상세 정보

방금 추가한 네트워크의 상세 정보를 docker network inspect 커맨드로 확인해보도록 하겠습니다.

$ docker network inspect our-net
[
    {
        "Name": "our-net",
        "Id": "e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68",
        "Created": "2020-04-26T19:23:04.563643516Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

Containers 항목을 보면 이 네트워크에 아무 컨테이너도 아직 연결되지 않은 것을 알 수 있습니다.

네트워크에 컨테이너 연결

먼저 컨테이너 하나를 one라는 이름으로 실행해보도록 하겠습니다.

$ docker run -itd --name one busybox
660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9

컨테이너를 실행할 때 --network 옵션을 명시해주지 않으면, 기본적으로 bride라는 이름의 디폴트 네트워크에 붙게 됩니다.

$ docker network inspect bridge
(... 생략 ...)
        "Containers": {
            "660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9": {
                "Name": "one",
                "EndpointID": "40b4bbd8385debf86eef2fc2136315e1a82fa1ef72877bfae25477d6e8e46726",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
        },
(... 생략 ...)

 one 컨테이너를 위에서 생성한 our-net 네트워크에 연결해보도록 하겠습니다. Docker 네트워크에 컨테이너를 연결할 때는 docker network connect 커맨드를 사용합니다.

$ docker network connect our-net one

our-net 네트워크의 상세 정보를 다시 확인해보면 Containers 항목에 one 컨테이너가 추가된 것을 볼 수 있습니다. one 컨테이너에 IP 172.19.0.2가 할당된 것도 확인할 수 있습니다.

$ docker network inspect our-net
[
    {
        "Name": "our-net",
        "Id": "e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68",
        "Created": "2020-04-26T19:23:04.563643516Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9": {
                "Name": "one",
                "EndpointID": "cc490148a533d40b3aff33a421cc9a01c731c75a8deb70ab729a5358f2fd381c",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

네트워크로부터 컨테이너 연결 해제

하나의 컨테이너는 여러 개의 네트워크에 동시에 연결할 수 있습니다. 최초에 one 컨테이너를 생성할 때 bridge 네트워크 붙었기 때문에, 현재 one 컨테이너는 our-net 네트워크와 bridge 네트워크에 동시에 붙어있게 됩니다.

one 컨테이너를 bridge 네트워크로부터 때어 내도록 하겠습니다. Docker 네트워크로부터 컨테이너의 연결을 끊을 때는 docker network disconnect 커맨드를 사용합니다.

$ docker network disconnect bridge one

두번째 컨테이너 연결

네트워크에 홀로 있는 컨테이너는 큰 의미가 없을 것입니다. 하나의 컨테이너를 더 our-net 네트워크에 연결해보도록 하겠습니다.

이번에는 --network 옵션을 사용해서 컨테이너를 실행하면서 바로 연결할 네트워크를 지정해주도록 하겠습니다.

$ docker run -itd --name two --network our-net busybox
0e7fe8a59f9d3f8bd545d3e557ffd34100a09b8ebe92ae5a375f37a5d072873d

our-net 네트워크의 상세 정보를 확인해보면 two 컨테이너에 IP 172.19.0.3가 할당되어 연결되어 있는 것을 확인할 수 있습니다.

$ docker network inspect our-net
[
    {
        "Name": "our-net",
        "Id": "e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68",
        "Created": "2020-04-26T19:23:04.563643516Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0e7fe8a59f9d3f8bd545d3e557ffd34100a09b8ebe92ae5a375f37a5d072873d": {
                "Name": "two",
                "EndpointID": "a0e3625e48f0b833cd551d6dfb3b1a2a7614f1343adbc5e6aefa860d917ddea9",
                "MacAddress": "02:42:ac:13:00:03",
                "IPv4Address": "172.19.0.3/16",
                "IPv6Address": ""
            },
            "660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9": {
                "Name": "one",
                "EndpointID": "cc490148a533d40b3aff33a421cc9a01c731c75a8deb70ab729a5358f2fd381c",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

컨테이너 간 네트워킹

이제 두 개의 컨테이너가 네트워크를 통해 서로 소통이 가능한지 테스트를 해보도록 하겠습니다.

먼저 one 컨테이너에서 two 컨테이너를 상대로 ping 명령어를 날려보겠습니다. 컨테이너 이름을 호스트네임(hostname)처럼 사용할 수 있습니다.

$ docker exec one ping two
PING two (172.19.0.3): 56 data bytes
64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.119 ms
64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.105 ms
64 bytes from 172.19.0.3: seq=2 ttl=64 time=0.116 ms
64 bytes from 172.19.0.3: seq=3 ttl=64 time=0.883 ms
64 bytes from 172.19.0.3: seq=4 ttl=64 time=0.127 ms

반대로 two 컨테이너에서 one 컨테이너를 상대로 ping 명령어를 날려보겠습니다. 이번에는 컨테이너 이름 대신에 IP를 사용하겠습니다.

$ docker exec two ping 172.19.0.2
PING 172.19.0.2 (172.19.0.2): 56 data bytes
64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.927 ms
64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.079 ms
64 bytes from 172.19.0.2: seq=2 ttl=64 time=0.080 ms
64 bytes from 172.19.0.2: seq=3 ttl=64 time=0.079 ms
64 bytes from 172.19.0.2: seq=4 ttl=64 time=0.107 ms

네트워크 제거

마지막으로 docker network rm 커맨드를 사용해서 our-net 네트워크를 제거해보겠습니다.

$ docker network rm our-net
Error response from daemon: error while removing network: network our-net id e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68 has active endpoints

위와 같이 제거하려는 네트워크 상에서 실행 중인 컨테이너가 있을 때는 제거가 되지가 않습니다.

그럴 때는 해당 네트워크에 연결되어 실행 중인 모든 컨테이너를 먼저 중지 시키고, 네트워크를 삭제해야 합니다.

$ docker stop one two
one
two
$ docker network rm our-net
our-net

네트워크 청소

하나의 호스트 컴퓨터에서 다수의 컨테이너를 돌리다 보면 아무 컨테이너도 연결되어 있지 않은 네트워크가 생기가 마련입니다. 이럴 때는 docker network prune 커맨드를 이용해서 불필요한 네트워크를 한번에 모두 제거할 수 있습니다.

$ docker network prune
WARNING! This will remove all networks not used by at least one container.
Are you sure you want to continue? [y/N] y

마치면서

이상으로 Docker 네트워크의 전반적인 라이프사이클에 대해서 살펴보았습니다. 본 포스팅에서 사용했던 각 커맨드에 대한 좀 더 자세한 내용은 아래 Docekr CLI 레퍼런스를 참고바라겠습니다.

728x90

참고 사이트 - https://hub.docker.com/r/filerun/filerun/

 

Docker

 

hub.docker.com

version: '2'

services:
  db:
    image: mariadb:10.1
    ports:
     - 43306:3306
    environment:
      MYSQL_ROOT_PASSWORD: filerun
      MYSQL_USER: filerun
      MYSQL_PASSWORD: filerun
      MYSQL_DATABASE: filerun
    volumes:
      - ./db:/var/lib/mysql
    restart: always

  web:
    image: filerun/filerun
    environment:
      FR_DB_HOST: db
      FR_DB_PORT: 43306
      FR_DB_NAME: filerun
      FR_DB_USER: filerun
      FR_DB_PASS: filerun
      APACHE_RUN_USER: mirdate
      APACHE_RUN_USER_ID: 1000
      APACHE_RUN_GROUP: users
      APACHE_RUN_GROUP_ID: 984
    depends_on:
      - db
    links:
      - db:db
    ports:
      - "54480:80"
    volumes:
      - ./html:/var/www/html
      - ./user-files:/user-files
    restart: always

주의사항 - localhost:54480 으로 접속 후에 초기 셋업설정화면에서 DB 부분에 내부IP 입력할 것!

728x90

728x90

yum repository 관리에 필요한 yum-utils 를 설치한다. (설치가 안되어있을 경우)

$ sudo yum install -y yum-utils

 

Docker repository 추가

$ sudo yum-config-manager \
	--add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo

 

Docker Engine 설치

$ sudo yum install docker-ce docker-ce-cli containerd.io

 

Docker 실행

$ sudo systemctl start docker

 

hellow-world 이미지로 Docker가 잘 설치 되었는지 확인

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:975f4b14f326b05db86e16de00144f9c12257553bba9484fed41f9b6f2257800
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

 

dnf 를 이용하여 설치할 때도 yum 을 이용할때와 거의 동일하다.

$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager \
	--add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
$ sudo dnf install docker-ce docker-ce-cli containerd.io




참고

https://docs.docker.com/engine/install/centos/

https://docs.docker.com/engine/install/fedora/

728x90

원문출처 : https://www.servethehome.com/how-to-pass-through-pcie-nics-with-proxmox-ve-on-intel-and-amd/

 

How to Pass-through PCIe NICs with Proxmox VE on Intel and AMD

We have a quick how-to guide for pass-through PCIe NICs with Proxmox VE on Intel and AMD. This is often used for pfSense and OPNsense

www.servethehome.com

 

Proxmox VE 웹 GUI 통과할 NIC 선택

오늘 빠른 것은 NIC를 Promxox VE의 가상 머신으로 전달하기 위한 매우 간단한 자습서입니다. 통과 NIC는 하이퍼바이저 오버헤드를 방지하고 가상 NIC와 pfSense 및 OPNsense와 같은 일부 방화벽 어플라이언스를 사용하여 호환성 문제를 해결하는 데 도움이 될 수 있습니다. 단점은 NIC가 SR-IOV를 지원하지 않는 한 이 구성에서 공유 장치가 아닐 가능성이 높다는 것입니다.

1단계: BIOS 설정

가장 먼저 해야 할 일은 시스템에서 IOMMU 기능을 켜는 것입니다. 이를 위해서는 CPU와 플랫폼이 해당 기능을 지원해야 합니다. 오늘날 대부분의 플랫폼은 IOMMU를 지원하지만 일부 이전 플랫폼은 지원하지 않습니다. Intel 플랫폼에서는 이를 "VT-d"라고 합니다. Intel Virtualization Technology for Directed I/O(VT-d)의 약자입니다.

Intel VT D를 활성화하여 IOMMU 작동

 

AMD 플랫폼에서는 AMD-Vi를 옵션으로 볼 수 있습니다. 때로는 다른 시스템 펌웨어에서 IOMMU를 볼 수 있습니다. 활성화하려는 옵션입니다.

물론 이것은 Proxmox VE이므로 BIOS에 있는 동안에도 기본 가상화가 켜져 있는지 확인하고 싶을 것입니다. 또한 이 가이드를 사용하는 사람들에게 주요 초점이 될 것이므로 시스템에 방화벽/라우터를 만드는 경우 일반적으로 AC 전원 설정을 "항상 켜짐" 또는 "마지막 상태"로 설정하는 것이 좋습니다. 정전이 발생하면 네트워크가 즉시 복구됩니다.

다음으로 GRUB 또는 systemd를 부트로더로 사용하고 있는지 확인해야 합니다.

2단계: GRUB 또는 systemd를 사용 중인지 확인

이것은 새로운 단계이지만 최신 버전의 Proxmox VE를 설치하고 ZFS를 루트로 사용하는 경우(향후 확장될 수 있음) GRUB이 아닌 systemd를 사용하고 있을 가능성이 높습니다. 설치 후 이 명령을 사용하여 사용 중인 것을 확인합니다.

efibootmgr -v

"File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)"와 같은 내용이 표시되면 GRUB이 아닌 systemd를 사용하고 있는 것입니다.

또 다른 이점은 부팅할 때 GRUB이 포함된 블루 스크린과 OS로 들어가기 직전에 여러 옵션이 표시되면 GRUB을 사용하고 있는 것입니다. 다음과 같은 내용이 표시되면 systemd를 사용하고 있는 것입니다.

Proxmox VE 시스템 부팅 메뉴

 

이는 많은 이전 가이드가 GRUB를 사용하고 있기 때문에 중요하지만 systemd를 사용하고 GRUB 지침을 따르는 경우 NIC 패스스루에 필요한 IOMMU를 활성화하지 않습니다.

3a단계: GRUB를 사용하여 IOMMU 활성화

GRUB가 있고 현재 대부분의 설치가 있는 경우 구성 파일을 편집해야 합니다.

nano /etc/default/grub

Intel CPU의 경우 quiet intel_iommu=on을 추가합니다.

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

AMD CPU의 경우 quiet amd_iommu=on을 추가합니다.

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

다음은 배치할 위치를 보여 주는 인텔 라인이 있는 스크린샷입니다.

Proxmox VE Nano Grub Quiet Intel Iommu On

 

선택적으로 IOMMU PT 모드를 추가할 수도 있습니다. PT 모드는 패스스루가 사용될 때 시스템의 다른 PCIe 장치의 성능을 향상시킵니다. 이것은 Intel 및 AMD CPU에서 작동하며 iommu=pt입니다. 다음은 추가될 AMD 버전이며 인텔 스크린샷은 다음과 같습니다.

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

이것이 진행되는 스크린 샷은 다음과 같습니다.

Proxmox VE Nano Grub Quiet Intel Iommu On Iommu Pt

 

저장하고 종료하는 것을 잊지 마십시오.

이제 GRUB을 업데이트해야 합니다.

update-grub

이제 4단계로 이동합니다.

3a단계: systemd를 사용하여 IOMMU 활성화

2단계에서 systemd를 사용하고 있는 것을 발견한 경우 GRUB에 비트를 추가해도 작동하지 않습니다. 대신 다음과 같이 하십시오.

nano /etc/kernel/cmdline

Intel CPU의 경우 다음을 추가하십시오.

quiet intel_iommu=on

AMD CPU의 경우 다음을 추가하십시오.

quiet amd_iommu=on

다음은 인텔 버전을 사용하여 추가할 위치에 대한 스크린샷입니다.

Proxmox VE Systemd Quiet Intel_iommu=on

 

선택적으로 IOMMU PT 모드를 추가할 수도 있습니다. 이것은 Intel 및 AMD CPU에서 작동하며 iommu=pt입니다. 다음은 추가될 AMD 버전이며 인텔 스크린샷은 다음과 같습니다.

quiet amd_iommu=on iommu=pt

인텔 스크린샷은 다음과 같습니다.

Proxmox VE Systemd Quiet Intel_iommu=on Iommu=pt

 

이제 부팅 도구를 새로 고쳐야 합니다.

proxmox-boot-tool refresh

이제 4단계로 이동합니다.

4단계: 모듈 추가

대부분은 위의 작업이 완료된 후 즉시 재부팅되며 이는 아마도 좋은 습관일 것입니다. 일반적으로 저는 시간을 절약하기 위해 모듈을 추가하는 것을 좋아합니다. 더 보수적이라면 재부팅한 다음 이 단계를 수행하십시오. 다음으로 편집하여 모듈을 추가할 수 있습니다.

nano /etc/modules

해당 파일에서 다음을 추가할 수 있습니다.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

다음과 같이 표시됩니다.

Proxmox VE NIC 패스스루 기타 모듈 추가

 

다음으로 재부팅할 수 있습니다.

5단계: 재부팅

이것은 다음에 재부팅하고 싶을 만큼 충분히 큰 변경입니다. PVE에서 우리가 가진 팁은 기본 시스템을 설정할 때 자주 재부팅하는 것입니다. 구성을 구축하는 데 몇 시간을 소비하고 싶지 않은 경우 구성이 부팅되지 않고 이유를 알 수 없습니다.

우리는 보다 현대적인 시스템을 위해 위의 내용을 약간 요약했음을 곧 알게 될 것입니다. 아래 확인 단계에서 문제가 발생하면 대신 모듈을 추가하기 전에 재부팅하고 재부팅하기 전에 PT 모드를 켜지 않는 것이 좋습니다.

7단계: 모든 것이 작동하는지 확인

사용할 명령은 다음과 같습니다.

dmesg | grep -e DMAR -e IOMMU

시스템, 가지고 있는 옵션 등에 따라 여기에서 많은 출력이 변경됩니다. 찾고 있는 것은 스크린샷 DMAR: IOMMU 활성화:에서 강조 표시된 줄입니다.

Proxmox VE IOMMU 활성화됨

 

당신이 그것을 가지고 있다면, 당신은 좋은 상태 일 것입니다.

7단계: NIC를 사용하도록 Proxmox VE VM 구성

이를 위해 Inexpensive 4x 2.5GbE Fanless Router Firewall Box Review 와 매우 유사한 작은 상자를 사용하고 있습니다  . 본질적으로 동일하며 해당 상자의 다른 버전입니다. 좋은 기능 중 하나는 각 NIC가 자체 i225-V이며 각 개별 NIC를 통해 VM으로 전달할 수 있다는 것입니다. 다음은 예정된 동영상의 스크린샷입니다.

Proxmox VE 웹 GUI 통과할 NIC 선택

 

이전에는 CLI 편집을 통해 통과 NIC를 VM에 추가했습니다. 이제 Proxmox는 PCIe 장치 ID와 장치 공급업체 및 이름을 가져옵니다. 이렇게 하면 시스템에서 NIC를 매우 쉽게 선택할 수 있습니다. 많은 온보드 NIC에 대한 한 가지 좋은 점은 NIC가 시스템에 레이블이 지정되어 있기 때문에 물리적 순서는 순차적인 MAC 주소와 PCIe ID가 있음을 의미해야 한다는 것입니다. 위의 0000:01:00.0에서 첫 번째 NIC(ETH0)입니다. 장치 0000:02:00.0은 두 번째 등입니다.

Hunsn 4포트 2.5GbE I225 인텔 J4125 방화벽 박스 NIC 포트

 

이 시점에서 이미 완료되었습니다. OPNsense와 pfSense 모두에서 이 작업이 수행되고 프로세스가 매우 유사하다는 것을 알 수 있습니다. 좋은 점은 이렇게 하면 pfSense/OPNsense가 가상화된 NIC 장치를 사용하는 대신 NIC에 직접 액세스할 수 있다는 것입니다.

pfSense 및 OPNsense를 사용하는 IOMMU에 대한 몇 가지 참고 사항

이러한 NIC가 할당된 후 염두에 두어야 할 몇 가지 주요 고려 사항이 있습니다.

  • 통과 NIC를 사용하면 VM이 라이브 마이그레이션되지 않습니다. VM이 PCIe 위치에서 물리적 NIC를 기대하는데 이를 얻지 못하면 문제가 됩니다.
  • 개념적으로 SR-IOV라는 고급 기능이 있어 NIC를 통해 여러 장치로 전달할 수 있습니다. pfSense 및 OPNsense 어플라이언스에서 일반적으로 볼 수 있는 저가형 i210 및 i225-V NIC의 경우 개념적으로 NIC를 VM 전용으로 지정합니다. 즉, 다른 VM은 NIC를 사용할 수 없습니다. 다음은 OPNsense NIC에도 할당된 NIC를 사용하는 pfSense VM(600)이 있는 예입니다. OPNsense를 시작하려고 하면 오류가 발생합니다. Proxmox VE GUI를 사용하면 두 VM이 꺼져 있는 경우 두 VM에서 패스스루를 구성할 수 있지만 한 번에 하나만 전용 NIC에서 켜고 활성화할 수 있습니다.

Proxmox VE 웹 GUI NIC가 이미 pfSense에 할당된 경우 OPNsense용 두 번째 VM에 할당됨

  • 이전 하드웨어에는 IOMMU 기능이 없을 수 있습니다. 최신 하드웨어에는 IOMMU와 ACS가 모두 있으므로 대부분의 최신 플랫폼에서는 PCIe 장치를 쉽게 분리하고 VM 전용으로 사용할 수 있습니다. 이전 하드웨어에서 때때로 PCIe 장치가 그룹화되는 방식은 이 예에서와 같이 NIC를 다른 VM에 개별적으로 통과시키려는 경우 문제를 일으킵니다.
  • 동일한 VM의 전용 통과 NIC와 함께 브리지에서 두 가상 NIC를 모두 활용할 수 있습니다.
  • 1GbE 속도에서 통과는 가상화된 NIC를 사용할 때와 큰 차이가 없습니다. 25GbE/100GbE 속도에서는 매우 큰 차이가 됩니다.
  • DPU에 대해 논의할 때 주요 차이점 중 하나는 DPU가 가상 네트워크 포트를 물리적 고속 포트에 브리징하는 것과 같은 기능을 처리할 수 있으며 호스트 CPU가 아닌 DPU에서 모두 발생한다는 것입니다.
  • 이것은 베어 메탈 설치보다 설정하는 데 시간이 오래 걸리고 pfSense 또는 OPNsense 설치에 복잡성을 추가하는 영역입니다. 이점은 재부팅과 같은 작업을 수행하는 것이 일반적으로 가상 머신에서 훨씬 빠르다는 것입니다. 주요 변경 사항이 있는 경우 pfSense 또는 OPNsense 이미지의 스냅샷을 찍을 수도 있습니다.
  • Proxmox VE 관리 및 기타 VM 기능을 위해 시스템에 하나 이상의 NIC를 추가하는 것이 좋습니다. 모든 NIC에 대한 패스스루를 사용하여 VM을 방화벽화하는 경우 시스템 NIC가 없습니다.

이것은 완전하지는 않지만 도움이 되기를 바랍니다.

마지막 말

이것은 pfSense, OPNsense 또는 다른 솔루션을 가상화할 때 Proxmox VE에서 PCIe 패스스루 NIC를 설정하는 빠른 가이드입니다. 2017년 또는 2020년 이후에 만들어진 최신 하드웨어에 더 적합하므로 이전 시스템을 사용하는 경우 더 많은 조정이 필요할 수 있습니다. 이것은 Intel과 같은 회사가 시장에서 자사 칩의 세분화에 사용했던 기능이었지만 요즘에는 대부분 VT-d를 지원할 것입니다.

+ Recent posts