반응형

 

작성일: 2024년 3월 25일

 

 

Bind9 Zone 파일의 Serial 값을 변경하는 Python Script

지금 급하게 DNS 서버(Bind9)의 Serial 값을 자동 갱신하도록하는 기능이 필요해서 작성해본 Python script이다.

동작 방식을 간단하게 설명하면 이렇다.

 

만약 오늘이 "2024년 03월 25일"이라고 가정하면,

  • 기존 Zone 파일의 Serial 값이 2024032501 이면, 2024032502 으로 끝자리면 1 증분시켜줌.
  • 기존 Zone 파일의 Serial 값이 2024032401 이면, 2024032500 으로 날짜를 오늘로 변경하고 끝 2자리는 00으로 설정

아래 Script를 복사해서 바로 실행하면 잘 동작할 것이다.

$ cat update_zone_serial.py


#!/usr/bin/python3

from datetime import datetime
import shutil


##
## File 내용 중에서 일부 문자열을 찾아서 바꿈.
##
def replace_in_file(file_path, old_str, new_str):
    # 파일 읽어들이기
    fr = open(file_path, 'r')
    lines = fr.readlines()
    fr.close()

    # old_str -> new_str 치환
    fw = open(file_path, 'w')
    for line in lines:
        fw.write(line.replace(old_str, new_str))
    fw.close()


##
## Zone file에 있는 Serial 값을 찾기
## NOTE: 주의할 점
##   Zone file 안에 Serial 값이 아래 포맷으로 저장되어 있어야 한다.
##
##   @ IN SOA mydomain.kr root.mydomain.kr (
##     2024032502    ; Serial
##     3600          ; Refresh
##     900           ; Update retry
##     604800        ; Expiry
##     600           ; TTL for cache name server (for 30 minutes)
##   )
##
def search_old_serial(file_path):
    fp = open(file_path)
    lines = fp.readlines()
    fp.close()

    for line in lines:
        if line.find('Serial') > 0:
            words = line.split(';')
            old_serial = words[0].strip()
    return old_serial



zone_file = '/var/cache/bind/mydomain.kr.zone'

old_serial = search_old_serial(zone_file)
curr_date = datetime.today().strftime("%Y%m%d")
bool_today = old_serial.startswith(curr_date)
if bool_today is True:
    ## Serial 값이 오늘 Update된 경우
    int_old_serial = int(old_serial)
    new_serial = str(int_old_serial + 1)
else:
    ## Serial 값이 며칠 전에 Update된 경우
    new_serial = f"{curr_date}00"

## copy file for backup
bkup_file = f"{zone_file}_{new_serial}"
shutil.copy(zone_file, bkup_file)

replace_in_file(zone_file, old_serial, new_serial)


## 실행 테스트
$ ./update_zone_serial.py

 

 

Bind9 Zone 파일의 Serial 값을 변경하는 Bash Script

만약, Python 인터프리터가 없는 경우라면 아래와 같이 bash 스크립트를 작성해서 실행해도 동일한 결과를 얻을 수 있다.

$ cat my-dns-zone-serial-increase.sh


#!/usr/bin/env bash

set -euo pipefail

: ${1?"Usage: $0 <zone file>"}

IFILE=$1

if [ ! -w "${IFILE}" ]; then
    echo "Error cannot write to ${IFILE}"
    exit
fi

if [ ! -w $(pwd) ]; then
    echo "Error, sed needs write permission for temp file, add w to current directory"
    exit
fi

PREV_SERIAL=$(grep -i Serial "${IFILE}" | awk '{print $1}')
echo "PREV_SERIAL: ${PREV_SERIAL}"
TODAY=$(date +%Y%m%d00)

if [ "$PREV_SERIAL" -ge "${TODAY}" ]; then
    NEW_SERIAL=$((PREV_SERIAL+1))
else
    NEW_SERIAL=${TODAY}
fi

echo "NEW_SERIAL: ${NEW_SERIAL}"

sed -i "s/${PREV_SERIAL}/${NEW_SERIAL}/" "${IFILE}"

printf "Zone: %s [%d -> %d]\n" "${IFILE}" "${PREV_SERIAL}" "${NEW_SERIAL}"


## 실행 테스트
$ ./my-dns-zone-serial-increase.sh  /var/cache/bind/mydomain.kr.zone

 

 

 

 

 

 

 


 

