love_tolty의 등록된 링크

 love_tolty로 등록된 네이버 블로그 포스트 수는 177건입니다.

도커(Docker) 컨테이너로 ONOS 2.7버전 배포/설치/실행하기 [내부링크]

지난 포스팅에서는 Bazel이라는 빌드도구를 가지고 ONOS 소스파일을 직접 빌드하여 설치하는 방법을 포스팅했다. 해당 방식은 소스파일을 직접 수정하거나 자체 기능을 추가 개발하여 ONOS가 실행되는 호스트 PC에 가장 최적화된 형태로 실행 가능하다는 장점이 있지만 초기 빌드과정에서 시간이 많이 소요되고, 빌드환경 구축 또한 꽤 까다롭다는 단점이 있다. 또한 ONOS가 호스트 PC의 리소스를 그대로 사용하기 때문에 호스트 PC에 장애가 발생할 경우 실행중인 ONOS에도 영향을 준다는 문제점이 있다. 그래서 이번 포스팅에서는 컨테이너 실행환경을 제공하는 도커(Docker)를 가지고 호스트 PC와 리소스를 공유하지 않고 격리된 리소스 환경에서 ONOS 최신 배포판을 설치 실행하는 방법을 포스팅 정리해보겠다.! 그럼 포스팅 시작!! 1. ONOS 설치 요구사양 ONOS 컨테이너가 실행되는 PC의 요구사양의 경우, ONOS 공식 Wiki에서는 ONOS가 설치되는 PC의 최소 요구사양을 아래

Ubuntu22.04 LTS에 ONOS 2.7.0 최신 배포판 Bazel로 빌드하여 설치하기 [내부링크]

블로그 이용자들의 문의로 확인해본 결과, '23년 12월 기준, 현재 Ubuntu 20.04 LTS 버전 이상 OS 환경에서 ONOS 빌드 배포버전이 제대로 실행되지 않는 문제가 확인되었다. 빌드 배포판은 이미 빌드가 완료된 버전이기 때문에 ONOS 실행중 발생에러에 대한 직접적인 수정이 어렵다. 그래서 이번 포스팅에서는 번거롭지만 안정적으로 호스트에서 ONOS를 동작시키기 위해 직접 Bazel이라는 빌드도구를 활용하여 ONOS 최신버전인 2.7.0 소스파일을 빌드해 설치하고 CUI/GUI 환경으로 접속하는 포스팅을 진행해보겠다. 그럼 포스팅 시작!! 1.ONOS 빌드 환경 소개 ONOS 빌드 환경을 소개하겠다. ONOS 공식 Wiki에서는 ONOS가 설치되는 PC의 최소 요구사양을 아래 표와 같이 CPU 2 Core 이상, RAM 2GB이상, HDD 10GB 이상을 요구한다. 하지만 운영체제로 Ubuntu 22.04 LTS 환경에서 좀 더 쾌적하게 ONOS를 빌드 및 설치하기 위해

Ubuntu 버전 별 Ifupdown, Netplan을 활요한 유/무선 네트워크 연결방법 한번에 정리하기 [내부링크]

