반응형
작성일: 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년이 흐른 뒤, "메시" 선수가 등장한 것을 보니... 아르헨티나 학생들이 왜 축구에 미쳐있는지 알 수 있었다.

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

 

 

 

반응형

 

작성일: 2024년 2월 22일

 

함박눈이 내리는 날에 과천 서울랜드 동문주차장 또는 과천 국립현대미술관으로 드라이브를 가보자 !

 

도심에서 10분 정도 벗어난 길인데, 가는 길이 숲속 오솔길이라서 눈이 즐거워진다.

 

 

아래 사진보다 훨씬 실제 풍경이 좋다.

밤에 스마트폰으로 사진을 찍어서 풍경을 잘 담을 수 없는 것이 아쉽다.

 

 

 

 

 


 

반응형
테스트한 날짜: 2024년 2월 20일

 

 

잠깐 !!
PPTP Server 구축하기 전에 PPTP Client 설정 및 터널 생성하는 법을 알고 싶다면 아래 문서를 참고 !

 

       https://andrewpage.tistory.com/257

 

 

PPTP 패키지 설치

$ sudo  apt install pptpd

 

 

PPTP 서버 설정

##
## Tunnel Interface에 할당할 IP address를 설정한다.
##   예를 들어, PPTP server는 ppp0 tunnel interface에 10.1.0.1 주소를 할당.
##            PPTP client는 ppp0 tunnel interface에 10.1.0.100 주소를 할당.
##

$ cat /etc/pptpd.conf
... 중간 생략 ...

localip 10.1.0.1
remoteip 10.1.0.100-130

... 중간 생략 ...


##
## PPTP client에 접속 요청할 때, PPTP server가 아래의 network 구성 정보를 client에게 전달하도록 함.
## mtu 값은 실제 physical NIC의 mtu 값보다 대략 60~100 bytes 정도 작게 설정해야
## tunnel session을 통해서 IP 패킷이 전송될 때, IP 패킷의 꼬리 부분이 짤리는 현상이 없다.
## 예를 들어서, physical NIC의 MTU 값이 1500 이라고 가정해보면
##   PPTP tunnel interface의 MTU는 1400 정도 되어야 IP packet이 버려지지 않고 전송된다.
## 만약 실수로 tunnel mtu를 1500으로 설정하면, 1500 byte 짜리 IP packet이 전송되려 할 것이고
## 이 때 IP packet의 뒷 부분 60~100 bytes 정도가 짤리는 현상이 발생할 것이다.
##

$ cat /etc/ppp/pptpd-options
... 중간 생략 ...

ms-dns 1.1.1.1
mtu 1400
mru 1400

default-asyncmap

... 중간 생략 ...


##
## 반드시 ip_forward를 enable 시켜야 한다.
## ip_forward 설정이 enable 되어야 한개의 Linux OS내부에서 Physical port 'ens3'와 ppp0 간에 패킷이 forward된다.
##

$  sudo sysctl -w net.ipv4.ip_forward=1

$  cat  /etc/sysctl.conf
... 중간 생략 ...

net.ipv4.ip_forward=1

... 중간 생략 ...

$

 

PPTP 계정 설정

PPTP client가 PPTP server에 접속할 때 사용할 Account 정보를 설정한다.

$ cat /etc/ppp/chap-secrets

# client        server  secret                  IP addresses
mynewid         pptpd   my!pass@word            *
gildong         pptpd   me!hahahoho@            *

 

 

PPTP 서비스 기동

$ systemctl start pptpd

$ systemctl enable pptpd