반응형
작성일: 2024년 3월 23일

 

그 동안 키보드를 살 때는 애플 제품을 리뷰해주는 유명 유튜버의 키보드 리뷰를 보고 키보드를 구입했다.

맥북, 맥미니가 대중적이지 않을 때는 맥북과 키배열이 호환되는 제품을 찾기가 어려워서 유튜버의 리뷰를 보고 구입했었다.

(그래봐야 결국 구입하는 것은 KeyChron 계열의 키보드 ㅠㅠ)

 

이제는 대부분의 키보드가 "Windows/Mac" 전환 스위치를 지원하니까 유튜브 리뷰를 보면서 macOS 호환 키보드를 찾을 필요가 없어졌다.

그냥 키보드를 타건해보고 마음에 드는 키감을 찾아서 구입하면 된다.

 

오늘 큰 마음을 먹고, 멀고 먼 용산전자상가에 있는 타건샵 '구산컴넷'을 갔다.

(운전하면서 가다가 에너지 다 썼다 ㅠㅠ 멀어도 너무 멀어 ㅠㅠ)

 

구산컴넷 위치 (선인상가 21동 2층)

 

 

'용산전자상가 제1공영주차장'에 주차를 하고, 선인상가 21동으로 입장.

토요일이라서 대부분 매장이 문을 닫아서 빌딩 내부가 어둡다.

선인상가 21동 2층으로 올라가니, 구산컴넷 매장(153호)에 사람이 많았다.

그냥 사람이 많은 정도를 넘어서 매장 내부로 입장을 못할 정도로 많았다.

와! 이렇게 사람이 많을 수 있나?

 

2~5만원 대의 키보드가 진열된 부분에는 기다리지 않고 키보드를 타건해볼 수 있었다.

그러나 12~19만원 정도의 제품이 진열된 쪽은 한참 기다려야 키보드 1개를 타건해볼 수 있었다.

그렇게 100개 정도 되는 키보드를 하나하나 쳐보고, 내 마음에 드는 제품을 3개로 좁혔다.

그리고 3개 키보드를 왔다갔다 타건해보면서 나에게 맞는 키보드를 찾아봤다.

선택하기 어려웠다.

자리를 옮겨서 왔다갔다 할때마다 내 앞에 다른 사람이 타건하는 것이 끝날 때까지 기다려야 해서

그 시간에 이전 타건했던 제품의 느낌이 기억에서 사라졌다 ㅠㅠ

 

내가 고른 3개의 기계식 키보드는 공통점이 있다.

- 키압이 35g~38g (즉, 살살~ 물 흐르듯 타이핑하는 나에게는 이런 키압이 딱 좋다)

- "따각따각~" "또각또각~" 하는 음이 아닌 "드드드~" 이런 느낌이 나는 키보드

 

결국 마지막에 선택한 제품은 '한성 TFX GTO Wireless 38g 백축'을 골랐다.

색상은 Santorini.  아주 시원하고 산뜻한 색상이다. ㅎㅎ

 

100개의 키보드를 직접 내 손으로 쳐보고 하나하나 키를 누르는 느낌을 비교하면서 구입하니까

만족도가 아주 높다.

 

인터넷으로 구입하는 가격이나 구산컴넷에서 구입하는 가격이나 똑같다.
그러니까 직접 가서 타건을 해보고 나에게 딱 맞는 키보드를 구입하는 것을 추천 !!!
그리고 배송을 기다리지 않고 바로 제품을 구할 수 있다는 것도 큰 장점 ^^

 

 

 

아래 사진은 오늘 매장에서 둘러보면서 찍은 것.

 

만약 15~20만원 정도 소비할 생각으로 왔다면, 
아래 사진에서 "빨간색 별표"로 표시한 진열대로 직행하는 것을 추천한다.
(시간 낭비를 안 하기 위해서)

 

구산컴넷 매장 내부

 

다른 진열대는 2~9만원대 키보드를 진열했는데, 아마 기계식 키보드를 수년간 써온 사람이라면 만족할만한 키감이 없을 것이다.

그냥 바로 "빨간색 별표" 표시한 진열대로 쭉 직행하는게 좋다.

그리고 저기에 사람들이 대부분 몰려있다.

 