Ubuntu는 세계에서 가장 큰 범용성을 가지는 데비안 계열의 리눅스 운영체제이다. 이런 Ubuntu의 네트워크 설정방식은 각 버전 별로 조금씩 다른데, 17.10 버전 이전까지는 Ifupdown 네트워크 설정 도구를 지원했고, 17.10 버전 이상부터 현재 ('23년 11월 기준)22.04 LTS 버전까지는 Netplan 도구를 지원하고 있다. 이렇다 보니 가끔씩 구버전 Ubuntu 배포판을 사용할 일이 있으면 도무지 예전 네트워크 설정방식이 기억나지 않아 그냥 이참에 포스팅으로 간단히 정리해보려고 한다. 그럼 간단히 포스팅ㄱㄱㄱ!! 1. Ifupdown으로 유선 연결 설정(17.10 버전 이전) 먼저 Ifupdown 도구를 활용하여, 아래 그림과 같이 Ubuntu 16.04 버전이 설치된 PC를 유선 인터페이스 'eth0'을 통해 유무선공유기와 연결하고, 해당 인터페이스에는 IP주소 '192.168.0.2/24', GW주소는 공유기 주소 '192.168.0.1'로 설정하여 PC가

InfluxDB + Grafana + JMeter를 활용한 실시간 API 웹서버 부하테스트 모니터링 시스템 구축하기 [내부링크]

JMeter는 GUI 그리고 None-GUI(=CLI) 이렇게 2가지 실행 모드를 지원하는데, 이중 GUI 실행모드는 웹서버의 부하테스트 결과를 다양한 시각화 도구를 통해 다양한 그래프 방식으로 제공해준다. 다만 GUI 실행모드는 리소스 소모량이 크기 때문에 장시간 부하테스트를 진행한다면 공식적으로 Non-GUI모드를 권장하고 있다. 그래서 이번 포스팅에서는 효율적인 JMeter 부하테스트를 위해 None-GUI모드로 JMeter를 실행하더라도 오픈소스 시계열 데이터베이스인 InfluxDB와 오픈소스 데이터 시각화 도구인 Grafana를 활용하여 실시간 그래프 형식으로 부하테스트 결과를 확인할 수 있는 JMeter 모니터링 시스템을 구축해보고자 한다. 그럼 포스팅 시작! 1. 실습 구조 및 내용 소개 이번 실습에 활용되는 오픈소스 소프트웨어들은 아래 표와 같이 크게 Apache Http 서버, JMeter, InfluxDB 그리고 Grafana 이렇게 4가지이다. 오픈소스 SW 활용

JMeter를 Non-GUI 모드로 실행하여, REST API 서버 부하 테스트 및 결과 분석하기 [내부링크]

JMeter는 기본적으로 GUI 모드를 지원하며 이를 통한 직관적인 사용자 인터페이스 및 그래픽과 같은 가독성 높은 테스트 결과를 제공하지만, 해당 모드는 리소스 소모율이 높다는 단점이 있다. 대용량의 부하테스트를 한다면 오히려 Non-GUI 모드로 실행해 리소스 소모율을 최소한으로 줄이는 것이 낫다. 그래서 이번에는 테스트용 REST API 서버를 Apache 웹서버로 구축하고, 해당 서버를 대상으로 JMeter를 Non-GUI 모드(CLI 환경)로 실행해 API 요청에 대한 부하 테스트를 한번 진행해보겠다. 그럼 포스팅 시작! 1. 실습 구조 소개 이번 실습 구조는 아래 그림과 같이 사설 IP주소 '192.168.0.2'가 할당된 PC에 JMeter를 설치하고, 공인 IP주소 '221.130.20.221'이 할당된 PC에는 Apache와 PHP로 REST API 서버를 구축한다. 그리고 두 PC 모두 외부 인터넷망을 통해 서로 통신이 가능한 상태이다. 그리고 아래 그림과 같이 J

Ubuntu 22.04에 Apache JMeter 최신버전 설치 및 원격으로 GUI 실행하기 [내부링크]

Apache JMteter(이하 JMeter)는 API 서버를 대상으로 부하 및 성능 테스트를 지원하는 순수 JAVA 기반의 오픈소스 SW이다. 이름 그대로 Apache 오픈소스 라이선스를 따르며 누구나 자유롭게 수정 및 배포가 가능하다. 최근 해당 JMeter를 통해 특정 서비스 Server의 부하 및 성능 테스트를 하게되었다. 그래서 그냥 이참에 JMeter를 설치하고 터미널 환경에서 직접 부하테스트까지 하는 걸 한번 포스팅으로 정리해보고자 한다. 먼저 이번 포스팅에서는 Ubuntu 22.04 환경에 JMeter 5.6.2버전을 설치 하고 원격 터미널 접속상태에서 GUI 모드로 실행하는 방법까지 소개해보겠다. 포스팅 시작! 0. 패키지관리도구로 JMeter 한번에 설치하기 기본적으로 최신 Ubuntu 환경에서는 자체 패키지 관리도구인 apt-get을 가지고 아래와 같이 한줄의 명령어로 JAVA, JMeter 설치가 가능하다. $ sudo apt-get -y update && su

iPerf3로 시나리오 별 다양한 네트워크 성능(송수신 트래픽처리량, 지터, 데이터 손실율 등) 측정 가이드 [내부링크]

iPerf3는 L3 프로토콜인 TCP, UDP 뿐만아니라 PSTN 전송신호를 IP망에 전송할 때 사용하는 L4 프로토콜인 SCTP 환경에서도 대역폭(=데이터 처리량, Throughput), 지터(=네트워크 지연 시간의 변화) 등 다양한 네트워크 성능 측정을 지원한다. 그래서 이번 포스팅에서는 iPerf3를 활용한 다양한 네트워크 성능 측정 방법을 간단히 정리해 보겠다. 그럼 포스팅 시작!! 1. iPerf3 실습 구조 및 시나리오 이번 실습 구조는 아래 그림과 같이 내부 사설망(192.168.0.0/24)에 연결되어 IP주소 '192.168.0.3'이 할당된 iPerf 클라이언트에서, 외부 인터넷 망에 연결되어 공인 IP주소 '221.130.20.221'이 할당된 iPerf 서버를 대상으로 다양한 테스트 케이스 별 송/수신 트래픽처리량을 측정해보는 테스트를 진행한다. 테스트 시나리오는 아래와 같이 크게 6가지로 준비했으며 되도록이면 iPerf3에서 제공하는 옵션들을 다양하게 활용할

운영체제(Windows, Ubuntu) 별 iPerf3 설치 가이드 [내부링크]

iPerf는 'Internet Performance Working Group'이란 약어 이름 그대로 네트워크에 연결된 서버와 클라이언트 사이의 네트워크 성능을 측정하는 도구로써, 2015년 이후 3.X.X 대 버전이 배포되며 iPerf3라고 부른다. Windows, Linux, MacOS, 안드로이드, OpenBSD 등 다양한 운영체제에서 설치·운용이 가능한데 이번 포스팅에서는 Windows와 대표 Linux OS인 Ubuntu를 대상으로 다양한 iPerf3 설치방법을 한번 정리해보겠다. 그럼 포스팅 시작!! 1. iPerf3 설치 시스템 요구사항 iPerf3라는 프로그램 자체가 용량이 크거나 동작과정에서 많은 메모리를 소모하지는 않기 때문에, 크게 고사양을 요구하지는 않는다. 되도록이면 최소 아래 표에 나온 최소 스펙 이상을 만족하는 PC를 준비하자. iPerf 설치 PC사양 구분 본 포스팅 PC 사양 OS Windows, Linux 등 CPU Single Core Intel 혹은

dnsperf를 이용하여 bind9으로 구축한 DNS 서버 성능 측정하기 [내부링크]

'dnsperf'는 가장 기본적인 DNS 서버의 성능측정 시뮬레이션 도구로써, DNS 서버에 보내는...

GNS3 설치 및 Virtual Box 기반 GNS3 VM과 연동하여 실행하기 [내부링크]

우선 GNS3(Graphical Network Simulator 3)는 GUI를 지원하는 Python 기반 오픈소스 네트워크 시뮬레이터이다. CISCO의 IOS, ARISTA의 vEOS등 다양한 상용 네트워크 장비들의 네트워크 운영체제 환경을 지원하며 실제 장비들을 사용하지 않고도 매우 복잡한 네트워크 시뮬레이션이 가능하다. 윈도우/맥/리눅스를 모두 지원하며 2008년 최초 공개되 현재('23.08기준)는 2.2.42 버전이 배포중이다. 이번 포스팅에서는 GNS3 설치부터 환경구성까지만 간단히 정리해보며 이 포스팅부터 실제 시뮬레이션 테스트까지 진행해볼 계획이다. 그럼 포스팅 시작! 1. GNS3 설치 PC 준비하기 아래 표와 같이GNS3는 공식 배포사이트에 따르면 기본적으로 Windows, MAC, Linux 운영체제 환경에서 설치가 가능하며, CPU의 경우 2 Core이상에 가상화 기능을 지원해야 되고, RAM의 경우 최소 4GB 이상, HDD는 최소 80GB 이상 사양을 권장하

Native VLAN의 필요성/Native VLAN 설정 및 통신과정 분석/Native VLAN과 Default VLAN 관계 정리 [내부링크]

자! VLAN 관련 가장 마지막 포스팅이다. 지난 포스팅까지는 서로 다른 VLAN 간 통신을 지원하는 기술인 Inter-VLAN에 대한 구성방식 그리고 각 구성방식 별 통신과정까지 세부적으로 알아봤다면, 이번에는 Trunk Link를 통해 VLAN TAG없이 프레임을 전달할 수 있는 방식인 Native VLAN에 대해 왜 필요한지 그리고 그 통신과정까지 한번 살펴보겠다. 그럼 포스팅 시작!! 1. Native VLAN의 필요성 Native VLAN이 왜 필요한지에 대해 알아보려면 먼저 앞서 다뤘던 Trunk Link를 통한 통신과정에 대해 다시 한번 정리할 필요가 있다. 쉬운 설명을 위해 예를 들어 아래 그림과 같이 스위치A, B의 각 1번 포트는 VID값이 10인 Untagged Port로, 3번 포트는 VID값이 20인 Untagged Port로 지정되어 단말장치A/B/C/D가 연결되어 있고, 2번 포트는 VID값이 10과 20인 Tagged Port로 지정되어 두 스위치를 서로

Inter VLAN의 필요성/Inter VLAN 구성방식 3가지/Inter VLAN 구성방식 별 동작과정 분석하기 [내부링크]

지난 포스팅에서는 Tagged VLAN(=Trunk)과 Untagged VLAN(=Access)을 통해 어떻게 VLAN을 설정하고 네트워크 장비를 통해 VLAN 통신이 이루어지는지 살펴봤다면, 이번에는 서로 다른 VLAN간 통신을 지원하는 기술인 Inter-VLAN에 대한 필요성과 해당 구성방식 그리고 각 구성 방식에 따른 세부적인 동작 과정에 대해 알아 보겠다. 그럼 포스팅 시작!! 1. Inter VLAN의 필요성 아래 그림과 같이 스위치A 1번과 2번포트가 VID값이 10인 Untagged Port로 설정되었고 1번 포트에는 IP주소가 '10.0.0.2/24'인 단말A가 연결되어 있다, 스위치 B에는 1번과 2번포트가 VID값이 20인 Untagged Port로 설정되어 1번 포트에 IP주소가 '10.0.0.3/24'인 단말B가 연결되어 있다. 여기서 스위치A,B는 서로 2번포트를 통해 연결되었다고 가정했을 때, 10.0.0.0/24 대역의 동일한 도메인 네트워크에 속하는 단말

VLAN의 등장배경/VLAN 역할/VLAN 규격/VLAN 구조/VLAN 설정방식/VLAN 동작과정 분석하기 [내부링크]

오랫만에 포스팅이다. 이번에는 최근 테스트 목적으로 스위치 장비 1대로 VLAN을 통해 여러개의 서로 다른 도메인 네트워크 구성을 해줄 일이 있었는데 VLAN의 Untag/Tag 대한 개념이 약간 헷갈리기도 했고 스위치 장비를 다루는 운용자들이 Cisco 어느 제조사의 스위치 장비를 사용하느냐에 따라 서로 사용하는 기술 용어가 조금씩 차이가 나기도 해서 이를 한번에 정리해보고자 한다. 그럼 포스팅 시작 1. VLAN의 등장배경 아래 [그림 1]과 같이 기업 내부에 인사/영업 2개의 팀이 있고 각팀에는 업무수행을 위한 2개의 PC가 있다고 가정하자. 각 PC는 각 팀 업무 수행을 위해 인사/영업 DB로 접속할 수있어야 하지만 서로 팀간에는 보안을 위해 개별적인 네트워크 구성이 되어야 하므로 [그림 1]과 같이 2개의 스위치를 각 팁별로 두고 네트워크를 구성하게 된다. 하지만 이렇게 네트워크를 구성할 경우 8 포트짜리 스위치 2대 전체 16 포트에서 고작 6개 포트만 사용하고 10개 포

Untagged VLAN(=Access)/Tagged VLAN(=Trunk) 상세 통신과정 분석하기 [내부링크]

지난 포스팅에서는 VLAN에 대한 아주 기본적인 소개와 설정 및 동작 과정에 대해 간략히 소개했다면, 이번에는Untagged와 Tagged VLAN 설정방식이 실제 스위치 장비를 거치면서 어떻게 통신을 하는지 상세과정에 대해 알아보겠다. VLAN 기술에 대한 개념적인 내용은 아래 내용을 참조하도록 하자. VLAN의 등장배경/VLAN 역할/VLAN 규격/VLAN 구조/VLAN 설정방식/VLAN 동작과정 분석하기 오랫만에 포스팅이다. 이번에는 최근 테스트 목적으로 스위치 장비 1대로 VLAN을 통해 여러개의 서로 ... blog.naver.com 1. Untagged VLAN 통신과정 먼저 [그림 1]과 같이 스위치A의 1번 포트에는 MAC주소가 'a', IP주소가 '10.0.0.2'인 단말A가 연결되었고. 2번 포트에는 MAC주소가 'b', IP주소가 '10.0.0.2'인 단말B가 연결되었을 때, 단말A와 단말B가 서로 동일한 VLAN 10인 네트워크로 묶여 통신할 수 있도록 Unta

WSL과 VM 비교/WSL 구조분석/WSL2로 Windows 10·11에 리눅스 배포판 설치/터미널 접속 설정/WSL2 완전 삭제하기 [내부링크]

WSL(Windows Subsystem for Linux)은 윈도우에서 리눅스 환경 제공을 위해 Microsoft에서 배포한 윈도우 서브 시스템이다. 초기에는 지원하는 리눅스 명령어가 제한적이기도 했고, 그냥 윈도우에서 리눅스가 돌아간다는 정도였지만, 다음 버전인 WSL2부터는 리눅스커널 자체를 가상화로 올려서 실제 서버에 리눅스를 설치한 것과 유사한 환경을 지원해 이제는 '쓸만해졌다'라고 부를정도까지 되었다. 이번 포스팅에서는 이런 WSL 기능과 구조에 대해 분석하고 실제 WSL2로 리눅스 배포판을 설치 관리해보는 것까지 진행해보겠다. 그럼 포스팅 시작!! 1. WSL과 VM 비교 WSL 등장이전 일반적으로 리눅스 개발자가 윈도우 OS 환경에서 개발을 한다고 하면, 간단하게는 아래 [그림 1]과 같이 개발PC에 Host OS로써 설치된 윈도우 OS 위에 Virtual Box나 VMware와 같은 Hypervisor(이하 하이퍼바이저)를 설치하고 리눅스 OS 환경을 가상머신(이하 V

Windows 10 (22H2) 최신 이미지 파일(ISO)로 USB 부팅디스크 만들어서 PC에 설치하기 [내부링크]

매번 노트북에 미리 설치된 상태의 Windows 10(이하 윈도우 10)만 사용하다가 최근 오랜만에 직접 USB 부팅디스크를 만들어서 설치해야하는 일이 생겼다. 그러다가 이래저래 찾아보니 정품인증 코드는 따로 구매해야되지만 최신 설치 이미지 파일(*.ISO)의 경우 Microsoft 공식사이트를 통해서 다운로드 가능함을 알고 직접 윈도우10 최신 이미지 파일을 다운로드하여 이를 가지고 USB 부팅 디스크를 만들어 실제 PC에 설치해보는 것까지 이번 포스팅으로 한번 정리해봤다. 그럼 포스팅 시작!! 1. Windows 10 최신 이미지 파일(ISO) 다운로드 우선 웹브라우저 크롬을 실행하여 Microsoft의 윈도우10 공식 다운로드 페이지(www.microsoft.com/ko-kr/software-download/windows10)로 이동하자. 반드시 크롬(Chrome) 웹브라우저여야 한다.!! 특이하게도 해당 공식 페이지에서 윈도우 10을 바로 다운로드 하는 것은 불가능하지만, i

Windows 11(22H2) 설치 미디어 도구로 USB/DVD 부팅디스크 만들어 PC에 설치하기 [내부링크]

최근 CPU는 AMD Ryzen 5625U가 탑재된 나름 고사양 개발용 PC를 한대 받게 되었는데. 문제는 운영체제가 설치되지 않은 깡통 PC였다. 원래 사용하던 Windows 10(이하 윈도우10)을 설치해 활용하고자 했으나, 해당 CPU가 Windows 11(이하 윈도우 11)을 최적으로 지원하기도 하고, 윈도우11부터 좀 더 안정적인 자체 리눅스 시스템(WSL, Windows Subsystem for Linux)을 또 지원도 하기에 이번 기회에 윈도우 11을 USB 혹은 DVD 부팅디스크로 직접 만들어서 PC에 한번 설치해보고 이를 포스팅으로 정리해본다. 그럼 포스팅 시작!! 1. Windows 11 공식 설치 방법 3가지! Microsoft에서는 윈도우 11 공식사이트(https://www.microsoft.com/ko-kr/software-download/windows11)를 통해 윈도우 11 설치방식을 3가지 안내하고 있다. 첫번째 방법은 아래와 같이 'Windows 11

Windows 11 원드라이브(OneDrive) 제거/위젯 제거/검색 메뉴 뉴스(콘텐츠 추천) 제거/부팅시 스티커메모(Sticky Note) 자동실행 설정 [내부링크]

윈도우 11을 설치 후 며칠 사용해보니, OneDrive가 기본 설치되 특정 디렉토리와 자동 동기화 설정이 되어 있고, 위젯과 검색 메뉴에는 쓸데없는 인터넷뉴스, 콘텐츠 제안 등이 나오고, 윈도우10에서는 잘 사용했던 '스티커 메모(Sticky Note)' 앱은 윈도우 11에서 부팅 후에도 자동실행되지 않아 사용자가 매번 수동으로 재실행해주어야 하는 번거러움이 있었다. 그래서 이번 포스팅에서는 윈도우11 설치 초기에 보이는 이런 부분을 해결하기 위한 방법들에 대해 한번 정리해 봤다. 그럼 포스팅 시작ㄱㄱ! 1. 포스팅 내용 소개 이번 포스팅에서 윈도우 11 설치 후 효율적으로 사용하기 위한 초기 설정 부분은 아래 그림과 같이 크게 4가지이다. 먼저 사용자 동의 없이 설치된 OneDriver를 제거(①), 작업표시줄만 차지하는 윈도우 위젯 제거(②), 검색 메뉴 실행시 인터넷 뉴스 등 콘텐츠가 포함되지 않도록 제거(③)를 할 생각이다. 그리고 마지막으로 사용자 편의를 위해 스터커 메모

'5G전국망/농어촌 5G 공동망/5G특화망/이음(e-UM)5G/5G정부망/5G국가망' 이란 무엇인가? [내부링크]

2019년 4월 3일, 한국은 세계 최초(?) 5G 상용화 서비스를 시작하였다. 그리고 2022년 오늘날에는 5G망을 적용하는 구축 사업에 따라 해당 5G망을 가르키는 용어가 '5G전국망/농어촌 5G 공동망/ 5G특화망/이음5G/5G정부망' 등 굉장히 다양한 것을 알 수 있다. 5G면 5G이지 망을 지칭하는 용어가 왜 이렇게 다양한지... 그래서 이를 좀 더 정리할 필요가 있겠다 싶어 이번 포스팅을 통해 국내에서 말하는 해당 5G망 종류와 각 차이점에 대해 한번 알아보겠다. 그럼 포스팅 시작! 1. 5G 전국망 '5G 전국망'은 이동통신사들이 주로 5G 모바일 가입자들에게 스마트폰 중심 소비자(B2C) 서비스 제공을 목적으로 과기부로부터 3.5GHz 주파수 대역의 100MHz 씩 각 할당받아 구축된 5G망이다. 현재('22년 11월 기준) 각 통신사 별 할당받은 100MHz 대역을 살펴보면, 아래 [그림 1]과 같이 LGU+가 3.40 ~ 3.50 GHz, SKT가 3.50 ~ 3.

[5G 완전정복] 5G 표준안/5G Use Case(적용 시나리오 및 특징)/3GPP 5G 아키텍처/국내 5G망 현황 분석하기 [내부링크]

2019년 4월, 국내에서 세계 최초 5G 상용화를 시작한다. (물론 세계 최초라는 것에는 많은 이견들이 있지만 일단 먼저 개통하긴 했으니까...) 2022년 기준 현재 국내는 5G와 4G 'LTE'가 상용망으로 병행 운용중에 있이며, 그중에서 5G는 가입자 수를 꾸준히 늘려 나가고 있다. 그럼 5G는 기존 LTE보다 어떤 점에서 강점을 가지기에 꾸준히 사용자수가 늘고 있을까? 그래서 이번 기회에 5G의 기본 개념부터 공식 표준안/5G 적용 시나리오(Use Case) 및 특징/5G 표준 아키텍처 분석 및 국내 5G 현황까지 한번 알짜베기로 정리해보고자 한다. 그럼 포스팅 시작!! 1. 5G 란? '5G'는 5 Generation의 약자로 4세대 이동통신 방식인 LTE 다음에 등장한 5세대 이동통신시스템(혹은 통신방식)을 말하며, 국내에서는 2019년 4월 3일 아래 [그림 1]과 같이 세계 최초(?)로 국내 이동통신 3사(KT, LGU+, SKT)를 통해 동시 상용화 서비스를 개시하

리셋(reset)과 리버트(Revert)로 과거 특정 커밋(Commit) 상태로 되돌아가기 [내부링크]

우리는 git을 통해 소스코드의 가장 안정적인 현재 상태를 '커밋(Commit)' 상태로 순차적으로 저장하여 관리 및 유지한다. 하지만 예상과는 다르게 작업의 결과물에 오류가 발생하는 경우가 생길 수 있는데 이 경우 오류 발생 이전의 커밋 상태로 되돌려서 다시 코드를 작성할 수 있다. 이때 이전 커밋 상태로 되돌아가는 방식에는'리셋(Reset)'과 '리버트(Revert)', 이렇게 2가지가 있으며, 이번 포스팅에서는 직접 실습을 통해 2가지 방식의 사용방법과 각 차이점에 대해서도 한번 알아보겠다. 1. 리셋(reset)과 리버트(revert)의 차이점! 우선 리셋과 리버트의 큰 차이점은 이력을 남기느냐 유무이다. 예를 들어 아래 그림과 같이 C4에서 C2로 커밋 상태를 되돌리고자 할때 리셋은 C2로 돌아간 시점에서 이후의 커밋은 깔끔하게 삭제된다. 반대로 리버트는 C2 커밋상태로 돌아간다기 보단 이전 C2 상태 커밋을 가져와 새로운 커밋 C2'를 생성한다. 즉, 리셋과 리버트 모두

Q-VPN(Quantum-VPN, 양자 VPN) 세션수립/양자난수 발급 및 배포/암·복호화 기능 검증하기 [내부링크]

지난 포스팅에서는 개발된 양자 VPN(이하 Q-VPN)을 가지고 실제 Server와 Client에 구축해 통신 테스트까지 진행해보았다. 이번에는 이렇게 구축된 Q-VPN을 가지고 양자난수는 제대로 발급하는지... 그리고 이를 기반으로 암·복호화 통신과정은 제대로 이루어지는지 ... 실제 Q-VPN 동작 과정을 한번 검증해보고자 한다. 검증 방식은 Q-VPN이 동작하면서 Server와 Client에 기록되는 로그 기록을 기반으로 진행하며, 세부 검증 항목은 아래 표와 같다. 그럼 검증 준비과정과 실제 아래 실제 검증까지 한번에 진행해보자~! 포스팅 시작!! No. 검증항목 검증방법 1 Q-VPN 세션 수립과정 검증 SSL Handshake 수립과정에서 Q-VPN Server와 Client가 주고받는 메시지를 확인하고 최종적으로 VPN 사설 IP주소가 할당된 가상 인터페이스 생성여부 확인 2 양자난수 발급 및 배포 검증 Q-VPN Server와 Client에서 직접 발급한 양자난수 값과

dnsperf를 이용하여 bind9으로 구축한 DNS 서버 성능 측정하기 [내부링크]

'dnsperf'는 가장 기본적인 DNS 서버의 성능측정 시뮬레이션 도구로써, DNS 서버에 보내는 DNS 질의(Query) 종류 및 이를 요청하는 가상 Client의 수 그리고 초당 보낼 수 있는 질의 갯수(Query per Sec) 제한 등 다양한 옵션을 적용해 간단히 DNS 서버의 지연, 속도 등을 측정하여 그 결과를 화면으로 확인 할 수 있다. 그래서 이번 포스팅에서는 해당 'dnsperf'를 활용해 지난 포스팅에서 구축한 bind9 기반의 DNS 서버에 대한 성능을 측정해겠다. 그럼 포스팅 시작!! 1.실습구조 소개 실습방법은 간단하다. 아래 [그림 1]과 같이 Ubuntu 20.04가 설치된 '성능시험용 PC'를 한대 준비하고 여기에 'dnsperf'를 설치한 뒤, 해당 PC에서 외부 공인 IP주소가 '14.53.80.71'로 할당된 bind9기반 DNS 서버를 대상으로 'dnsperf'를 통한 성능측정을 진행해보겠다. [그림 1] dnsperf를 이용한 DNS Serve

Windows 10에 Git 설치/로컬 저장소 생성 및 Git Hub 연동/로컬저장소에 저장(Commit)/Git Hub 전송(Push)하기 [내부링크]

Git 은 소스코드, 문서 등 각종 소프트웨어 형상관리(SCM, Software Configuration Management)와 버전관리 (VCM, Version Control System)를 지원하는 일종의 소프트웨어 도구이다. 그리고 이때의 소프트웨어 형상들은 Git Hub라는 별도 원격 웹 스토리지 서비스를 통해 저장/배포/관리 된다. 이번 포스팅에서는 Windows PC에 Git을 설치하고 로컬 저장소와 Git Hub 원격 저장소를 생성하여 서로 연동 한 뒤, 소스코드 이력을 로컬 저장소에 기록(=Commit), 다시 원격저장소에 기록(=Push)하는 것까지 간단히 정리해보겠다. 그럼 포스팅 시작! 1.Windwos에 Git 설치하기 SW형상관리도구인 Git은 리눅스 환경 뿐만 아니라 MacOS, Windows 환경도 지원하고 있다. 이번 포스팅에서는 먼저 Windows 10이 설치된 PC에 Git 설치부터 진행해보겠다. 이를 위해 아래와 같이 git 공식사이트(https:/

Ubuntu 20.04 Server 환경에서 Renderer(Networkd/NetworkManager)별 무선 WiFi 연결하기 [내부링크]

'Render'의 기본 의미는 무엇인가를 지금과는 다른 어떤 상태로 만든다는 의미이다. 그리고 'Renderer'는 이런 Render 과정을 수행하는 수단 혹은 도구를 의미하는데, Ubuntu 17.10버전 부터 등장했던 네트워크 설정도구인 Netplan에서도 YAML 파일로 정의된 네트워크 설정 정보를 실제 네트워크 인터페이스에 적용하여 통신이 가능하도록 수행하는 도구인 Renderer가 크게 Network-Manager, networkd 이렇게 2가지 존재한다. 두가지 차이점을 비교하자면 아래 표와 같다. 그래서 이번 포스팅에서는 Ubuntu 20.04 LTS Server 환경에서 해당 Renderer 별로 어떻게 WiFi 설정 할수 있는지 그 방법에 대해 간단히 소개해 보겠다. 그럼 포스팅 시작!! Renderer 역할 Networkd Ubuntu Server 환경에서 CLI 인터페이스를 통해 *.yaml 파일로 정의된 네트워크 설정 정보를 시스템에 적용하는 Renderer N

5G 라우터 『Galaxy 5G Mobile(모델명 : SCR01)』 국내 통신사 KT로 5G 개통하기 [내부링크]

현재 살고 있는 집이 오래된 아파트이다 보니 GiGA 인터넷은 커녕 최대 500Mbps 속도를 보장하는 인터넷 회선도 겨우 간당간당한 속도로 현재 이용하고 있다. 그래서 이를 개선하기 위해 찾은 제품이 5G 라우터인 'Galaxy 5G Mobile(이하 모델명 'SCR01'로 지칭)'이다. 단순하게 5G 기반 WiFi를 만들어주는 5G Egg라고 생각하면 되는데, 이게 제조사는 삼성이지만 국내에선 정식 출시되지 않은 해외 단말이다보니 이를 국내 통신사인 KT를 통해 개통하려다가 꽤 삽질을 많이하여 이를 블로그 포스팅으로 정리해 보고자 한다. 그럼 포스팅 시작~!! 1. SCR01 제품 구매하기 우선 국내에서 'SCR01' 제품을 구매할 수 있는 방법은 국내 중고거래 사이트를 이용하는 방법과 해외 직구를 중계해주는 사이트를 통해 가능하다. 대표적인 중고 거래사이트인 중고나라를 보면 매물이 많지는 않지만 아래와 같이 최근 6월3일도 간간히 제품이 올라오고 있으며 대략 15만~18만원 사

5G 라우터 『Galaxy 5G Mobile(모델명 : SCR01)』 국내 통신사 LG U+(유플러스)로 5G 개통하기 [내부링크]

최근 이동통신사를 KT에서 LG 유플러스(이하 LG U+)로 이동하면서, 기존 KT 5G 데이터 쉐어링으로 사용중이던 5G 라우터 'SCR01'의 통신사도 변경해주어야 하는 상황이 생겼다. 그런데 이과정에서 KT와는 다르게 U+ 개통과정에서는 여러가지 시행착오가 있었고, 해당 과정을 이렇게 포스팅으로 정리했다. 참고로 이번 포스팅은 LG U+에서 SCR01 단말의 5G 개통을 위한 5G USIM 발급과정에 대해서 중점적으로 정리했으며, SCR01 단말의 구매 및 초기 설정방법은 아래 포스팅을 참조하도록 하자. 그럼 포스팅 시작! 5G 라우터 『Galaxy 5G Mobile(모델명 : SCR01)』 국내 통신사 KT로 5G 개통하기 현재 살고 있는 집이 오래된 아파트이다 보니 GiGA 인터넷은 커녕 최대 500Mbps 속도를 보장하는 인터... blog.naver.com 1. LG U+에서 'SCR01' 5G 개통방법 2가지! 5G 라우터인 'SCR01'을 국내 통신사인 LG U+에서

Ubuntu 20.04 LTS 환경에서 QDK, Q#기반 양자난수생성기를 OpenVPN에 적용한 양자 VPN(Q-VPN) 개발하기 [내부링크]

OpenVPN에서는 SSL 라이브러리를 통해 생성한 유사난수 값을 가지고 VPN단말 간 세션키 생성과 해당 세션키 통한 암호화된 통신을 지원한다. 문제는 이때 활용되는 유사난수값이 완전한 난수가 아닌 컴퓨터가 난수를 흉내낸 예측 가능한 값이기 때문에 보안상 외부로 노출될 확률이 높다는 점이다. 그래서 이번 포스팅에서는 Ubuntu 20.04 64bit가 설치된 PC에 우리가 앞서 Micosoft社의 오픈소스 양자기술 개발도구인 QDK와 해당 개발언어인 Q#을 가지고 만들어본 양자난수생성기를 가지고 OpenVPN의 유사난수를 생성하는 부분을 대체하여 양자난수 기반의 VPN 인증과 세션키 생성을 통한 암호화된 통신을 지원하는 Quantum VPN(일명 Q-VPN)을 한번 개발해보겠다. ※원래 Q-VPN은 양자난수가 아니라 양자키를 적용한 VPN을 지칭하는데.. 양자키 관련 오픈소스는 찾지를 못하여 여기서는 양자난수생성기를 활용한 VPN을 Q-VPN으로 지칭해 포스팅 진행하였습니다. 1.

Ubuntu 20.04 LTS에 Q-VPN(Quantum VPN, 양자 VPN)을 활용한 VPN 서버, 클라이언트 구축 및 동작 테스트 [내부링크]

이번 포스팅에서는 지난 포스팅에서 개발한 Q-VPN(양자VPN)을 가지고 직접 물리 Q-VPN Server와 Client를 구축하여 실제로 양자난수를 통한 VPN 통신이 가능한지 테스트해보고자 한다. 이번 포스팅의 세부 구조는 아래 [그림 1]과 같다. 먼저 Ubuntu 20.04 64bit가 설치된 PC 2대를 준비하고 한대는 유무선 공유기에 연결하여 내부망 IP주소 '192.168.1.3'을 할당해 Q-VPN Client로 활용한다. 다른 한대는 외부망 인터넷에 연결하여 공인 IP주소 '121.135.228.231'을 할당해 Q-VPN Server로 활용한다. 그리고 Q-VPN 개통 후에는 Server와 Client 모두 가상 터널링 인터페이스를 통해 동일한 VPN으로 묶어 구성해줄 계획이다. 그럼 포스팅 시작하겠다.!! [그림 1] 본 포스팅 실습을 위한 Q-VPN 물리 네트워크 구조 및 Q-VPN 개통 후 터널링 구조 1. Q-VPN Server 구축하기 먼저 Q-VPN Se

Microsoft社의 QDK와 Q#을 이용하여 Ubuntu 20.04 LTS에 Python기반의 양자난수발생기(QRNG) 만들기 [내부링크]

Microsoft社에서는 'Microsoft Quantum'이라는 이름으로 양자기술을 오픈소스로 제공해주고 있는데, 해당 오픈소스에는 양자 프로그래밍 언어인 Q#과 이를 서포트 하기 위한 개발도구인 QDK(Quantum Development Kit)를 포함하고 있다. 이번 포스팅에서는 해당 Q#과 QDK를 이용해 Ubuntu 20.04 LTS 환경에서 양자난수 생성기를 만들어 보겠다. 그럼 포스팅 시작!! 1. 실습내용 소개 Microsift社에서는 공식 가이드 문서(https://docs.microsoft.com/ko-kr/quantum/)를 통해 QDK와 Q#을 이용한 여러가지 양자 어플리케이션 예제를 소개하고 있는데 그중에서 본 포스팅에서는 Q#과 QDK를 통해 Ubuntu 20.04 64bit OS환경에서 Python을 이용한 양자난수생성기(QRNG, Quantum Random Number Generator)를 만들어 보고자한다.(해당 오픈소스에 대한 공식 가이드 문서는 아래

Git Hub 원격저장소 복제/브랜치(Branch) 생성 및 분석/Commit 병합하기 [내부링크]

지난 포스팅에서는 Git을 가지고 로컬저장소와 원격저장소를 생성하고 이를 연결하여 소스파일을 Commit, Push 하는 과정을 간단히 진행해보았다. 이번 포스팅에서는 지난 포스팅에서 만든 Git Hub 원격저장소를 복제하여 로컬 저장소를 생성하고 master가 아닌 새로운 브랜치(Branch)를 생성하여 소스파일을 수정해 이를 병합해보는 것까지 진행하여 Git을 사용하는 목적에 대해 명확히 파악해보도록 하겠다. 그럼 포스팅 시작! 1. 원격저장소 복제하여 로컬저장소 생성하기 Git에서 로컬 저장소를 생성하는 방법은 아래와 같이 크게 2가지이다. 'git Init' 명령을 통해 로컬 저장소를 새로이 생성하거나, 'git clone' 명령으로 이미 생성한 원격 저장소를 복제하여 로컬 저장소로 생성하는 방식이다. 지난 포스팅에서는 'git init' 명령을 통해 로컬저장소를 아예 새로 만들어 보았으므로, 이번에는 'git clone' 명령을 통해 Git Hub 원걱저장소를 복제하여 로컬

bind 10(v1.0)으로 Ubuntu 12.04 LTS에 DNS 서버 구축 및 동작 테스트하기 [내부링크]

인터넷 인프라 관련 프로토콜 및 운영 개발을 지원하는 비영리기관인 ISC(Internet Systems Consortium)에서는 오픈소스 DNS 시스템으로 'bind 9'을 꾸준히 업데이트 배포하고 있다. 하지만 'bind 9' 다음 버전인 'bind10'도 존재하는데, 2014년 1.2버전(배포명 'bundy')을 끝으로 공식 배포를 중단하였다. 'bind 9'의 경우 텍스트 파일 형식으로 도메인주소를 관리했다면 'bind 10'은 DB를 통해 도메인을 관리할 수 있다는 것이 가장 큰 특징이다. 그럼 이번 포스팅에서는 이런 'bind10'을 직접 설치해보고 동작 테스트까지 간단하게 소개해보겠다. 1. bind 10 지원 중단 이유? 실습을 진행하기 전에 ISC에서 왜 bind10 지원을 중단했는지 간단히 알아보면, 일단 ISC의 엔지니어링 담당 부사장인 Scott Mann이 밝히길 현재 bind 9과 bind 10 이렇게 2개의 프로젝트 개발을 동시에 추진할 (인력이나 금전 등의

bind9 최신 배포판(v9.18.4) 소스파일 직접 컴파일하여 설치하기 [내부링크]

현재 ('22년 6월 기준) 최신 Ubuntu 20.04 LTS 버전에서 패키지 관리도구인 'apt-get'으로 간단히 설치가능한 bind9 설치버전은 v9.16.1 버전이다. 하지만 bind9 공식배포 기관인 ISC의 공식 사이트에서는 현재 안정화 버전(Stable Version)으로 v9.30.1 버전을 배포하고 있다. 그래서 이번 포스팅에서는 bind9의 최신 배포 소스파일을 직접 컴파일하여 설치하는 방법을 한번 소개해보겠다. 그럼 포스팅 시작! 1. bind9 설치 PC 준비하기 실습의 편의성을 위해 bind9의 소스파일을 직접 컴파일하여 설치하기 위한 PC를 한대 준비하자. 해당 PC는 아래 [그림 1]과 같이 기본적으로 운영체제는 Ubuntu 20.04 LTS 버전이 설치되며, CPU는 최소 2 Core 이상, 메모리(RAM) 사이즈는 4GB이상, 디스크 공간은 30GB 이상 그리고 이더넷 인터페이스는 속도 상관없이 필히 1개는 지원하는 것으로 준비하여 인터넷과 통신할 수

EfficientWord-Net으로 라즈베리파이3B+에 호출어 음성인식(Hotword-Detection) 기능 설치하기 [내부링크]

우리는 음성인식 기능을 사용하기 전에 '시리', '빅스비', '기가지니' 등 다양한 호출어(Hotword)를 통해서 음성인식 기능을 시작하게 된다. 이런 호출어 인식(Hotword-Detection) 기능들도 다양한 오픈소스가 존재하지만 대부분 기술지원을 중단하거나 더이상은 업데이트를 지원하지 않는 경우가 대다수다. 하지만 그중에서 최근까지도 꾸준히 업데이트가 진행중인 오픈소스가 'EfficientWord-Net'이다. 그래서 이번 포스팅에서는 해당 오픈소스를 활용하여 호출어 음성 인식 기능을 구현해보고 동작 테스트까지 진행해보겠다. 1. 실습구조 및 동작과정 소개 이번 포스팅의 실습구조는 아래 [그림 1]과 같이 우선 라즈베리파이3B+ 모델을 하나 준비해, 유선 LAN포트에는 유선 LAN 케이블을 통해 인터넷에 연결한다. 마이크 포트가 없기 때문에 USB포트에는 USB 사운드 카드를 꽂아 3.5mm 마이크 잭을 연결해주고, 3.5mm 오디오 잭에는 음성 출력을 위한 스피커를 연결해

[하드웨어적으로 CPU 쿨러 소음문제 해결 및 속도 조절] [내부링크]

* 아래 4가지중에서 2가지 이상 해당 되는 경우에 많은 도움이 됩니다.^^ 냉각팬의 소음이 심하다. 컴퓨터 ...

[오픈스택]"Unauthorized (HTTP 401)" Error Message가 출력되는 경우 [내부링크]

"Unauthorized (HTTP 401)" Error Message가 출력 되는 경우 해당 에러메세지는 Nova, Glance, C...

[오픈스택] Cinder Volume 생성시 Status 상태가 계속 creating 상태인 경우 [내부링크]

Cinder Volume 생성시 Status 상태가 계속 creating 상태인 경우 아래와 같이 Cinder Volume 리스트를...

[오픈스택]“HTTPConnectionPool(host="192.168.1.2", Port=8774) [Errono 111] connection refuse” 에러메시지 출력 되는 경우 [내부링크]

"HTTPConnectionPool ...connection refuse” 메세지 출력 경우 해당 에러 메시지는 내가 Controlle...

[오픈스택] 생성한 인스턴스가 외부망(인터넷)과는 연결이 않되는 문제 [내부링크]

생성한 인스턴스가 외부망(인터넷)과는 연결이 않되는 문제 우선 dash board에 접속하여 ICMP 네트워크...

Ubuntu Server에 USB 인식시키기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 이번 포스팅은 Command Line Interface(CLI) 환경의 U...

[ONOS]ONOS와 OVS 연결 문제("is_connected:true"메세지가 확인되지 않는 경우) [내부링크]

0. 들어가기 전에... | 포스팅 간단한 소개 지난 ONOS와 OVS 연결 포스팅을 하였었고, 많은 분들이 ...

Ubuntu 20.04 LTS에 OpenVPN 패키지 배포판 설치 및 통신 테스트 하기 ('22년 실습 개정편) [내부링크]

Ubuntu LTS 버전이 20.04버전으로 바뀌면서 OpenVPN의 경우 easy-rsa 도구를 통한 인증키와 인증서...

bind9으로 Ubuntu 20.04 LTS에 DNS 서버 구축 및 동작 테스트하기 [내부링크]

'bind9'은 인터넷 인프라 관련 프로토콜 및 운영 개발을 지원하는 비영리기관인 ISC(Interne...

Ubuntu 20.04 LTS에 기본 DNS 서버 설정/조회/동작 테스트하기 [내부링크]

이번 포스팅에서는 아래 [그림 1]과 같이 내부 사설 IP주소 '11.0.0.1'이 할당된 유무선 공유...

bind9으로 Ubuntu 20.04 LTS에 DDNS(Dynamic DNS) 구축 및 동작 테스트하기 [내부링크]

지난 포스팅에서는 bind9으로 아주 기본적인 DNS서버를 구축했다. 이번 포스팅에서는 한발 더 나아가 bi...

KVM+QEMU로, 공인 IP주소가 할당된 Ubuntu 12.04 LTS 가상머신 생성하기 [내부링크]

최근에 이미 2017년 기술 지원이 만료된 EOL(End-Of-Life) 버전의 Ubuntu 12.04 LTS 버전 운영체...

Ubuntu 20.04 리눅스 서버에 Timezone변경/NTP 시간동기화/수동으로 직접 시간 설정하기 [내부링크]

리눅스 서버에 어떤 서비스를 동작시킬 경우 종종 정확한 시간 설정이 필요한 경우가 많다. 예를 들면, 데...

KVM+QEMU로, 직접 구성한 NAT 네트워크에 연결된 Ubuntu 20.04 LTS 가상머신 생성하기 [내부링크]

리눅스 가상화도구라고 하면 커널기반의 가상화 환경을 제공하는 Hypervisor인 KVM 그리고 리눅스 Use...

Ubuntu 20.04 LTS 환경에서 hostapd로 무선AP(WiFi망)구축/WiFi 접속테스트/부팅시 자동실행 설정하기 [내부링크]

hostapd는 Wifi AP 기능 지원 및 관련 인증 서비스를 제공하는 데몬으로써, 리눅스 OS환경의 백그라운...

KVM+QEMU로 환경 구축하여, 가상머신사이 GRE 터널링 최대 세션 수 측정하기 [내부링크]

이번 포스팅은 동일한 NAT 네트워크 브릿지에 연결되는 2개의 가상머신을 KVM+QEMU로 생성하고, ...

KVM+QEMU로 서로 다른 도메인 네트워크 환경 구축하여 데이터 암호화 유/무에 따른 OpenVPN 속도 측정하기 [내부링크]

지난 포스팅에서는 KVM+QEMU의 간단한 실습을 통해 리눅스 가상화 방법을 알아봤다면, 이번 포스팅...

오픈소스 SW를 활용해 ONOS로 스위치 포트 별 송수신 트래픽처리량 정보 실시간 그래프로 출력하기 [내부링크]

이번 포스팅은 SDN제어기인 ONOS의 REST API를 통해 연결된 OVS 스위치의 각 포트별 송수...

Ubuntu 20.04에 ONOS 2.5.1 LTS 배포판 설치/Mininet 가상 네트워크 연결/Flow Rule설정 및 삭제/Host간 Ping 테스트 및통신과정 분석하기 [내부링크]

ONOS 포스팅의 경우 4년전인 2017년 이후 업데이트가 전혀 되지 않았다. 그 사이 Ubuntu 16.04버전은 ...

라즈베리파이3에 Open vSwitch(OVS) 설치/OVS 네트워크 구성/ONOS로 직접 Flow Rule 설정하여 VLAN 패킷 제어하기 [내부링크]

자! 지난 포스팅에서는 Mininet기반 가상 네트워크 환경에서 ONOS로 간단히 Host간 통신이 되도록 F...

쿠버네티스에서 Pod 배포 과정에 발생된 오류 별 해결방법 가이드 [내부링크]

이번 포스팅은 가볍게 지금까지 쿠버네티스(이하 K8S) 실습을 진행하면서 Pod 배포시 발생되었었던 오류...

레플리케이션 컨트롤러(Replication Controller)로 Pod 복제하여, MeltalLB를 통한 외부트래픽 로드밸런싱하기 [내부링크]

이번 포스팅에서는 아래 [그림 1]과 같이 Kubernetes(이하 K8S)에서 특정개수 만큼의 Pod를 복제해 동...

Kubespray로 Ubuntu 20.04 LTS서버에 쿠버네티스 v1.18 설치하기- Install Kubernetes on Ubuntu 20.04 with Kubespray [내부링크]

Kubespray는 자동화된 서버 환경구성을 지원하는 도구인 Ansible(앤서블)을 통해 Kubernetes(이하 k8s*)...

Minikube 쿠버네티스 환경에서 레플리카셋(Replicaset)으로 Pod 복제하여 NodePort로 클러스터 외부에 노출하기 [내부링크]

이번에는 지난 Minikube로 Kubernetes(이하 K8S)를 설치했던 포스팅에 이어, 동일 K8S 환경에서 Pod...

Minikube로 Ubuntu Server 20.04 LTS에 Kubernetes 설치하고, Pod 생성해 Application 배포 및 동작 테스트하기 [내부링크]

Minikube는 Mini + Kubernetes의 약자로 말그래도 작은 규모의 Kubernetes(이하 K8S) 설치환경을 제...

APACHE + PHP 웹 개발환경을 Dockfile로 직접 빌드해서 도커 컨테이너 이미지 생성/배포하기 [내부링크]

지난 포스팅에서는 아래와 같이 기존의 최신 Ubuntu 20.04 LTS 컨테이너 이미지를 실행하고, 그 위에 ...

기존 Ubuntu 도커(Docker) 컨테이너 이미지로 Apache + PHP 웹 개발환경 컨테이너 이미지를 직접 생성/배포/실행하기 [내부링크]

이번 포스팅에서는 쿠버네티스 실습 포스팅에서 활용하기 위한 도커 컨테이너 이미지를 직접 만들어 보고 ...

Lenovo 씽크패드(ThinkPad) W510 노트북 분해/먼지제거/팬청소/SSD,RAM 교체/CPU 서멀구리스 재도포하기 [내부링크]

오늘은 2010년 출시한 레노버(Lenovo)社의 고성능 워크스테이션 노트북 '씽크패드(ThinkPad) W510...

Wireshark로 네트워크 지연 탐지 및 지연 패킷 분석하기 [내부링크]

이번 포스팅에서는 Wireshark를 통해 네트워크 지연 장애를 한번 분석해보고자 한다. 이를 위해 아래 [그...

계정 비밀번호 입력없이 Ubuntu에 자동 SSH 자동 로그인 접속하기 [내부링크]

최근 여러대의 서버를 동시에 관리해보면서 매번 원격으로 SSH접속을 할때마다 각 계정의 Password를 ...

네트워크 속도 측정 후, Wireshark로 직접 세션 별 패킷 분석하기 [내부링크]

이번 포스팅에서는 아래와 같이 현재 집에서 이용중인 KT 회선을 개인 PC에 유선으로 연결하여 외부 네...

X2Go로 Ubutntu Server에 설치된 Wireshark를 GUI 원격실행 하기 [내부링크]

Ubuntu Server 버전에서는 GUI를 지원하지 않기 때문에 Wireshark를 설치할 경우 정상적으로 실행되...

Ubuntu 20.04 LTS에 Wireshark 최신버전(v3.4.5) 소스파일 직접 컴파일 설치하기 [내부링크]

Ubuntu에서는 'apt-get install wireshark'란 명령어로 apt 도구를 통해 손쉽게 Wireshark 설...

Tasksel로 Ubuntu Server에 Desktop 환경 구축 및 CLI/GUI 부팅설정하기 [내부링크]

Ubuntu Desktop버전은 Server 버전에 비해 시스템 리소스를 많이 사용하기 때문에 리눅스 기반 시스템을...

[안내]『개념이 보이는 네트워크 기초』 네트워크 기본서 출간 안내 [내부링크]

블로그를 하면서 처음으로 공지사항을 올리네요. 2년전 이맘때 쯤 좋은 기회가 생겨 네트워크 입문자부...

Ubuntu 20.04 LTS 서버 USB 부팅디스크 만들고 설치하기 [내부링크]

지금까지 오픈소스 포스팅을 진행하면서 대부분 Ubuntu 16.04 LTS 버전을 기준으로 진행했었다. 하...

OpenWrt 설치된 샤오미 공유기(Mi WiFi Mini, R1CM) 원래 펌웨어로 복구하기 (공장 초기화) [내부링크]

이번 포스팅은 지난번 'OpenWrt 설치편(1)' 포스팅을 통해 OpenWrt를 설치한 샤오미 유...

Ubuntu 20.04 LTS 버전에 Floodlight Master 설치하고 Mininet으로 OVS 연결 테스트하기 [내부링크]

지난 2020년 2월 오픈소스 SDN제어기 'Floodlight'의 제공 업체인 Big Switch Networ...

라즈베리 파이3에 Ubuntu MATE 20.10 최신버전 설치하기 [내부링크]

구글링을 해보면 라즈베리파이3 모델(3B/3B+)에 Ubuntu MATE를 설치하는 방법은 쉽게 나온다. ...

Google Assistant + Snowboy + MPD를 활용한 『A.I 음악 스피커』 개발하기(3) [내부링크]

와 ~~!! 드디어 마지막 포스팅이다. 이번 포스팅에서는 라즈베리파이에 Google Assistant, Snowboy ...

Google Assistant + Snowboy + MPD를 활용한 『A.I 음악 스피커』 개발하기(2) [내부링크]

지난 포스팅에서 우리는 A.I 음악스피커 개발에 필요한 마이크와 스피커를 가공하고 라즈베리파이에 ...

Google Assistant + Snowboy + MPD를 활용한 『A.I 음악 스피커』 개발하기(1) [내부링크]

이번 포스팅에서는 오픈소스 인공지능 플랫폼인 Google Assistant와 호출어 기반의 음성인식 기능을...

2021년 Python3.5 지원중단에 따른 라즈베리파이3B에 Google Assistant 설치하기 [내부링크]

2021년 Python 3.5버전에 대한 공식지원이 중단되었다. 그렇다고 Python3.5를 이용하지 못하는 것은 ...

라즈베리파이3B+에 구글 어시스턴트(Google Assistant)설치하기 (21년 2월 기준 가이드) [내부링크]

Google Assistant(구글 어시스턴트)는 2016년 Google에서 발표한 음성인식 기반의 인공지능 서비스...

고장난 삼성 SPH-P9200 접이식 UMPC 노트북 분해/먼지제거/HDD를 SD카드로 교체수리/윈도우XP 재설치하기 [내부링크]

이번 포스팅에서 다룰 제품은 삼성에서 2007년 출시한 UMPC인 디럭스미츠(모델명 'SPH-P9...

쿠버네티스의 등장배경/구조 및 기능/동작원리 이해하기 - Analyzing the Background / Mechanism / Architecture of Kubernetes [내부링크]

이번 포스팅은 오픈소스 컨테이너 클러스터 플랫폼인 쿠버네티스에 대한 공부를 시작하면서 직접 이해...

Q-VPN(Quantum VPN, 양자 VPN)을 활용한 물리 VPN 서버, 클라이언트 구축하기-Building a VPN Server, Client using QVPN [내부링크]

이번 포스팅에서는 지난번 'QDK.Q# [활용편1]'에서 개발한 Q-VPN(양자VPN)을 가...

QDK, Q#기반 양자난수생성기를 OpenVPN에 적용한 양자 VPN(Q-VPN) 개발하기-Developing Quantum VPN using QDK and OpenVPN [내부링크]

OpenVPN에서는 SSL 라이브러리를 통해 생성한 유사난수 값을 가지고 VPN단말 간 세션키 생성...

QDK, Q#기반 양자난수생성기를 OpenVPN에 적용한 양자 VPN(Quantum VPN,Q-VPN) 개발하기 [내부링크]

OpenVPN에서는 SSL 라이브러리를 통해 생성한 유사난수 값을 가지고 VPN단말 간 세션키 생성...

OpenWrt가 설치된 샤오미 유무선공유기로 음성인식 음악 플레이어 개발하기(3)-Speech Recognition Music Player on OpenWrt [내부링크]

마지막 포스팅이다. 지난 포스팅에서는 [그림 1]과 같이 샤오미 공유기에 음성인식을 위한 마이크, 음...

OpenWrt가 설치된 샤오미 유무선공유기로 음성인식 음악 플레이어 개발하기(2)-Speech Recognition Music Player on OpenWrt [내부링크]

지난 포스팅에서는 OpenWrt가 설치된 샤오미 공유기에서 음성인식을 위해 무손실 오디오 데이터 압축...

OpenWrt가 설치된 샤오미 유무선공유기로 음성인식 음악 플레이어 개발하기(1)-Speech Recognition Music Player on OpenWrt [내부링크]

지금까지 샤오미 유무선공유기에다가 OpenWrt설치해서 SDN 무선제어부터 NAS, 원격 음악플레이...

Ubuntu PC에 OpenWrt 크로스컴파일(Cross-Compile) 개발 환경 구축하기 [내부링크]

최근 OpenWrt가 설치된 디바이스에 여러가지 라이브러리를 탑재하기 위해서 관련 소스파일을 해당 ...

고장난 맥북프로(Mid, 2010)에서 디스플레이/메인보드/키보드/ODD/HDD/스피커/RAM/냉각팬까지 완전분해하기 [내부링크]

기존에 개발용으로 사용중이던 맥북프로 'A1278 Early-2011' 모델의 키보드가 고장나고 베...

Microsoft社의 QDK와 Q#을 이용하여 Ubuntu 16.04에 Python기반의 양자난수발생기(QRNG) 만들기 [내부링크]

Microsoft社에서는 'Microsoft Quantum'이라는 이름으로 양자기술을 오픈소스로 제공해주...

JAVA라이선스 정책 변경 내용과 그에 따른 Ubuntu에 최신 JAVA 버전 설치가이드 [내부링크]

2019년 4월 Oracle의 JAVA 라이선스 정책이 변경된지 1년이 지났다. 그당시 Oracle JAVA 라...

에이서(ACER) ASPIRE ES1-111M에 SATA커넥터 납땜 연결해서 SSD/HDD 장착하기 [내부링크]

내가 주 개발용으로 쓰고 있는 노트북은 대만 컴퓨터 회사인 ACER社에서 2015년에 출시한 'A...

샤오미 유무선공유기(모델명 : R1CM)에 직접 시리얼케이블 연결하여 UART통신으로 터미널 접속하기 [내부링크]

샤오미공유기로 이것저것 하다가 어쩌다 보니 시리얼 통신케이블을 직접 만들어서 공유기에 연결해 시...

VPN의 인증절차와 세션수립을 통한 암호화된 데이터 통신과정 알아보기 [내부링크]

이번 포스팅에서는 OpenVPN 실습을 통해서 알아본 전반적인 VPN의 단말 인증절차와 인증 후 단...

[요청사항]삼성 노트북9 (NT900X3W) 메인보드 분리/팬청소/서멀구리스 재도포 위한 히트파이프 분리 방법 유추하여 정리 [내부링크]

이번 포스팅은 블로그 방문자인 "폭닥"님의 요청으로 삼성노트북9 시리즈 중에서 모델명인 "NT900X3W" 노트북의 메인보드를 분해하는 방법을 간단히 소개하고자 한다. 그런데 이번 포스팅은 해당 노트북을 직접 분해 하여 정리한 것이 아니다. 수리를 직접 하셔야하는 "폭닥"님의 사정으로 직접 하판을 분해해 찍어보내준 사진을 토대로 유추하여 나름 정리한 것이니 절대로 정확하지는 않다. 어디까지나 분해방법을 보내주신 사진을 가지고 유추하여 정리한 것이니 반드시 참고 정도로만 활용하자. 꼭!!! 1. 베터리 분리메인보드 분해도중 베터리에 남은 전력으로 인한 회로손상을 방지하기 위해 베터리.......

Lenovo 씽크패드(ThinkPad) X201S 노트북 분해/먼지제거/팬청소/SSD,RAM 교체/CPU 서멀구리스 재도포하기 [내부링크]

이번에는 2010년에 출시한 레노버(Lenovo)社의 노트북 '씽크패드(ThinkPad) X201S'의 메인보드를 분해하여 먼지 제거부터 냉각팬 청소, SSD와 RAM 교체, CPU 서멀구리스 재도포까지 한번에 진행해보겠다. 해당 노트북은 회사에서 2011년 공용 노트북으로 구매한 장비로, 9년이나 되었지만 가볍고 Intel i7 프로세서에 최대 8GB의 RAM, 지문인식기능 지원까지 당시 고급 사양의 제품에 속하며 지금도 거의 현역이다. 다만 HDMI, CD롬, 웹캠, USB 3.0 포트 등을 미지원하며 이미 단종된 모델이라 부품수급도 현재는 어려운 편이다. 그럼 바로 포스팅 시작!!1.RAM, SSD, 베터리 분리노트북에서 메인보드를 분리하기 전에 먼저 RAM과.......

삼성 센스P29 노트북 분해/먼지제거/팬청소/RAM교체/HDD교체/키보드교체/디스플레이 교체/CPU서멀구리스 재도포하기 [내부링크]

이번 노트북은 삼성에서 2006년 출시한 SENS P29라는 모델이며, 2006년 내가 대학교 1학년 입학선물로 부모님께 선물 받은 생애 첫 노트북이다. 군대 전역하고 복학해서 2014년 Microsoft가 윈도우XP 공식지원을 종료할 때까지 무려 8년을 넘게 사용했으며, 지금은 키보드 키캡이 부서지고 디스플레이도 일부깨져 상태가 많이 좋지는 않다. 그래서 일단 해당 노트북에 애착도 있거니와 하모니카와 같은 가벼운 Linux를 설치해서 운용하면 어떨까 싶어 이번에 한번 살려보고자 한다. 그래서 해당 노트북을 분해하여 키보드와 디스플레이 교체, RAM & HDD교체, 팬청소, CPU서멀구리스 재도포까지 일괄 진행해보겠다.1. 노트북 상태 점검.......

망분리 기술 이론 및 동향 완벽정리('20.5 기준) [내부링크]

이번 포스팅은 회사 업무상 예전에 조사했던 망분리기술과 동향 내용을 다시 업데이트 하면서 혹시나 잊어버릴까 싶어 블로그에 간단히 기술 이론부터 동향정보까지 정리하였다. 해당 포스팅을 통해 망분리 기술의 기본 개념과 트렌드 방향을 잡고자하는 분들에게 조금이나마 참고정도는 될 수있도록 요약하였으며 어디까지나 인터넷에 공개된 정보만을 가지고 조사하고 이해한 내용을 정리한 것이기 때문에 내용의 신뢰보다는 참고용으로만 활용하도록 하자.1. 망분리 기술의 필요성예를 들어 보통 기업이나 공공기관의 경우 별도 내부망이 따로 운영되는데 해당 내부망을 통하여 내부DB와 자체 서버에 접속해 내부 인사관리나 결재업무 등.......

망분리 기술 별 규모에 따른 실제 구축비용 비교 [내부링크]

이번에는 실제 적용 사례를 분석하여 망분리 기술 별 적용 규모에 따른 구축비용을 한번 비교해보고자 한다. 일단, 기업기밀 상 상용 망분리 솔루션별로 정확하게 공개된 가격정보는 없기 때문에 관련 뉴스기사와 금융권/공공기관 등에서 망분리 구축을 위해 띄운 공식 입찰공고문에 첨부된 제안서를 바탕으로 각 망분리 기술 별 적용 규모에 따른 비용을 정리하였다. 어디까지나 인터넷에 공개된 데이터만을 참고하여 정리하였으며, 그나마 상세히 공개된 데이터들도 2013년~2015년 사이의 데이터이기 때문에 내용의 신뢰보다는 각 망분리 기술 별로 규모에 따라 비용이 어느정도 소요 될지 참고용으로만 이해하도록 하자. 추가로 망분리기.......

국내 망분리기술 별 최신 수요현황('14~'20년 기준) [내부링크]

이번 포스팅에서는 2014년~2020년 5월사이 국내에 이미 구축이 완료되었거나 아직 진행중인 망분리 기술의 도입사례를 분석하고, 어떤 망분리 기술의 수요가 더 많았는지 '국내 망분리 기술 별 최신 수요현황'에 대하여 분석정리해보고자 한다. 망분리 기술 현황에 대하여 공식적으로 공개된 데이터가 없기 때문에 기업금융권의 용역계약 관련 입찰 정보가 올라오는 '기업금융나들목' 사이트(http://www.smefn.or.kr/)와 공공기관 및 관공서 등의 용역계약관련 입찰 정보가 올라오는 '나라장터' 사이트(http://www.g2b.go.kr)를 참고하여 여기에 올라온 망분리 기술 입찰 건수를 가지고 어떤 망분리 기술에 대.......

OpenVPN 최신버전(v2.4.9) 정적(Static) 컴파일하여 Ubuntu 16.04에 직접 설치하기('20년5월 기준) [내부링크]

지난 달('20.4.17) 최신 버전인 OpenVPN v2.4.9 소스파일이 배포되었다. 이전에 2013년 배포된 OpenVPN v2.1.4버전의 소스파일을 컴파일하여 설치하는 포스팅을 한적이 있는데, 워낙 예전 버전이기도 하고 GCC업데이트 후 해당 컴파일 설치방식으로는 오류가 많이 발생해 이참에 최신버전('20.4기준)의 OpenVPN v2.4.9 소스파일을 가지고 정적 컴파일하여 Ubuntu 16.04 64 bit에 설치하는 방법으로 새로 포스팅하고자 한다. 설치도중 발생되는 오류에 대해서도 해결방법까지 나름 꼼꼼히 정리했으니 참고하도록 하자. 이번 포스팅을 통해 설치되는 각 도구 및 라이브러리 정보는 아래와 같으며, 해당 순서대로 컴파일/설치를 진행하.......

Hostapd 배포판으로 무선 AP구축 및 연결테스트하기 [내부링크]

이번 포스팅은 아래 [그림 1]과 같이 무선AP를 구축하기 위한 (라즈베리파이와 같은) ARM칩셋 보드를 하나 준비한다. 그리고 해당 보드의 유선랜(eth0)은 IP주소 '192.168.1.4'이 할당되어 인터넷에 연결되고, 무선랜(wlan0)에는 IP주소 '10.0.0.1'이 할당되어 WiFi망을 구성해 스마트폰과 같은 무선단말들이 10.0.0.3~10.0.0.30 범위의 IP주소를 할당받아 인터넷을 이용할 수 있도록 유무선공유기를 만들어 보겠다. 참고로 여기서 유선랜과 무선랜 인터페이스 이름은 설치하고자 하는 보드마다 다를 수있음을 참고하자.1. 설치하고자 하는 보드의 사양확인하기 hostapd 배포판을 다운로드하여 설치하기 전에 간단히 본.......

SDN 완전정복 - 개념부터 실습 및 활용예제까지 한번에 정리하기 [내부링크]

이번 포스팅은 'SDN 완전정복'이라는 거창한 이름으로 시작하였지만, 그동안 내가 작성했던 SDN 관련 포스팅 내용들을 SDN공부를 시작하는 사람들이 손쉽게 이해할 수 있도록 순서대로 나름 정리한 것이다. 나도 역시 많이 모자라지만 SDN초급자부터 숙련자까지 활용할 수 있도록 포스팅 순서를 정리하였으니 SDN을 공부하는 네트워크 개발자들에게 조금이나마 도움이 될 수 있으면 좋겠다.SDN 기본 개념 및 동향소개SDN제어기 별 실습 예제 소개1. Floodlight를 이용한 SDN 실습 예제2. ONOS를 이용한 SDN 실습 예제3. OpenDaylight를 이용한 SDN 실습 예제실제 상용망에 SDN을 활용한 예제 소개1. SDN을 활용하여 실시간.......

삼성 RV520 노트북 분해/팬청소/SSD교체/CPU 서멀구리스 재도포/ODD슬롯 HDD로 교체 [내부링크]

삼성의 RV520 노트북은 2011년 출시한 삼성전자의 노트북 브랜드인 센스(SENS) 시리즈 모델 중 하나이다. 방수를 지원하다보니 특이하게 하판과 키보드가 일체형인 제품이다. 내가 군대갔다오고 구매한 내 평생 두번째 노트북이며, 지금은 결혼하고 집에서 개발용으로 나름쓰고 있는데 최근에 너무 버벅거려 이참에 내부 청소부터, CPU 서멀구리스 재도포, 기존 HDD를 SSD로 교체, ODD슬롯의 HDD 교체까지 한번에 진행해보겠다. 1. 노트북 하판분해우선 노트북 하판을 뒤집어 베터리 잠금장치를 양쪽으로 당겨 해제한 뒤 베터리를 분리한다. 그리고 아래와 같이 하판의 부분덮개 나사를 풀어준 후 부분 덮개를 제거해준다.덮개를 제거.......

맥북프로 A1278(Early 2011) 분해/팬청소/CPU 서멀구리스 재도포/SSD 교체/RAM 교체하기 [내부링크]

작년에 중고나라에서 10만원에 2011년 상반기 출시된 맥북프로 13인치 모델 A1278(Early, 2011)을 구매하게 되었다. 해당모델에 관심을 가지게 된 이유는 비록 CPU는 Intel i5의 구형 맥북이지만 RAM은 16GB까지 확장이 가능하고, 신형 맥북프로와 달리 유선랜부터 넉넉한 개수의 USB포트, CD롬, SD카드 슬롯까지 지원했기 때문이다. 최신 맥북의 경우 USB-C타입 포트만 지원했기 때문에 확장성에서는 많이 부족했다. 생애 첫 애플제품인 만큼 해당 맥북을 분해해서 간단히 청소 후 CPU서멀구리스 재도포부터 SSD와 RAM메모리 교체까지 한번에 진행해보겠다.1. 노트북 하판 분해하기맥북을 분해하기 위해 우선 후면의 10개의 나사를 풀어준.......

하드디시크(HDD,SSD) 파티션 강제 초기화하여 macOS(맥OS) 재설치하기 [내부링크]

Apple에서는 Mac제품에 대하여 아래와 같이 시동키 조합을 통한 macOS 복구 및 재설치를 지원(아래 표 참조)하고 있다. 그런데 나같은 경우는 도무지 해당 시동키조합이 동작하지 않아 macOS를 재설치를 할수가 없어, 단순무식하게 아예 하드디스크를 Mac제품에서 분리하여 파티션을 초기화 한뒤 USB로 macOS를 설치하였다. 이번 포스팅은 해당 가이드를 정리한 내용이며 진짜 무식한 방법이기에, 도무지 macOS설치가 되지 않는 경우 시도해보길 바란다. 그럼 포스팅 시작하겠다.※출처 : https://support.apple.com/ko-kr/HT2049041. Mac에서 하디드스크 분리여기서는 아래 2011년 상반기 출시한 맥북 프로 A1278(Early-2011)모델을 예.......

윈도우즈(Windows OS) PC에서 macOS설치용 USB 부팅디스크 만들기 [내부링크]

윈도우즈 PC에서 macOS설치를 위한 USB 부팅디스크를 만드는 방법을 찾는 도중 우연히 Acute Systems社에서 배포하고 있는 TransMac이라는 프로그램을 하나 찾게 되었다. TransMac은 윈도우즈 환경에서 macOS용 설치디스크를 만드는 것외에도 애플에서 지원하는 파일시스템인 APFS도 함께 지원하고 있다. 윈도우즈 10, 8, 7, Vista 버전 뿐만아니라 윈도우즈 XP환경에서도 설치가능하지만 59달러라는 라이선스 비용이 있기에 참고하도록 하자. 여기서는 무료 사용기간 15일 버전으로 해당 프로그램을 통해 윈도우즈 PC에서 macOS 설치용 USB부팅디스크를 만드는 방법을 간단히 정리하였다. 그럼 포스팅 정리를 시작하겠다.1. macOS 설치이미.......

삼성 노트북9(NX900X3K) 분해/먼지제거/팬청소/CPU 서멀구리스 재도포/SSD 교체하기 [내부링크]

이번 제품은 내가 2016년부터 현재까지 업무용 노트북으로 사용중인 삼성의 노트북9(모델명 : NX900X3K)이다. 삼성 노트북9의 가장 큰 장점은 일단 굉장히 가볍고 크기도 굉장히 얇아 휴대용에서 최고란 점이다. 게다가 RAM은 기본 8GB에 CPU는 i5-5200U(2Core 4 Thread) 그리고 고속 SSD를 기본 지원하여 처음 사용할 당시(2016년)기준 굉장히 알찬 구성이었다. 하지만 지금은 속도가 너무 느리고 발열이 심하여 4년만에 분해하고 청소,업그레이드까지 진행해보고자 한다. 참고로 해당 제품은 mSATA방식의 SSD만 교체가 가능하며, RAM 의 경우 메인보드에 온보드(On-Board) 된 형태여서 교체가 불가능하다. 1. 노트북 하판 분해노트북을 뒤.......

에이서(ACER) ASPIRE ES1-111M 분해/먼지제거/RAM교체/CPU 서멀구리스 재도포하기 [내부링크]

이번 노트북은 대만의 컴퓨터 회사인 ACER社에서 2015년에 출시한 'Aspire(아스파이어) ES1-111M'이란 모델이다. 해당 모델을 나는 2015년에 중고로 약 11만원에 구매하였는데 개발용 노트북으로는 가성비가 정말 좋았다. 일단 Fanless 제품이라 무소음이고, 무게는 1Kg으로 매우 가볍다. CPU는 Intel 쿼드코어 프로세스인 'N2940(베이트레일)'이며, RAM은 최대 8GB까지 지원한다. 다만 SSD나 HDD로 내부 저장용량을 늘릴 수가 없어 그저 메인보드에 온보드(On-Board) 된 eMMC 32GB 저장공간만 활용할 수 있다. 이번 포스팅은 해당 노트북을 4년만에 분해하여 먼지 제거부터 8GB RAM교체, CPU서멀구리스 재도포까지 한번.......

OpenWrt기반 샤오미 공유기에 MPD(Music Player Daemon) 설치하여 원격 음악플레이어 구축하기 [내부링크]

이번에는 OpenWrt가 설치된 샤오미 유무선공유기(모델명:R1CM)에 MPD를 올려 원격으로 음악재생/반복/일시정지/볼륨조절 등 간단한 제어가 가능한 원격 음악플레이어를 구축해보겠다. 여기서 MPD는 'Music Player Daemon'의 약자로 리눅스기반 시스템 백그라운드에서 실행되어 단순 음악 재생부터 스트리밍 서비스등을 제공하는 데몬을 말한다. MPD자체가 그렇게 고사양은 아니기 때문에 자체 내부 메모리가 적은 OpenWrt 설치 공유기에서도 아주 간단히 손쉽게 설치 및 구성이 가능하다. 그럼 포스팅을 한번 시작해 보겠다.1. 실습구조 및 서비스 동작 시나리오 소개이번 포스팅을 위해 구성하는 실습구조는 아래 [그림 1]과 같.......

샤오미 공유기에 OpenWrt 소스파일 직접 빌드하여, MPD(Music Player Daemon)기반 실시간 음악 스트리밍 서비스 구축하기 [내부링크]

지난번 포스팅에서는 OpenWrt 배포판이 설치된 샤오미 공유기(모델명 : R1CM)에 MPD(Music Player Daemon)를 올려 스마트폰으로 원격으로 음악 재생이 가능한 원격 음악 플레이어를 구축하였다. 이번 포스팅에서는 MPD를 통해 음악스트리밍 서비스를 직접 구축하고 스마트폰이나 데스크탑 PC에서 직접 스트리밍 음악을 호출하여 실시간으로 재생하는 테스트를 해보겠다. 일단 이번 포스팅에서 진행하는 샤오미 공유기의 스펙정보는 아래 [그림 1]과 같다. 커널 환경설정 중 타겟보드 설정에 필요하니 해당 정보는 잘 파악하도록 하자. 그럼 포스팅 시작!!1. 실습 구조 및 동작 시나리오 소개이번 포스팅을 위해 구성하는 실습구조는 아래.......

Ubuntu에서 root 계정의 SSH 로그인 접속 설정하기 [내부링크]

가끔 서버에 SSH터미널로 접속을 할 때 사용자계정이 아니라 'root' 계정으로 접근하려는 경우 차단 되어 접속이 안되는 경우가 있다. 크게 원인은 2가지인데 'root' 계정이 비활성화 되어 있거나 보안상 SSH 터미널에서 'root' 계정의 접근을 차단하는 경우가 있다. 그럼 'root' 계정을 활성화하여 SSH터미널 접속까지 간단히 정리해 보겠다.1. 패스워드 설정 통한 Root 계정 활성화일단 'root'계정이 아니라 일반 사용자 계정으로 터미널 접속 후 sudo 권한으로 'root'계정의 비밀번호를 설정한다. 아래처럼 설정하고자 하는 비밀번호를 2번 입력하면 비밀번호 설정이.......

ARM칩셋 보드 대상 Hostapd 배포판 공유 [내부링크]

이전 포스팅에서 크로스컴파일을 통한 Hostapd 설치파일 생성하는 방법을 소개했었다. 하지만 임베디드시스템 개발자라면 모르겠지만 간단히 라즈베리파이와 같은 ARM보드를 WiFi 공유기로 활용하고자 하는 일반 사용자들에게 크로스컴파일 과정은 복잡하고 어려울 수 있다. 그래서 이미 빌드가 완료되어 바로 사용가능한 Hostapd 실행파일과 설치가이드를 정리해 배포하고자 한다. 여기서는 실행파일만 배포하며 설치가이드는 아래 포스팅을 참고하자.※아래 배포판은 직접 빌드하고 동작 테스트까지 완료한 Binary 파일만 등록하였습니다. 본인에게 맞는 테스트 환경을 확인한 후 다운로드하여 사용부탁드리겠습니다.※추후 여러 ARM 기반.......

SDN제어기 ONOS로 OpenWrt에 설치 된 Open vSwitch(OVS)에 Flow Rule 설정 및 Ping 테스트 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 지난 포스팅에서는 샤오미 유무선공유기에 OpenWrt 커널 소스파일을 직접 빌드하여 Open vSwitch(이하 OVS)를 직접 설치해 보았다. 이번에는 OpenWrt가 설치된 샤오미 공유기에 올라간 OVS에 대표적인 SDN제어기인 ONOS를 연결하여 직접 제어해보는 것을 포스팅해보겠다. 참고로 이번 포스팅은 샤오미 유무선공유기에 OpenWrt와 OVS가 올라갔다고 가정하고 진행한다. 아직 OpenWrt나 OVS가 구성되어 있지 않다면 아래 OpenWrt 활용편(1) 포스팅을 먼저 진행 후 본 포스팅을 보길 바란다. OpenWrt 활용편(1):OpenWrt 커널 직접 빌드하여 샤오미 공유기에 OVS설치하기↓↓↓ 1. 실습 구.......

[특별편]Bazel로 빌드하여 Ubuntu 16.04에 ONOS 2.2.0 직접 설치하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 지금까지는 Buck, Maven이라는 빌드도구를 통해 ONOS 소스코드를 빌드하여 설치해 사용했었다. 그러다 ONOS v1.14버전 이상부터는 Google에서 개발한 오픈소스 빌드도구인 Bazel을 통해서 ONOS의 빌드를 지원하고 있다. 그래서 이번 포스팅에서는 빌드도구인 'BAZEL'을 가지고 ONOS v2.2.0 최신버전('19년 11월 기준)을 직접 빌드하여 Ubuntu 16.04 Server에 설치하는 것까지 진행해 보도록 하겠다. 참고로 본 포스팅을 통해 ONOS가 설치되는 서버의 최소 사양정보 및 본 포스팅을 위해 구성한 네트워크 연결 구성은 아래 [그림 1]과 같다. [그림 1] ONOS v2.2.0 설치 서버 사양 및 네트워크 연결 구.......

ONOS버전별 빌드도구(Maven, Buck, Bazel)에 대한 성능 및 특징 분석하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 이번 포스팅에서는 2019년 11월 11일 기준으로 현재 배포된 모든 ONOS의 버전 별 빌드도구의 종류와 그 특징에 대해서 한번 요점정리해 보고자 한다. 이렇게 한번에 정리하고자 하는 이유는 ONOS 문서를 몇개월에 한번 볼까말까하지만 가끔씩 들어가보면 설치가이드가 계속 업데이트 되면서 빌드도구가 어떤 때는 Bazel이었다가, Buck이었다가, Maven이었다가... 이렇게 바뀌는 경우가 많아 이런점을 한번 정리를 할 필요가 있다고 느꼈기 때문이다. 참고로 이번 포스팅 내용은 아래 목차 순으로 진행된다. 1 ONOS 버전 별 빌드도구 소개 ONOS는 OpenDaylight 다음으로 가장 많이 사용되고 있는 오픈소.......

샤오미 유무선공유기(Mi WiFi Mini)에 OpenWrt 배포판 (v18.06.4) 설치하기 [내부링크]

본 포스팅에서는 샤오미(Xiaomi) 무선공유기(Mi Wifi Mini) 위에 기존에 설치된 Firmware 대신 OpenWrt를 설치하고자 한다. OpenWrt를 설치할 수 있는 상용 AP 장비는 총 892대('18.3 기준)이며, 이중에서 샤오미(Xiaomi) 유무선공유기(모델명 : R1CM)가 10,000원대 후반 으로, 가격이 가장 저렴했기에 이번 포스팅을 위한 OpenWrt 설치 장비로 선택했다. 샤오미(Xiaomi) 장비 外 OpenWrt 설치를 지원하는 상용 AP 제품 리스트는 아래 링크를 참고하자.그리고 본 포스팅에서 진행하는 샤오미(Xiaomi) 무선공유기(Mi Wifi)의 OpenWrt 설치과정은 아래 공식 웹페이지의 설치가이드를 참고했음을 밝힌다. 그럼 본격적으로 포스팅을 시작.......

샤오미 공유기(Xiaomi WiFi)에 OpenWrt 설치하여 확장가능한 NAS 구축하기 [내부링크]

보통 유무선 공유기의 뒷쪽을 보면 USB포트가 하나씩 있는 경우가 있다. 해당 USB포트에 (외장 하드디스크, USB 메모리와 같은) 외부 저장장치를 연결하면, 공유기는 자체 펌웨어를 통해 NAS와 같은 Network Storage 기능을 제공해준다. 기본적으로 USB 포트를 지원하는 상용 유무선공유기들은 해당 USB포트에 외부 저장장치를 연결할 경우 자체적으로 NAㅍS 기능을 제공해준다고 보면 된다. 하지만 일단 네트워크 중계 및 공유가 주목적인 유무선 공유기 특성상 자체 펌웨어로 NAS 구축시에는 아래와 같은 3가지 문제점이 있다.그렇다고 그냥 완제품으로 판매되는 상용 NAS 장비를 구매하자니 '20~30만원'이라는 굉장히 높은 가격에.......

Vis.js를 활용하여 SDN 네트워크 토폴리지(Network Topology Viewer)에 네트워크 장애정보 출력하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 지난 포스팅에서는 자바스크립트 기반의 시각화 라이브러리인 Vis.js를 활용하여 SDN 네트워크 토폴로지 뷰어를 구축해보았다. 이번에는 해당 네트워크 상에서 발생되는 장애정보를 네트워크 토폴로지에 반영하여 네트워크 관리자가 네트워크 토폴로지를 통해 어느 위치의 어떤 스위치, 어떤 호스트 혹은 어떤 링크에서 장애가 발생됬는지 한눈에 파악가능하도록 장애 모니터링 기능을 구현해보겠다.본 포스팅을 구성한 물리 네트워크 구조는 아래 [그림 1]과 같다.[그림 1] 본 포스팅을 위해 구성한 물리 네트워크 구조 본 포스팅에서 진행하는 내용은 아래 [그림 2]와 같다. 먼저 Mininet으로 2개의.......

1세대 이동통신 표준기술 및 구조 한번에 정리하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 이동통신(Mobile Telecommunication)은 이름 그대로 ‘이동가능한(=Mobile) 원거리 통신(=Telecommunication)’을 의미한다. 특히 이동통신 서비스의 가장 큰 특징은 바로 ‘언제 어디에 있던 자유로운 원거리 통신을 지원한다’는 것이다. 그리고 이런 특징들은 [표 1]과 같이 1980년대부터 약 10년주기로 각 세대를 지나며 여러형태로 진화해오고 있다. 그중에서도 이번 포스팅에서는 1980년대 시작된 최초 이동통신시스템, 즉 1세대 이동통신시스템의 표준기술 및 구조에 대해 한번 포스팅해보겠다. 연도 1980년1990년 2000년 2010년 2020년 이동통신 세대1G(이번 포스팅!!) 2G3G 4G 5G [표 1] 연.......

2세대 이동통신 표준기술 및 구조 한번에 정리하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 1세대 이동통신의 가장 큰 문제점은 높은 단말기 가격과 이용요금 그리고 낮은 통화품질과 휴대성이었다. 특히 1세대 아날로그 통신신호는 간섭으로 인한 왜곡이 심해 낮은 통화품질의 원인이 되었다. 결국 가입자들의 해당 문제점 개선에 대한 요구사항이 증가하게 되었고, 기존의 아날로그 음성신호를 디지털 신호로 변환하여 처리하는 ‘디지털 셀룰러 시스템’, 즉, 2세대 이동통신이 등장하게 된다. 이번 포스팅에서는 바로 이때 등장한 2세대 이동통신 시스템의 표준 구조와 그 기술에 대해 한번 알아보겠다. 연도 1980년1990년 2000년 2010년 2020년 이동통신 세대1G 2G(이번 포스팅!!)3G.......

3세대 이동통신 표준기술 및 구조 한번에 정리하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 인터넷이 활성화되면서 여러가지 (영상, 이미지, 음악 등의) 멀티미디어 서비스가 증가하게 된다. 하지만 이런 멀티미디어 서비스를 통해서 늘어난 대용량의 데이터트래픽을 처리하기에 2세대 이동통신시스템의 속도와 처리용량은 너무 적을 수 밖에 없었고 자연스럽게 2세대에서 3세대 이동통신으로 넘어가게 된다. 그러면 이때 등장한 3세대 이동통신 시스템의 표준 구조와 그 기술에 대해 한번 알아보겠다. 연도 1980년1990년 2000년 2010년 2020년 이동통신 세대1G 2G3G(이번 포스팅!!)4G 5G [표 1] 연도 별 이동통신 세대 구분 1. 3세대 이동통신의 국제표준안, "IMT-2000" | IMT-2000 소개 유무.......

4세대 이동통신 표준기술 및 구조 한번에 정리하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 2000년대 3세대 이동통신의 등장 이후, 모바일 기기에 대한 보급률이 증가하면서 멀티미디어 서비스에 대한 수요와 이에 따른 트래픽이 폭발적으로 증가하게 된다. 특히 국내의 경우, 각 통신사별로 3세대 이동통신 가입자 유치경쟁이 벌어지면서 데이터 무제한 요금제까지 등장하는데 이역시 트래픽 증가의 원인이 되었다. 결국 3세대 이동통신 시스템이 처리가능한 데이터 수용량은 생각보다 빨리 한계에 다다르게 된다. 이를 해결하기 위해 3세대 보다 데이터 처리속도가 빠르고 처리용량이 큰 4세대 이동통신시스템이 등장하게 된다. 이번 포스팅에서는 바로 이때 등장한 4세대 이동통신 시.......

5세대 이동통신의 표준기술 및 구조 한번에 정리하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 4세대 이동통신망인 LTE를 통해 수용가능한 데이터의 양이 다가오는 2023년에는 포화가 될 것으로 예측되면서, LTE 보다 더 빠른 데이터 처리속도를 가지는 다음 차세대 이동통신시스템에 대한 논의가 국제표준화 기구인 ITU를 통해 시작되는데 이것이 바로 5세대 이동통신시스템이다. 그리고 2019년 4월, 국내에서 세계 최초 5G 상용화를 시작한다. (물론 세계 최초라는 것에는 많은 이견들이 있지만 여기서는 5G 개통을 시작했다는 것에 초점을 맞추자.) 2019년 기준으로 현재 국내는 5G와 4G 'LTE'가 상용망으로 병행 운용중이며 그중에서 5G는 가입자 수를 꾸준히 늘려 나가고 있다. 그럼 여기서.......

1G~5G까지 이동통신시스템 표준구조 한눈에 요약하기 [내부링크]

0. 들어가기 전에 . . . | 간단한 포스팅 소개 지금까지 포스팅에서는 1G~5G까지 각 세대 별 이동통신시스템의 표준구조와 각 기술 내용 그리고 각 이동통신시스템의 한계 등 동향 내용을 정리해 소개하였다. 이번 포스팅은 지금까지 진행했던 각 세대별 이동통신시스템의 표준 구조를 한눈에 파악할 수 있도록 표로 정리하여 요약 정리해 보겠다. 1. 전세대 별 이동통신시스템 표준구조 분석 | 이동통신시스템 전체구조 요약 분석 [그림 1] 각 세대 별 이동통신시스템 표준 구조(이동통신표준 기술문서를 참고하여 간단히 요약해 재편집된 이미지 알려드립니다.) [그림 1]의 세대 별 이동통신시스템 표준 구조 내용을 한번에 요약 정리해보겠다.......

OpenWrt 18.06 커널 직접 빌드하여 샤오미 무선공유기(Mi WiFi)에 OpenvSwitch 설치하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅소개 지난 포스팅에서는 이미 빌드가 완료되어 배포중인 OpenWrt 실행파일을 가지고 샤오미 유무선공유기(Mi WiFi Mini)에 직접 설치해보았었다. 이번 포스팅에서는 샤오미 무선공유기(Mi WiFi)에 OpenvSwitch(이하 OVS) 패키지가 OpenWrt OS에 포함되도록 OpenWrt 커널의 환경설정 수행 후 직접 커널소스파일을 빌드하여 이때 생성된 실행파일을 가지고 샤오미 무선공유기에(Mi WiFi Mini)에 OpenWrt와 OVS를 직접 올려보고자 한다. 참고로 해당 포스팅 후 이어지는 다음 포스팅에서는 샤오미 유무선공유기에 설치된 OpenWrt OS 환경에 설치된 OVS에 SDN 제어기인 ONOS를 연결하여 무선네트워크 환경에.......

Yocto Project 크로스컴파일러를 통해 hostapd, dnsmasq 소스파일 직접 크로스컴파일하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 리눅스 커널 빌드나 크로스컴파일을 해본 사람이라면 Yocto Project라는 것을 한번쯤은 들어봤을 것이다. 우선 Yocto Project는 하드웨어 아키텍처에 상관없이 임베디드 제품 용 Linux 개발을 위한 통합 빌드환경을 제공하는 오픈소스 프로젝트이다. Yocto Project를 통해 빌드되어 설치된 리눅스 OS를 보통 Yocto Linux라고 부르며, Yocto Linux의 경우 임베디드시스템에 적용되는 저전력 CPU인 ARM 칩셋 기반의 보드에도 설치가능하다. Yocto Linux OS 환경에서 실행가능한 프로그램을 올릴려면 전용 Yocto SDK를 통해 제공되는 크로스컴파일러가 반드시 필요하다. 지난 포스팅에서는 ARM v7과 v8.......

Vis.js를 활용한 ONOS 기반 SDN 네트워크 토폴리지 모니터링(Network Topology Viewer) 구축 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 이번 포스팅에서는 자바스크립트 기반의 오픈소스 시각화라이브러리인 Vis.js를 이용하여 SDN으로 관리되는 네트워크 토폴로지 정보를 실시간으로 보여주는 네트워크 토폴리지 뷰어(Network Topology Viewer)를 구축해보고자 한다. 이번 포스팅에서 구성하는 물리 네트워크 구조는 아래 [그림 1]과 같다. [그림 1] ONOS기반 SDN 네트워크 토폴로지 뷰어(Network Topology Viewer) 구축 위한 물리 네트워크 구조 그리고 이번 포스팅을 통해 구축되는 ONOS 기반 SDN 토폴로지 뷰어의 동작과정은 아래 [그림 2]와 같다. 우선 Mininet을 통하여 2개 OVS 스위치에 각각 2개의 Host가 연결되는 가상 네트워크.......

hostapd 소스파일 직접 크로스컴파일(Cross-Compile)하여 라즈베리파이3(ARMv7)에 AP구축하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 hostapd는 Wifi AP 기능 지원 및 관련 인증 서비스를 제공하는 데몬이다. 우선 데몬은 시스템 백그라운드에서 여러작업을 수행하는 프로그램을 말하는데 hostapd는 이런 리눅스 OS환경의 백그라운드에서 AP(Access Point) 및 관련 인증 서비스를 제공한다. 간단하게 말하면 리눅스OS 환경에 물리 장비를 간단히 WiFi 공유기로 바꿔준다고 생각하면 된다. 그래서 이번 포스팅에서는 이 hostapd를 가지고 직접 소스파일을 크로스컴파일하여 ARM 장비를 WiFi 무선 공유기로 만들어보고자 한다. 이를 위해 현재 수중에 있는 ARM 프로세서가 탑재된 보드를 찾아보니 아래 [그림 1]과 같이 라즈베리.......

hostapd 소스파일 직접 크로스컴파일(Cross-Compile)하여 ODROID C2(ARMv8, aarch64)에 무선 AP구축하기 [내부링크]

0. 들어가기 전에 . . . . | 간단한 포스팅 내용 소개 지난 포스팅에서는 아래 [그림 1]의 "ARM v7 단말"인 라즈베리파이3에 hostapd 소스파일을 크로스컴파일하고, 이때 생성된 실행파일을 올려 AP를 구축해보았다. 그리고 이번 포스팅에서는 ARM v8 프로세서를 탑재한 "ODROID C2"를 가지고 hostapd를 크로스컴파일하여 실행파일을 생성해 이를 가지고 AP를 구축해보고자 한다. [그림 1] "라즈베리파이3"와 "ODROID C2" ARM 보드 위 [그림 1]에 나온 세부스펙 정보와 같이 ODROID C2의 ARM v8 프로세서는 32bits OS를 지원하는 ARM v7과 다르게 64bit 운영체제를 지원한다. 그렇기 때문에 크로스컴파일러의 종류도 ARMv7과는 다르다. 게다가 무.......

(JAVA 라이선스 정책변경에 따른) Ubuntu에 JAVA v1.8 설치하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 세계 최대 데이터베이스 관련 SW 개발사인 Oracle社는 2019년 1월 JAVA SE(Standard Edition )8 verision의 무료배포를 중단한다. 물론 Oracle 관계자 말로는 무료 배포 중단이 아니라 기술적인 지원 및 업데이트에 대해서 유료로 전환한다고 밝히고 있지만 일반 사용자입장에서는 결국 유료화란 말과 같은 의미로 볼 수 있다. 이전에는 패키지 설치 관리도구인 apt-get을 통해 손쉽게 "oracle-java8-installer" 패키지를 설치하여 JAVA 8의 설치와 초기세팅이 가능하였으나 지금은 최신 파일을 소스파일로 직접 다운로드 받아 설치하거나, OpenJDK를 apt-get과 같은 패키지 관리도구를 이용해 설치.......

OpenDaylight를 OVS에 연결하여 Reactive 방식 패킷처리 테스트 하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 먼저 SDN 제어기에 의한 패킷 처리 방식은 크게 SDN 스위치에 미리 패킷의 Flow를 정의하는 Proactive 방식과 Flow가 정의되지 않은 미지의 패킷이 SDN 스위치로 유입되었을 때, SDN 제어기에 의하여 최적의 경로를 결정하는 Reactive 방식이 있다. 보통 SDN 제어기들은 2가지 방식을 모두 지원하고 있으며, SDN을 적용하는 목적에 따라 선택 가능하다. 이전에 포스팅한 [OpenDaylight 실습편]에서는 직접 OpenDaylight를 통해 OVS 스위치로 패킷의 Flow 정책을 직접 정의하고 내려주었다. 이때의 방법이 바로 Proactive 방식에 해당된다. 이번에는 사용자가 아니라 SDN제어기인 OpenDaylight가 스스.......

OpenSSH 크로스컴파일(Cross-Compile)하여 ARM 보드에 설치 및 동작 테스트하기 [내부링크]

0. 들어가기 전에.... | 간단한 포스팅 소개 우리가 흔히 원격지 호스트로 접속을 위해 사용하는 SSH(Secure SHell)는 서로 다른 원격지 호스트간에 안전하고 신속한 통신을 지원하는 터미널 프로토콜을 말한다. 그리고 해당 SSH 프로토콜을 기반으로 암호화된 터미널 통신을 지원하는 오픈소스 소프트웨어가 바로 OpenSSH이다. 가끔 일부 임베디드나 IoT 디바이스와 같은 저전력 CPU인 ARM 기반의 보드에는 적은 메모리 사이즈에 꼭 필요한 기능동작만 구현되다보니 SSH 데몬이 돌아가지 않아 매번 시리얼 포트를 통해 별도의 터미널 접속을 하는 불편한 점이 있었다. 보통 Debian이나 Redhat 계열의 리눅스의 경우 apt-get이나 rpm과 같은 패.......

[5G동향]Verizon과 국내 이동통신사를 통해 본 "세계 최초 5G 상용화" 동향 분석 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 이번 포스팅 주제는 아래 '메일경제'의 인터넷 기사를 우연히 보고 결정하게 되었다. 해당 기사의 내용을 보자면 현재 미국 최대 통신사 중 하나인 Verizon이 이미 5G 세계최초 상용화를 했는데 한국이 꼼수를 써서 세계최초 5G란 상용화를 하게 되었다는 것이 기사의 주요 골자이다. 기사를 읽고 난 뒤 '정말 세계최초 5G상용화는 어느쪽일까?' 혹은 '다른곳에서도 이미 5G 상용화를 했음에도 공표를 하지 않아 묻힌 것은 아닐까?' 라는 이런 호기심에 이번 포스팅을 시작하게 되었다. 그래서 이번 포스팅에서는 미국 Verizon에서 시작하는 5G 서비스 그리고 한국의 5G 서비스 내용을 비교하고 분석해.......

Ubuntu 16.04 Server에서 스마트폰 USB테더링으로 인터넷 연결하기 [내부링크]

0.. 들어가기 전에... | 간단한 포스팅 소개 이번 포스팅에서는 Ubuntu Server버전에서 제공되는 CLI 환경에서 USB 테더링을 통한 인터넷 연결 방법을 다뤄보고자 한다. 해당 방법은 주로 Ubuntu Server가 설치된 호스트가 유/무선 Network Adapter를 통해서 인터넷에 연결하기 어려운 경우 스마트폰의 USB 테더링 기능을 이용하여 손쉽게 호스트의 USB포트를 통해 인터넷에 연결하여 활용할 수 있다. 물론 Ubuntu가 Desktop 버전으로 설치되었다면 스마트폰의 USB 테더링 기능을 켜고 스마트폰과 연결된 USB 케이블을 호스트의 USB 포트에 케이블을 꽂는 것과 동시에 Play & Plug 기능으로 바로 동작 가능하지만 Ubuntu Server에서는 별도의.......

OpenVPN 가상 터널링 인터페이스에서 물리 NIC으로 패킷포워딩(Packet Forwarding)하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 기본적으로 OpenVPN 환경의 VPN 터널링 네트워크는 RSA 기반의 인증을 거친 OpenVPN Server와 Client 사이 혹은 OpenVPN Server와 연결된 OpenVPN Client들간의 통신을 지원한다. 애초에 VPN의 목적이 "두개의 서로 다른 도메인의 네트워크가 통신이 가능하도록 가상 네트워크로 묶어 제공"하는 것이기 때문에, 동일한 VPN으로 묶인 Server와 Client들 이 외의 호스트간 통신은 불필요할지도 모른다. 하지만 기존 VPN 터널을 통해 주고받는 패킷을 패킷 포워딩을 통해 다른 호스트와 연결해 줄 필요가 가끔 있는데, 아래 [그림 1]을 보자. [그림 1] 본 포스팅 실습 구조 [그림 1]은 본 포스.......

OpenDaylight란 무엇인가? (ODL 개념 및 동향 정보 소개) [내부링크]

1.OpenDaylight란? | OpenDaylight의 정의 및 역할 이번 포스팅에서는 오픈소스 SDN 제어기 중 하나인 OpenDaylight(혹은 ODL)에 대해 간단히 소개하고, 해당 Architecture에 대해 하나하나 다뤄보고자한다. 우선, OpenDaylight는 2000년 리눅스 발전을 목표로 설립된 Linux Foundation에 의해 2013년 4월 공식 출범한 오픈소스 프레임워크 프로젝트이다. 상용 네트워크 장비 및 솔루션 제공 회사인 Cisco社가 주도적으로 이끄는 오픈소스 커뮤니티에 의해서 개발이 시작되었으며 현재는('19년 2월 기준) Cisco社 포함 총 31개社가 Project Member로 참여하고 있다. Member社 대부분이 상용 네트워크 솔루션 제공업체인 만큼 SDN 제어기 중에서도.......

Ubuntu 16.04에 OpenDaylight Oxygen 설치하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 본 포스팅에서는 Linux Foundation에서 주관하는 오픈소스 Project 중 하나인 SDN 제어기 OpenDaylight로 OpenFlow 프로토콜을 통해 Open vSwitch(이하 OVS)로 들어오는 트래픽의 Flow를 직접 제어해 보이고자 한다. OpenDaylight는 다른 SDN 제어기보다 조금 무거운 편(용량도 크고, 기능도 많고)에 속하며 그만큼 조금 높은 서버의 사양을 요구하기때문에, 되도록이면 메모리 4G이상, CPU 2 Core 이상 호스트에 설치하기를 권장한다. 본 포스팅을 위한 OpenDaylight 설치 서버 구성 및 실습구성도는 아래 [그림 1]과 같다. [그림 1] OpenDaylight + Mininet 설치 구성 정보 실습 구성 내용은.......

Mininet으로 OVS 가상네트워크 생성 및 OpenDaylight 연결하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 이번 [OpenDaylight 실습편(2)]는 지난번 포스팅에 이어서 Mininet 기반의 OVS 가상네트워크를 구성하고, 지난 포스팅에서 설치한 OpenDaylight를 연결하는 것까지 진행해본다. 그리고 다음 [OpenDaylight 실습편(3)] 포스팅에서는 직접 Flow Rule을 정의하고 OpenDaylight를 통해 OVS에 직접 Flow를 내려주어 Ping 테스트까지 되는지 진행해보겠다. 본 포스팅을 위한 OpenDaylight 설치 서버 구성 및 실습구성도는 아래 [그림 1]과 같다. [그림 1] OpenDaylight + Mininet 설치 구성 정보 실습 구성 내용은 [그림 1]과 같다. 앞서 OpenDaylight 실습편(1) 포스팅에서는 OpenDaylight 8번째 배.......

OpenDaylight로 OVS에 Flow Rule설정 및 Ping 테스트하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 이번 포스팅에서는 지난 [OpenDaylight 실습편(2)]에서 구축한 OVS 기반 가상네트워크 환경에서 직접 OpenDaylight를 통해 Flow Rule을 OVS에 내려주고 실제 Flow 정책이 적용되어 호스트간 통신이 이루어지는지 Ping 테스트까지 진행해보겠다. 본 포스팅을 위한 OpenDaylight 설치 서버 구성 및 실습구성도는 아래 [그림 1]과 같다. [그림 1] OpenDaylight + Mininet 설치 구성 정보 우선 이번 포스팅에서 실습 구성내용은 [그림 1]에서 보듯이 1 OpenDaylight를 통한 OVS의 Flow Rule 설정 그리고 2 Flow Rule 설정 후, Host 1과 Host 2사이 Ping 테스트 이렇게 2가지로 진행된다. OpenDayli.......

OpenDaylight v0.10.0(Neon) 소스파일 직접 빌드하여 설치하기 [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 이전 포스팅에서는 이미 빌드가 완료되어 실행가능한 상태의 OpenDaylight 배포판을 직접 설치했었다. 해당 방법이 가장 간단한 OpenDaylight 설치 및 운용 방법이긴 하지만, OpenDaylight가 설치되는 OS 커널환경이 바뀌거나, 혹은 OpenDaylight의 코드수정과 같은 관련 Application 개발과정에서는 작성된 소스코드가 정상적으로 동작하는지 확인하기 위한 빌드 과정이 반드시 필요하다. 그래서 이번 포스팅에는 (2019년 4월 배포된) OpenDaylight 10번째 배포판 Neon(v0.10.0)의 소스파일을 가지고 Ubuntu 16.04 환경에서 직접 빌드하여 설치해보고자 한다. 이번 포스팅에서 활용된 OpenDayligh.......

OpenVPN 2.1.4 소스파일을 정적 컴파일(Static Compile)하여 Ubuntu 16.04에 설치하기 [내부링크]

※ 해당 포스팅에서 OpenVPN 컴파일 설치시 오류가 발생할 수 있습니다. 아래에 최신('20.4 기준) Ope...

샤오미 유무선공유기(Mi Wifi Mini)에 OpenWrt 배포판 설치하기 [내부링크]

0. 들어가기 전에 ... | 포스팅 간단한 소개 본 포스팅에서는 샤오미(Xiaomi) 무선공유기(Mi Wifi Mini...

OpenWrt 설치된 샤오미 유무선공유기(Mi WiFi Mini) 원래 펌웨어로 복구하기(공장초기화) [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 소개 이번 포스팅은 아래의 OpenWrt 설치편(1) 포스팅을 통해 Op...

[특별편]ONOS v1.10.4 버전 Buck으로 Build하여 Ubuntu에 설치하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 이번 포스팅에서는 최근 리뉴얼된 ONOS 설치 ...

ONOS로 OVS 제어(1) -Maven으로 ONOS v1.5.1 빌드하여 Ubuntu 16.04에 설치하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 ONOS는 비영리 기관인 ON.LAB이 주도한 오...

[SDN동향]업체 별 Networking OS 비교 분석('18.5 기준) [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 입사 후 Accton, Quanta, NEC 등 여러 벤더들의 스위...

[SDN동향]업체 별 스위치 ASIC(Chipset) 비교 분석('18.2 기준) [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 ASIC은 스위치에 탑재되는 고밀도 반도체 회로이다. 보통 ...

[SDN동향]업체 별 White Box 스위치 비교 분석('18.2 기준) [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 내용 소개 ​ White-Box 스위치는 운영체제 없는 깡통 PC처럼 ...

[SDN동향]SDN이란 무엇인가?('18.5 기준) [내부링크]

0. 들어가기 전에 | 간단한 포스팅 내용 소개 본 포스팅은 "SDN이 무엇인지"에 대한 가장 기본적인 개념...

[SDN 동향]SDN 제어기의 Reactive & Proactive 패킷처리방식 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 SDN 제어기에 의한 패킷 처리 방식은 크게 SDN 스위...

[SDN동향]White-Box 스위치 用 Networking OS 기능 및 구조 비교('18.5 기준) [내부링크]

0. 들어가기 전에 ... | 간단한 포스팅 내용 소개 보통 Networking Operating System(이하 NOS)이라...

[SDN동향]오픈소스 SDN제어기 비교 분석('18.5 기준) [내부링크]

​ 0. 들어가기 전에... | 간단한 포스팅 내용 소개 ONOS 포스팅을 하면서 생각보다 많은 SDN 제어...

[5G동향]국내외 통신사 별 5G Orchestrator 비교 분석 [내부링크]

0. 들어가기 전에 . . . | 간단히 포스팅 내용 소개 '세계 이동통신 표준화 기구'인 3GPP에서는 2019년 ...

[5G동향]국내외 업체 별 5G Orchestrator 비교 분석 [내부링크]

​0. 들어가기 전에 . . . | 간단히 포스팅 내용 소개 지난 5G 동향에서는 국내외 이동통신사(Telco) 별 ...

[5G 동향]국내외 기업,통신사 별 5G 네트워크에서 SDN의 위치와 역할 [내부링크]

0. 들어가기 전에 . . . | 간단한 포스팅 내용 소개 지금까지 SDN은 “SD~(Software Defined ~)”라...

Telnet과 NetCat(NC)을 활용한 TCP 포트 연결상태 확인하기 [내부링크]

우리가 보통 네트워크 연결을 할 때 가장 많이 사용하는 프로그램이 바로 Ping이다. Ping 이라는 명령어...

Floodlight로 OVS 제어(3)-Floodlight로 OVS Flow Rule 설정 및 Ping 테스트 [내부링크]

0. 들어가기 전에 ... | 간단히 포스팅 내용 소개 이번에는 지난 포스팅에서 Mininet으로 구성한 OVS ...

Floodlight로 OVS 제어(2)-Mininet으로 OVS 가상네트워크 생성 및 Floodlight 연결하기 [내부링크]

0. 들어가기 전에 ... | 포스팅에 대한 간단한 소개 지난 포스팅에서는 Floodlight를 직접 설치해보았다. ...

Floodlight로 OVS 제어(1)-Floodlight v1.2 설치 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 본 포스팅에서는 BigSwitch Networks社에서 공식 후원...

[특별편]Build 과정없이 ONOS 배포버전 바로 설치, 실행하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 내용 소개 지금까지는 ONOS 설치를 Maven이나 Buck을 통해 직...

[특별편]Celery, InfluxDB, Grafana를 활용한 SDN 모니터링 시스템 구축 [내부링크]

0. 들어가기 전에 ... | ONOS 모니터링 시스템 구축 위한 TB 소개 이번 포스팅에서는 ONOS(w...

ONOS로 OVS 제어(4) - ONOS로 OVS에 들어오는 VLAN 패킷 제어 테스트 [내부링크]

​​0. 들어가기전에... | 간단한 포스팅 내용 소개 이번에는 ONOS 실습 마지막 포스팅이다. 그동...

ONOS로 OVS 제어(3) - ONOS로 OVS에 Flow Rule 설정 및 Ping 테스트 [내부링크]

0. 들어가기전에... | 간단한 포스팅 내용 소개 지난 포스팅에서는 ONOS도 설치해봤고, Raspberry Pi...

ONOS로 OVS 제어(2) - 라즈베리파이3(Raspberry Pi3)에 OVS 설치 [내부링크]

0. 들어가기전에... | 간단한 포스팅 내용 소개 이번에는 지난 번 포스팅에 이어 ONOS를 통해 제어할 ...

오픈스택<활용편>- 실제 인스턴스 생성 및 Nova-Network를 이용한 네트워크 설정하기 [내부링크]

​1. 시작하기 전에 . . . ㅣ 간단한 포스팅 내용 소개 [그림 1] OpenStack 포스팅 내용 소개 이번 ​...

오픈스택<설치편>- Ubuntu 14.04에 Nova-Network 환경 OpenStack Icehouse 설치하기 [내부링크]

0. 설치중 발생한 에러 ㅣ 설치도중 발생한 에러와 해결방법 소개 아래 내용은 내가 OpenStack을 설치하...

오픈스택-Floating IP와 Fixed IP [내부링크]

1. 시작하기 전에... ㅣ Floating IP와 Fixed IP 포스팅 배경​​​[그림 1] OpenStack 포스팅 내...

오픈스택-IP와 Subnet 정리- [내부링크]

1. 시작하기전에... ㅣIP와 Subnet 정리 포스팅 배경 [그림 1] OpenStack 포스팅 내용 소개​ OpenS...

오픈스택-OpenStack Network 완전정복(Neutron과 Nova-Network)- [내부링크]

​​1. 시작하기전에... ㅣ Nova-Network와 Neutron에 대한 포스팅 배경 ​ [그림 1] OpenStack 포스...

오픈스택<이론편>- 오픈스택이란 무엇인가? [내부링크]

​1. OpenStack 이란? ㅣ OpenStack의 정의 및 역할 [그림 1]​ OpenStack 포스팅 내용 소개 OpenS...

셰프<활용편>-Cookbook 업로드 및 설치하기 [내부링크]

1. CHEF 활용편을 시작하며...ㅣ CHEF 활용에 대한 소개 [그림 1]​ CHEF 포스팅 내용 소개 이...

셰프<설치편>-CentOS에 CHEF 설치하기 [내부링크]

1. CHEF 설치 전에.. ㅣ CHEF 설치전 환경설정 [그림 1]​ CHEF 포스팅 내용 ​CHEF를 설...

셰프<이론편>- 셰프(CHEF)란 무엇인가? [내부링크]

1. CHEF 란? ㅣ CHEF의 정의 및 역할 [그림 1]​ CHEF 포스팅 내용​CHEF는 OPSCOD...

OpenVPN으로 VPN 환경구축(1)-Ubuntu 16.04에 OpenVPN Server 구축하기 [내부링크]

0. 들어가기 전에... | 간단한 포스팅 소개 우선 VPN(Virtual Private Network, 가상사설망)은 두개...

OpenVPN으로 VPN 환경구축(2)-Ubuntu, Windwos에 OpenVPN Client 구축하기 [내부링크]

​ 0. 들어가기 전에... | 간단한 포스팅 내용 소개 이번 포스팅은 지난 [OpenVPN Server 구축편]에 ...

OepnVPN 소스파일 크로스컴파일(Cross-Compile)하여 ARM에 설치하기 [내부링크]

 0. 들어가기 전에 ... | 간단한 포스팅 소개 이번 포스팅에서는 아두이노, 라즈베리파이와 같은 저전...