$ systemctl status pptpd
● pptpd.service - PoPToP Point to Point Tunneling Server
     Loaded: loaded (/lib/systemd/system/pptpd.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-02-20 22:35:17 KST; 34min ago
     
... 중간 생략 ...

 

 


PPTP Client를 이용하여 PPTP 터널 생성 테스트하기

Ubuntu OS에서 PPTP Client를 설정하는 방법은 아래 문서를 참고 !


     https://andrewpage.tistory.com/257

 

 

 


 

반응형
작성일: 2024년 2월 16일

 

VirtualBox가 돌아가는 Linux Baremetal 장비에 Desktop GUI를 사용할 수 없는 경우가 있다.

그런 경우는 VirtualBox CLI(명령행 인터페이스)를 이용하여 VM을 관리해야 한다.

VirtualBox CLI에 관해 자세한 내용을 확인하고 싶다면, 아래 Oracle VirtualBox 공식 메뉴얼을 읽는 것을 추천한다.

 

    [ 참고 문서: Controlling VirtualBox from the Command Line ]

    https://www.oracle.com/technical-resources/articles/it-infrastructure/admin-manage-vbox-cli.html

 

내가 자주 사용하는 VBoxManage CLI 명령만 추려 보면 아래와 같다.

 

##
## 전체 VM instance 리스트를 보기
##   (참고: Shutdown 상태의 VM까지 모두 보여준다.)
##
$ VBoxManage list vms
"MyExampleVM" {e8904c82-aaaa-bbbb-cccc-dddddbcb0f3}
"SejongVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f5}
"JeonjoVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f7}


$ VBoxManage list vms -l   ## 상세 정보를 보기
... 출력 내용 생략 ...

##
## 현재 동작하고 있는 전체 VM instance 리스트를 보기
##
$ VBoxManage list runningvms
"MyExampleVM" {e8904c82-aaaa-bbbb-cccc-dddddbcb0f3}
"SejongVM"    {e8904c82-aaaa-bbbb-cccc-dddddbcb0f5}


##
## 특정 VM instance에 대한 상세한 정보를 보기
##
$ VBoxManage showvminfo MyExampleVM


##
## 새로운 VM instance 생성하기
##
$ VBoxManage list ostypes    ## VirtualBox가 제공하는 OS Type 목록을 보여준다.
ID:          OpenSUSE_64
Description: openSUSE (64-bit)
Family ID:   Linux
Family Desc: Linux
64 bit:      true

ID:          Ubuntu_64
Description: Ubuntu (64-bit)
Family ID:   Linux
Family Desc: Linux
64 bit:      true
... 이하 생략 ...


$ VBoxManage createvm  --name MyNewUbuntuVM --ostype Ubuntu_64 --register
... 출력 내용 생략 ...


##
## VM Properties 설정하기
##
$ VBoxManage modifyvm  MyNewUbuntuVM --cpus 2 --memory 2048 --vram 12


##
## Virtual Network Adapter 설정하기
##
$ VBoxManage modifyvm  MyNewUbuntuVM --nic1 bridged --bridgeadapter1 eth0


##
## VM instance를 구동하기
##
$ VBoxManage startvm  MyNewUbuntuVM
또는
$ VBoxManage startvm  MyNewUbuntuVM --type headless   ## 화면으로 출력되는게 없도록 VM 구동


##
## VM instance를 강제 종료하기
##
$ VBoxManage controlvm  MyNewUbuntuVM  poweroff

 

 

 


 

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

 

Oracle Cloud Infra(OCI)에서 VM instance를 생성하는 것은 Web Console에서 권고값을 따라

"다음", "OK" 같은 버튼만 누르면 쉽게 처리할 수 있다.

 

그런데 이렇게 생성한 VM instance에 SSH 접속하려고 하면, Oracle 매뉴얼처럼 수행했을 때 잘 안 된다.

SSH 접속이 안 되는 원인이 OS Image 마다 조금 달랐다.

 

참고: VM instance에 기본 로그인 계정 설정하기

    Oracle OCI Web Console에서 VM instance에 console 화면에 접근하려면,
    VM instance를 생성하는 시점에 cloud-init 스크립트에 Login 계정을 설정해야 한다. (ID, Password 등)
    아래 블로그에 자세한 방법과 예제가 있다. 예제를 보고 따라하면 된다.

    https://andrewpage.tistory.com/171

 

 

Case: "Oracle Linux 8 Image"를 이용하여 VM Instance를 만든 경우

 방화벽이 활성화되어 있어서 Source IP address가 동일 Subnet이 아닌 경우 SSH 접속이 막고 있다.

아래 명령을 수행해서 방화벽을 끄면 된다.

$ systemctl stop firewalld

$ systemctl disable firwalld

 

초기 작업을 위해 위와 같이 방화벽을 우선 끄고 SSH 접속하고, 어느 정도 Network과 관련한 설정을 변경하고 나면 

다시 firewalld 서비스를 활성화해야 한다. (보안을 위해서 꼭 잊지 말고 해야 한다)

 

 

Case: "Ubuntu 22.04 Image"를 이용하여 VM Instance를 만든 경우

Ubuntu 22.04 VM instance는 다행히 Ubuntu Firewall 서비스가 꺼져 있다.

그런데 Netfilter가 특정 몇개 Port를 제외하고 모두 Reject 하도록 설정되어 있다.

그러므로 Netfilter의 Rule을 조정할 필요가 있다. (아래 명령을 참고)

$ iptables -F

 

그리고 아래와 같이 iptables rule을 다시 구성했다. 

아래 스크립트 중에서 "FIXME" 라고 코멘트 추가한 부분을 참고하면 된다.

$ cat /etc/iptables/rules.v4

# CLOUD_IMG: This file was created/modified by the Cloud Image build process
# iptables configuration for Oracle Cloud Infrastructure

# See the Oracle-Provided Images section in the Oracle Cloud Infrastructure
# documentation for security impact of modifying or removing these rule

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [463:49013]
:InstanceServices - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp --sport 123 -j ACCEPT

## FIXME: Domain Name Server 접근을 허용하는 Rule 추가
-I INPUT -p udp -m udp --dport 53 -j ACCEPT

## FIXME: SSH 접속할 포트를 변경
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2022 -j ACCEPT 

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

... 이하 생략 ...

 

위와 같이 /etc/iptables/rules.v4 를 수정하고, 깔끔하게 VM instance를 Restart하고 SSH를 접속해보자~

잘 접속될 것이다. ^^

 


 

반응형
작성일:  2024년 2월 9일

 

 

MACVLAN 가상 네트워크 포트 만들기

일반적으로 물리 네트워크 포트 1개에는 MAC address 1개, IP address 1개를 설정해서 사용한다.

(본업으로 Network 장비를 개발, 운영하는 사람이 아니라면 이런 단순한 구성이 익숙할 듯)

그런데 물리 네트워크 포트 1개에 '마치 여러 개의 네트워크 포트가 있는 것처럼' 동작하게 만들어야 할 때가 있다.

예를 들어,

  - 물리 포트 eth0에 2개 이상의 MAC address를 설정

  - 물리 포트 eth0에 2개 이상의 IP address를 설정

위 2가지를 모두 지원하는 가상 포트 타입이 'MACVLAN'이다.

[참고: Hypervisor, Virtual Machine Manager 에서 VM이 사용할 NIC 포트를 Bridge 타입으로 설정하면 위와 같은 형상이 된다)

 

Bridge 모드의 MACVLAN 포트 동작 방식 (출처: Red Hat Developer Blog)

 

아래 예시 명령과 같이 따라해보면 바로 이해가 될 듯.

(명령을 실행했던 OS: Ubuntu 22.04)

 

## 물리 NIC 포트 'eth0'에 IP address 설정
ip address add 10.1.4.55/24  dev eth0

## 물리 포트 'eth0'에 가상 포트 'macvlan1'을 만들기
ip link   add   macvlan1 link eth0 type macvlan mode bridge

## network namespace 'net1' 만들기
ip netns  add   net1

## network namespace 'net1'에 가상 포트 'macvlan1'을 추가
ip link   set   macvlan1 netns net1

## 가상 포트 'macvlan1'을 활성화(up)하기
ip netns  exec  net1 ip link set dev macvlan1 up

## 가상 포트에 IP address를 설정
ip netns  exec  net1 ip address  add 10.1.4.51/24 dev macvlan1

## IP 통신이 잘 되는지 'ping test'하기
ip netns  exec  net1 /usr/bin/ping 10.1.4.56


## 테스트 종료, 가상 포트 'macvlan1' 지우기
ip netns  exec  net1 ip link del macvlan1

 

위 예시에서 'mode bridge'로 설정한 부분이 있는데, bridge 모드 외에도 아래와 같은 다양한 모드를 설정할 수 있다.

  - Private

  - VEPA

  - Bridge

  - Passthru

  - Source

위 5 가지 모드에 대한 자세한 설명은 이 문서(Redhat Blod)를 참고할 것!

 

추천 문서

Redhat / Linux interfaces for virtual networking (2018년 10월)

https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking

 

 

 

 

 

 

 


 

 

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

 

 

혈압

높은 혈압 진단 기준

수축기/이완기 혈압  130/85mmHg 이상

해결 방안

저염식 식사

정기적인 혈압 체크

 

혈당, 당뇨

높은 혈당 진단 기준

공복혈당 100mg/dl 이상

해결 방안

스트레스 줄이기

규칙적인 식습관

운동

정기적인 혈당 측정

 

중성 지방

높은 중성지방 진단 기준

150mg/dl 이상

해결 방안

술 먹지 않기 (금주)

고열량 식품 먹지 않기

탄산음료 줄이기

 

 

 

 

 

 

 

 

 

 

 

 


 

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

 

 

Ubuntu OS가 설치된 장비에 로그인하다보면 아래와 같이 'cannot change locale (en_US.UTF-8)' 에러 메시지가 출력되는가 있다.

 

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-87-generic x86_64)
Last login: Tue Jan 23 15:12:32 2024 from ...
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

 

 

아래와 같이 locales 패키지 설치하고, en_US.UTF-8 로케일 데이터를 생성하면 해결 !!

$ apt install locales
... 중간 생략 ...

##
## English locale 생성하기
##
$ locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

##
## 한글(Korean) locale 생성하기
##
$ locale-gen ko_KR.UTF-8

 

 


 

+ Recent posts