싼 키보드는 매장의 외곽에 배치하고,
비싼 키보드는 매장의 안쪽에 배치한
사장님의 치밀한 판매 전략을 느낄 수 있었다 ^^

 

 

구산컴넷 매장 (복도에서 바라본 매장 모습)

 

 

예쁜 마우스, 독특한 마우스도 많았다.

 

다양한 마우스

 

 

 

구산컴넷에 도착해서 키보드 타건해보고, 구입하기까지 대략 30분 정도 시간을 쓴 것 같다.

토요일 점심 때라서 사람이 많아서 제품마다 타건할 때마다 10~20초 정도씩 기다려야 했던 탓에 시간을 많이 썼다.

아마 평일 한가한 시간에 갔거나 토요일 아침 일찍 간다면 10분 정도 전체 제품을 다 타건해보고 바로 제품을 구입하지 않았을까 생각해본다.

 

 


 

반응형
작성일: 2024년 3월 23일

 

키보드 타건샵으로 유명한 구산컴넷에 가서 키보드를 하나 구입하려고 용산 전자 상가(선인상가)에 갔다.

버스를 타고 갈까, 자가용으로 갈까 고민하다가

용산에서 집으로 돌아오는 길에 짐을 들고 버스 타기가 싫어서 결국은 자가용으로 갔다.

 

나는 선인상가 21동 앞 '용산전자상가 제1공영주차장'에 주차했다.

 

 

용산전자상가 제1공영주차장

 

 

https://place.map.kakao.com/8015100

 

용산전자상가 제1공영주차장

서울 용산구 한강로3가 23-1

place.map.kakao.com

 

 

'용산전자상가 제1공영주차장'에 주차하고 5분 정도 걸어서 '구산컴넷'에 도착 !

키보드를 100개쯤 타건해보고 제일 마음에 드는 키보드를 구입했다.

 

참고로, 구산컴넷에 토요일 오후 2시에 갔는데 인기 제품을 타건하려면 기다려야 할 정도로 사람이 많다.
12~16만원 사이의 기계식 키보드가 진열된 쪽은 타건하려면 많이 기다려야 했다.
반면, 40만원 대의 커스텀 키보드가 진열된 쪽흔 기다리지 않고 타건이 가능하다.

 

그리고 길 건너편 용산아이파크몰에 가서 커피, 와플 등 먹고 다시 공영주차자장으로 돌아오니 

대략 2시간 정도 시간이 흘렀다.

 

주차 요금이 6,000원 정도 나왔겠거니 생각하고 주차 정산을 하는데

키오스크 화면에 "전기차 할인"이라고 50% 요금만 내면 된단다.

용산 시내 한복판에 2시간 주차를 했는데 주차 요금이 3,000원이라니... ㅎㅎㅎ

 

오늘 구산컴넷과 용산아이파크몰에서 쓴 돈을 생각해보면 3천원이나 6천원이나 별반 큰 차이는 없는데...

주차요금을 50% 할인 받으니까 그냥 기분은 좋다. ^^

 

 


 

반응형
작성일: 2024년 3월 19일

 

 

내 인생 첫번째 회사에 입사

2000년 9월, 한국에서 가장 핫한 IT 회사 중 하나에 입사했다.

올해로 밥벌이를 한지 24년이 되었다.

처음 회사에서 일할 때는 10년 정도 프로그래밍하고, 소프트웨어 설계하는 경험이 누적되다보면 자연스럽게 상당한 지식이 생길 것 같았다.

한 회사, 한 부서에서만 일했을 때는 이런 생각이 어느 정도 맞았다.

3년 정도 한 부서에서 IT 시스템 개발하고, 배포, 운영까지 해보니까 내가 제일 많이 알고, 깊게 알고, 제일 능력자처럼 보였다.

 

내 인생 두번째 회사에 입사

그런데 4년차에 회사를 한번 옮겨보니, 모든 것이 초기화되었다.

내가 제일 능력자인 줄 알았는데, 새로운 조직에서 나는 스스로 제대로 할 수 있는게 없었다.

그렇게 또 1년, 2년이 흐르니 내가 제일 잘난 놈이라고 생각되는 시기가 왔다.

이런 오만한 생각으로 6년을 한 부서해서 일했다.

그리고 이 시기에 과로가 누적되기도 했다.

S** 통신사의 시스템 업그레이드는 항상 새벽 2~4시 사이에 진행하는데,

엔지니어가 데이터센터(운영국사) 현장에서 주도적으로 작업하므로 내가 직접 개입할 일은 없지만

시스템 업그레이드 작업 중에 이슈가 발생하면 새벽 4시를 전후로 전화가 왔다.

엔지니어 입장에서는 예정된 작업 시간의 끝 무렵에 전화를 한 것이기 때문에 목소리에서 다급함이 느껴진다.

나는 집에서 졸린 눈을 비벼가며, 데이터센터의 운영 장비에 로그인해서 로그 내용과 설정 파일들의 이상 유무를 한번 더 점검해주곤 했는데

이것이 나의 건강을 조금씩 갉아먹고 있었나보다.

 

 

처음으로 마주한 건강의 무너짐.
천식과 마주하다.

 

그리고 모든 일이 그렇듯, 개발 프로젝트 일정도 빡빡해서 그 일정을 맞추느라 늦게 퇴근 하는 날이 많았다. (22~24시 퇴근이 많았음)

이런 밤/낮의 경계가 없는 생활을 5년쯤 했을 무렵, 천식이라는 병이 찾아왔다.

기관지가 쪼여오고 숨을 쉴 수 없는 생활이 지속되었고, 그래서 아침에 일어나면 내과 병원을 찾는 것이 일상이 되었다.

다행인 것은 매일 꾸준하게 호흡기 치료를 하고, 흡입기를 항상 들고 다닌 덕에 2년이 지날 무렵부터는 내복약없이 흡입기만 있으면 될 정도로 천식 증세가 호전되었다.

한번 건강을 잃고 나니, 모든 일을 대할 때 과로하지 않기 위해 조심하게 되었다.

나는 외벌이이고, 자식도 있고... 그래서 적어도 앞으로 15년은 더 경제활동을 해야 하니까, 건강 유지하면서 꾸준하게 페이스를 내자고 다짐하게 되었다.

 

 

3번째 조직으로 이동.

나는 5개월간 Network Procotol Stack만 개발하는 팀에 있었던 적이 있다.

그 팀에 합류하고 한달도 안 지나서 부서장과 마찰이 생겼다.

부서장과 문제의 근원은 아래와 같다.

팀장이 Network Procotol Stack을 개발하는 부서의 장인데, L2~L3 Network에 지식이 없었다.
그러다보니 내가 Layer2 ~ 3에서 동작하게 만든 구현체를 이해하지 못 했다.
설계 내용을 설명하거나, 소스 코드 리뷰를 할 때나, 상용 서비스에서 이슈가 생겼을 때 원인 분석 내용을 설명할 때 등
팀장은 어느 것 하나 이해를 못 했다.
팀장 본인이 이해를 못 하니 짜증이 났나보다. 언성이 높아지고 회의실에서 단둘이 있을 때는 폭력적인 행동까지 보였다.

 

내 마음이 너무 지쳐있었던 터라 내가 회사를 떠나는 것이 좋겠다는 판단이 섰다.

그래서 사직서를 내기로 하고, 임원에게 퇴사 면담을 했다.

임원에게 알린 나의 퇴사 사유는 "몸과 마음이 지쳐서 휴식이 필요함"이었다.

그런데...

 

 

 

4번째 조직으로 이동.

 

모든 Mobile network의 근간이 IP network으로 바뀌면서 음성 전화도 IMS의 일부 서비스인 VoIP(VoLTE)로 바뀌었다.

VoIP 분야는 개발 히스토리가 길어서 내가 VoIP 개발 부서로 갔을 때는 이미 대부분의 기능이 구현이 된 상태였다.

나는 기본 IMS 서비스에 Rich communication service를 추가로 기획/개발하는 업무를 맡았다.

새로운 세상을 열어간다는 생각에 일이 재미있었고, 새로운 ICT 기반 지식을 스터디하는 것도 흥미로웠다.

그렇게 1년 6개월을 밤/낮 구분없이 일하면서 보냈다.

 

세상이 또 한번 크게 변하려고 한다.
4G LTE, 스마트폰, 클라우드 컴퓨팅, AI, Machine Learning, Deep Learning ...

 

 

매년 SW 개발 프로젝트는 조금씩 바뀌었지만 큰틀에서는 변화가 크진 않았다.

그러다가 2010년 쯤 되니까, 세상이 또 한번 바뀌려고 꿈틀대는게 보였다.

클라우드 관련 기반 기술, 모바일 메신저, 3.5G -> 4G(LTE), ...

 

 

 

 

##  이하.. 나중에 추가로 작성...

 

 

 

 

 

 

 

 

 

 

 

 


 

반응형
작성일: 2024년 4월 11일

 

새로 만든 Web 서비스를 운영하기 위해서 인터넷 도메인을 등록했다.

"YesNIC.com" 에서 .KR 도메인을 등록했고,

새로 등록한 Domain name에 맞는 서버 인증서(Certificate)도 발급했다.

 

SSL Certificate(인증서)을 발급하는 순서를 간단하게 정리하면 이렇다. 

  1. "https://yesnic.com/" 에서 인터넷 도메인 등록하기 (예: sejong.kr)
  2. "https://www.sslcert.co.kr/" 에서 *.sejong.kr 도메인을 위한 서버 보안 인증서 발급 요청
    1. DNS, Email 인증 방식 중에서 DNS 인증 방식으로 Domain name 소유자 임을 증명.
    2. Domain name 소유자 증명이 끝나면, 바로 내 Certificate과 Root/Chain Certificate 파일이 압축 파일 1개로 묶여서 Email 첨부로 수신됨.
  3. Email로 수신한 Certificate을 Web server에 등록하기

 

자세한 발급 절차는 아래 Web docs를 참고하면 좋다.

    https://www.sslcert.co.kr/supports/usage

 

 

SSL Certificate(인증서) 발급 비용

인증서 용도 및 도메인 범위에 따라 다르지만, 나는 Wildcard 도메인 옵션을 포함해서 10만원에 발급했다.

인증서 발급 기관, 기관 인증 범위, 도메인 범위에 따른 자세한 금액은 아래 문서를 참고하길~

    https://www.sslcert.co.kr/products

    https://www.sslcert.co.kr/products/wildcard-ssl-certificate-comparison

 

SSL Certificate 발급 심사 수준에 따른 Level 

DV(Domain Validation)

인터넷 도메인 네임의 소유 여부를 검사하고 Certificate을 발급한다.

해당 웹 사이트를 운영하는 회사의 실존 여부를 확인하지 않고 Certificate을 발급하기 때문에 신뢰성이 낮다.

OV(Organization Validation)

사업의 적법성을 검증하고 인터넷 도메인 네임의 소유 여부를 확인하고 Certificate을 발급한다.

이 OV Level의 Certificate을 설치한 Web site는 믿고 거래할 수 있다.

EV(Extended Validation)

Certificate 발급 기관(CA)이 까다롭게 기업 실체를 확인하고 EV Level의 Certificate을 발급한다.

 

지식 공유하는 수준으로 개인 웹 사이트를 운영하는 경우라면, DV Level의 Certificate도 충분하다.
그러나 기업 홍보, 신뢰성이 필요한 기관의 웹 사이트라면 OV Level의 Certificate이 있어야 Client가 믿고 접속할 수 있을 것이다.

 

 


 

 

Apache2 웹 서버에 SSL 인증서 설치하기

 

 

발급 받은 인증서 파일을 Apache2 Web Server에 복사

인증서 관련 파일을 Apache2 Web Server에 복사한다. (아래와 같은 Path에 복사)

파일 종류 파일 경로
CA Root Chain 통합 파일 /etc/apache2/ssl.crt/root-chain-bundle.pem
SSL Certificate 파일 /etc/ssl/certs/_wildcard_.my-domain.kr_20240312.crt.pem
SSL Sertificate Key 파일 /etc/ssl/private/_wildcard_.my-domain.kr_20240312.key.pem

 

mod_ssl 모듈을 활성화

아래 a2enmod 명령을 실행하여 mod_ssl 모듈을 활성화한다.

$ a2enmod ssl

$ cd /etc/apache2/sites-enabled

$ ln -s ../sites-available/default-ssl.conf

 

 

SSL 관련 설정을 추가

$ cd /etc/apache2/sites-enabled

$ vi default-ssl.conf

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin sejong-kanadaramabara-king@gmail.com
                ServerName my-domain.kr
                ServerAlias my-domain.kr
                SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
                
                ... 중간 생략 ...
                
                SSLEngine on
                
                ... 중간 생략 ...
                
                SSLCertificateFile      /etc/ssl/certs/_wildcard_.my-domain.kr_20240312.crt.pem
                SSLCertificateKeyFile   /etc/ssl/private/_wildcard_.my-domain.kr_20240312.key.pem

... 중간 생략 ...

        </VirtualHost>
</IfModule>

 

 

Apache2 Web Server를 재기동

$ systemctl restart apache2

$ systemctl status apache2

$ netstat -anp | grep apache2
tcp6       0      0 :::80                   :::*                    LISTEN      369206/apache2
tcp6       0      0 :::443                  :::*                    LISTEN      369206/apache2

 

위와 같이 TCP 443 포트를 LISTEN하고 있으면 정상적으로 SSL 적용된 것이다.

Web browser를 이용해서 https://my-domain.kr 과 같은 주소로 접속하면 보안 경고 없이 웹 페이지가 보일 것이다.

 


 

반응형
작성일: 2024년 3월 13일

 

 

CLI 명령 환경 vs. GUI  환경 비교

QEMU/KVM이 돌아가는 Baremetal machine(또는 Host machine)이 GNOME 같은 GUI Desktop 환경이 아닌 경우에는

  1)  QEMU/KVM 서버에 SSH 연결해서

  2)  터미널에서 virsh 명령을 이용해서 VM instance를 기동, 종료, 조회 작업을 해야 한다.

 

virsh CLI 명령에 익숙해지면 어려운 점은 없는데, CPU Memory 통계를 보거나 각종 VM instance의 가상 HW 리소스를 볼 때는

GUI 환경의 Virtual Machine Manager가 편한다.

 

간단하게 아래 화면을 비교해보자 !   어느 것이 더 사용하기 편하겠는가?

 

GUI 환경의 Virtual Machine Manager vs.&nbsp; 터미널 환경의 virsh 명령

 

 


 

Ubuntu 22.04에 Virtual Machine Manager(virt-manager)를 설치하는 절차

 

 

준비 작업: SSH 접속 가능 여부 확인 (필수)

아래와 같이 QEMU/KVM이 설치된 서버에 SSH 접속이 되는지 꼭 확인해야 한다.

아래  SSH 접속에서 중요한 점은 "list of known hosts"에 [my-host.com]을 추가하는 과정이다.

SSH 접속만 잘 된다면, "list of know hosts"에 my-host.com이 잘 추가되었다고 생각하면 된다.

 

[My-PC] $ ssh -p 22678 root@my-host.com

The authenticity of host '[my-host.com]:22678 ([233.52.11.184]:22678)' can't be established.
ED25519 key fingerprint is SHA256:YBk..........................Kg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[my-host.com]:22678' (ED25519) to the list of known hosts.

[my-host.com] $

 

 

Virtual Machine Manager 원격 접속 설정하기

Virtual Machine Manager의 원격 접속을 설정하는 방법은 아래와 같다.

(그냥 예제 화면을 보면서 따라하면 된다)

 

아래 [ Virtual Machine Manager ] 화면에서 [ File ] -> [ Add Connection... ] 메뉴를 선택한다.

 

 

 

[ Add Connection ] 창이 열리면, 각 설정 항목에 값을 입력한다.

  - Hypervisor: QEMU/KVM 을 입력  (특별한 경우가 아니라면, 이 값을 선택하자)

  - Username:  root   (특별한 경우가 아니라면, root 계정을 사용하자)

  - Hostname:  my-host.com:22678  (각자의 인터넷 주소를 사용하자. 왼쪽 22678은 SSH 포트 번호를 의미한다.)

 

 

 

위 화면에서 설정이 끝나면, [ Connect ] 버튼을 누른다.

아래와 같이 원격지 Host machine의 QEMU(KVM)에 연결된 것을 볼 수 있을 것이다.

 

 

 

 

초기 설정에서 주의할 점  (FAQ)

만약 [Virtual Machine Manager]가 QEMU/KVM 서버로 Connect 실패한다면, 

위 "준비 작업"에서 설명한 서버 쪽에 SSH 접속을 한번 해주어야 한다.

SSH 터미널을 열 때, 경고 메시지가 한번 나오는데 여기서 Yes를 입력해주어야 위 GUI가 잘 연결된다.

 

.

.

.

.

.


 

 

macOS에 Virtual Machine Manager(virt-manager)를 설치하는 절차

 

 

대부분 설정하는 과정은 Ubuntu 22.04와 macOS가 비슷하고,
설치하는 명령(brew vs. apt)만 다르다.
따라서 Ubuntu 22.04에서 동일하게 설정했던 내용은 생략하고, 다른 점만 기술하겠다.

 

 

준비 작업: SSH 접속 가능 여부 확인 (필수)

아래와 같이 내 Macbook(또는 Mac Mini)에서 QEMU/KVM이 설치된 서버에 SSH 접속이 되는지 꼭 확인해야 한다.

아래  SSH 접속에서 중요한 점은 "list of known hosts"에 [my-host.com]을 추가하는 과정이다.

SSH 접속만 잘 된다면, "list of know hosts"에 my-host.com이 잘 추가되었다고 생각하면 된다.

 

[My-Macbook] $ ssh -p 22678 root@my-host.com

The authenticity of host '[my-host.com]:22678 ([233.52.11.184]:22678)' can't be established.
ED25519 key fingerprint is SHA256:YBk..........................Kg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[my-host.com]:22678' (ED25519) to the list of known hosts.

[my-host.com] $

 

 

virt-manager 설치하기

참고 매뉴얼: https://formulae.brew.sh/formula/virt-manager

$ brew install virt-manager

 

 

virt-manager 기동하기 (실행하기)

Ubuntu 22.04와 가장 크게 다른 점이 이 부분이다.

Ubuntu 22.04에서는 [Virtual Machine Manager] 실행 아이콘을 찾아서 클릭하면 virt-manager 프로세스가 기동되지만,

macOS에서는 아래와 같이 옵션을 붙여서 실행해줘야 한다.

$ virt-manager -c "qemu:///session" --no-fork

 

아래와 같이 [Virtual Machine Manager]가 구동될 것이다.

 

macOS에서 구동된 Virtual Machine Manager

 

 

참고: 나머지 virt-manager GUI에서 QEMU/KVM 원격 접속 설정하는 절차는 Ubuntu 22.04와 동일하므로 생략함.
         원격 접속 설정까지 마무리하면, 아래와 같이 전체 VM instance list가 보인다.

 

 

macOS에서 구동된 Virtual Machine Manager

 


 

반응형

 

작성일: 2024년 3월 7일

 

 

관련 YouTube 영상 추천

인터넷 암시장 다크 웹 시스템 디자인 | 토르(TOR) 브라우저 작동 원리

https://www.youtube.com/watch?v=-5Y6Sbyx3-w  

 

토르 브라우저에 대한 10가지 사실 / 토르, 양파다?

https://www.youtube.com/watch?v=69HNVF4oyOM

 

토르 브라우저의 모든 것 (feat. 동작원리, 딥웹/다크웹, 완전한 익명성)

https://www.youtube.com/watch?v=-5Y6Sbyx3-w

 

 

 

TOR Node List - Full & Detailed

Exit nodes, All nodes 를 모두 조회할 수 있는 웹 사이트.

https://www.dan.me.uk/tornodes

 

TOR Metrics

https://metrics.torproject.org/

 

 

 

 

 

 

 

 

 

 

 

 


 

반응형
작성일: 2024년 3월 1일

 

 

 

1988년 12월 - 천안에서 서울로 가는 기차 안에서

초등학교 겨울 방학이 시작되었다. 그리고 서울시 영등포에 사는 친척집에 놀러가는 날이다.

시골에 살다보니 기차를 탈 일이 별로 없는데, 이날 기차를 타면서 담배 냄새 때문에 힘들었다.

기차 객실 차량과 차량 사이의 연결 부위에서 담배를 피는 아저씨들이 몇몇 있었고,

이들이 피는 담배 연기와 냄새가 객실 출입문이 열릴 때마다 객실 내부로 들어왔다.

초등학교 꼬맹이가 보기에 이 모습이 많이 싫었나보다.

내가 나중에 커서 힘있는 사람이 되면, 이 세상에서 담배를 없애겠다

 

영등포역에 도착할 때까지 이런 생각을 했었다.

 

 

2001년 어느 날 - 서울시 테헤란로, 어느 고층 빌딩 사무실 내부

2001년, 나는 학교를 다니면서 주 1~2일 정도 테헤란로에 있는 잘 나가는 IT 회사에서 일하고 있었다.

오후 6시쯤, 나는 코딩에 집중하고 있었고 어디선가 타는 냄새가 났다.

엇, 빌딩에 불이 났나? 빨리 대피해야겠다.

 

나는 이렇게 생각하면서 옆자리의 동료들과 멀리 있는 팀장님에게 

타는 냄새가 나는데 빌딩에 불이 난 것 같아요. 빨리 건물 밖으로 나가야겠어요 !

 

라고 말했다.

그런데, 팀장님이 파티션 위로 얼굴을 빼꼼히 내밀면서, 본인의 모습을 보여주었다.

팀장님 입에 담배가 물려있었다 ㅠㅠ

나는 그때 2가지 측면에서 놀랐다.

  - 사무실에서 흡연하다니 !!!

  - 그 당시에 팀장님은 출산한지 몇달 안 된, 그리고 아기한테 수유를 하고 있는 여성 팀장이었다.

     (내가 이것을 왜 알고 있냐면, 팀장님은 쉴 때마다 휴게실에 가서 모유 수축기로 젖을 짜고 있던 것을 알고 있기에...)

 

사무실에서 흡연이 가능했던 시절 ㅠㅠ

사무실 새내기였던 나는 그런 것도 모르고, 빌딩 화재라고 대피하라고 소리를 질렀으니... ㅠㅠ

 

2002년 1월 - Manly Beach, Sydney, Austrailia

학생 때, Sydney에 어학연수 겸 여행을 갔었다.

그때 영국계 백인 가족이 사는 집에서 하숙을 했었는데, 하숙집 아저씨는 내가 한국인이라는 것을 몰랐었다.

아마 나를 일본인으로 알고 있었던 것 같다. (가끔 나한테 일본에 관한 우호적인 얘기를 해서...)

따뜻한 햇살이 내리쬐는 주말에 그 하숙집 가족과 같이 Sydney Olympic Park로 소풍을 갔었는데,

하숙집 백인 아저씨가 자동차 트렁크에서 접이식 킥보드를 꺼내서 아들 딸 꼬맹이가 타기 좋게 사이즈 조정을 하고 있었다.

그런데 킥보드가 뻑뻑하고 뭔가 원하는 대로 사이즈 조절이 안 되니까 무의식 중에 이런 말을 내뱉었다.

 "This product is probably made in Korea. ... (그리고 약간의 욕을 좀 섞어서 신경질적으로 말함~~~)"

 

내 앞에서 한국에 대한 욕을 하다니... ㅠㅠ

피가 거꾸로 솟는 느낌이었다.

이래서 외국에서 살면, 모든 사람이 애국자가 된다고 하는건가... ㅠㅠ

이렇게 투덜거리는 이 백인 아저씨 집의 DVD, Video Player, TV 등 대부분은 한국의 가전회사 LG꺼였다.

심지어 자동차에 장착된 타이어가 "Hankook Tire"였다.

이 백인 아저씨는 LG, 삼성, Hankko Tire가 한국 기업이라는 것도 모르고 있다.

이때 알았다. 외국인은 삼성, LG, 현대차가 만든 제품을 구입하면서 어느 나라의 회사가 만든 것인지 관심이 없었다.


이때, 나의 하숙집 메이트는 아르헨티나에서 온 고등학생이었다.

내가 옆에서 보이게 이 아르헨티나 학생에게 "축구"가 우주의 전부인 것처럼 보였다.

입만 열면, 축구 얘기만 한다.

나한테 물어보는 것도

"너네 나라의 유명한 축구 선수는 누구냐?"
"한국의 축구 리그는 어떠냐?"

 

이런 질문들 뿐...

이 학생과 헤어지고 10년이 흐른 뒤, "메시" 선수가 등장한 것을 보니... 아르헨티나 학생들이 왜 축구에 미쳐있는지 알 수 있었다.

그래.. 너희들은 전 우주의 기운을 끌어 모아서 축구에 몰빵하는구나.
그러니까 이렇게 월드 스타가 나올 수 밖에... ^^

 

 

 

+ Recent posts