Windows 환경에서 port forwarding 구현하기

HYEONG HWAN, MUN/ 6월 13, 2019/ 미분류/ 0 comments

Windows 10, Windows Server 2012 운영체제에 내장된 netsh 라는 프로그램을 사용하여 포트포워딩을 해 보겠다. – 리눅스의 경우 : https://blog.lael.be/post/69 글을 참고하길 바란다.   Windows 운영체제에서 키보드 [WIN] + X 를 누르면 특수 메뉴가 나타난다. 이 메뉴에서 Windows Powershell(관리자)을 클릭한다.   리눅스 처럼 TAB 키를 활용한 자동완성이 안되기 때문에, 반드시 모든 명령어를 잘 입력해야 한다.   응용프로그램 단계에서 포워딩되므로 L7 이며, netsh 프로그램이 패킷을 받았다가 전달하는 거라서, 전송지의 아이피가 바뀌게 되므로, 엄밀히 말해서 forwarding이 아니라 proxy 이다.   모든 포트 포워딩 보기 (show port proxy) netsh interface portproxy show all < 그림 : 이 서버는 port 8082 번을 Listen 해서, 로컬 네트워크의 192.168.99.252의 8082 로 포워딩하고 있다. >   포트 포워딩 해제 ( delete port proxy ) 위의 show all 에서…

git 에서 line break (crlf, lf) 관리하기

HYEONG HWAN, MUN/ 5월 16, 2019/ 미분류/ 0 comments

텍스트 파일을 다룰 때 정해야 할 사항이 두가지가 있다. 하나는 언어셋(charset)이고, 다른 하나는 줄바꿈(line-break)이다. 다행하게도, 요즘의 대부분의 사람은, 파일 언어셋을 utf-8 으로 사용한다.   그렇다면 우리는 줄바꿈(line break) 만 관리하면 한다. 줄바꿈 (line break, line ending, line feed) 문자. 줄바꿈 문자는 Windows 와 Linux(Mac) 의 처리가 다르다. Windows 는 CR(캐리지 리턴) + LF(라인피드)를 새 줄로 간주한다. Linux 는 LF(라인피드)를 새 줄로 간주한다.   이것은 과거 컴퓨터 시스템에서 사용하던 타자기(type writer) 때문에 발생하는 것이다. 캐리지리턴(carrige return) : 캐리지(타자기의 커서)를 원래위치로 되돌리는 작업 라인피드(line feed) : 종이를 감아서 줄을 넘김 CRLF : 캐리지를 되돌리면서 줄을 넘김. 요즘의 처리 방식. 요즘은 디지털의 시대라서, typewriter 처럼 캐리지를 처음으로 옮기는 작업이 필요 없다. 즉, 캐리지리턴이 필요 없다! (CR을 무시하는 추세임.) (여러분이 여러 많은 언어에서 줄바꿈…

흑자부도, 월세파산, 전세파산 시대가 왔다.

HYEONG HWAN, MUN/ 5월 16, 2019/ 미분류/ 2 comments

이 글은 – 20대들아, 우리나라 미래는 필리핀이다 (https://blog.lael.be/post/156) , 대공황기의 49가지 생존전략 (https://blog.lael.be/post/5604) 글과 연관이 있다고 볼 수 있다. 인터넷상의 이런 저런 글을 읽던 중, 괜찮은 논설 글이 있어서 이곳에 옮겨본다. 아래의 글은 월세투자자는 바보투자자다 라는 책에 나오는 글이며, 저자는 손대식 (sohn2738)님 이다. 책 구매 링크는 여기 : https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=186978442   라엘이의 한마디 원문을 약간 다듬어서 옮겼습니다. 글의 흐름에 맞지 않거나, 거친 표현은 뺐습니다.   미리 알아 둘 경제 용어 몇가지 경제 용어 뜻을 알아보자.   – 환금성 (換金性) 물건(物件)을 팔아서 현금화(現金化)할 수 있는 성질(性質). 이 용어는 부동산에서 많이 쓰이는데, 부동산이 “의식주”의 주거 공간으로 보면 상관 없는데, 사고팔고 차익을 남기는 투자(투기)로 보면 중요한 요소이다. 즉, 부동산을 주거공간으로 보기보다, 투자대상으로 보는 경우, 얼마나 현금(돈)으로 잘 바꿔지는지가 중요하며, 이것이 바로 환금성 이다.  …

windows 계정 로그온 기록하기

HYEONG HWAN, MUN/ 5월 3, 2019/ 미분류/ 0 comments

개발용으로 쓰는 Windows 머신이 있는데, 오늘 갑자기 RDP 연결이 안되더라.   디버그를 위해 콘솔로 접속 후 이벤트 뷰어를 보았다. 이벤트 뷰어에 표시된 에러 메세지는 아래와 같았음. RD 세션 호스트 서버가 불완전한 연결을 많이 받았습니다. 시스템이 공격을 받을 수 있습니다. Event ID 는 1006 번.   그런데 이 머신은 방화벽 설정이 잘 되어있고, 나 이외에는 접속하는 사람이 없다. 네트워크 통신을 확인해 보았는데, 이상한 연결도 없었다.   아무튼 내가 취한 조치사항은 아래와 같음. 1) 운영체제 업데이트 2) 윈도우 로그인 기록 남기기. (성공, 실패 모두)     Windows 계정 로그온 기록하는 방법 시작 -> 실행 -> gpedit.msc 로컬 그룹 정책 편집기가 켜진다. (이 Group Policy 를 수정해서 윈도우의 많은 부분을 튜닝할 수 있다. 웹서버나 미디어 서버 운영할 때, 통신 속도제한 거는 기능을 설정하면…

jmeter requirement

HYEONG HWAN, MUN/ 4월 25, 2019/ 미분류/ 0 comments

웹서비스의 스트레스 테스트 및 동접 부하 테스트를 진행중임.   테스트 도구는 순간 동시요청 숫자와 비례하게 CPU 를 사용한다. 너무 저렴한 머신을 사용하지 말것. 머신은 일반적인 i7 급 성능은 나와주어야 한다.   테스트는 Windows OS 머신에서 진행했음.   네트워크 튜닝이 필요했음. 관련 가이드 문서를 읽고 수정을 진행함.     1. 사용가능한 포트 범위 확장 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters MaxUserPort 라는 DWORD 타입의 값을 추가하고 65534 를 입력. 기본값은 5000 이다. (일부 운영체제는 기본값이 16384)     MaxUserPort Key: Tcpip\Parameters Value Type: REG_DWORD—maximum port number ValidRange: 5000–65534 (decimal) Default: 0x1388 (5000 decimal) Description: This parameter controls the maximum port number used when an application requests any available user port from the system. Normally, short-lived ports are allocated in the range from 1024 through 5000. Setting this parameter to a value…

소멸위험지수와 재정자립도

HYEONG HWAN, MUN/ 4월 11, 2019/ 미분류/ 1 comments

시사 상식 글입니다. 2018년 한국의 합계출산율은 0.98명 입니다. 즉, 남자와 여자가 만나서 출산이 이루어지므로, 합계출산율이 2명이면 인구수가 그대로 유지됩니다. (자연 사망율이 0일 경우) 합계출산율이 1 이 되면 인구가 반으로 줄어들겠죠. 그런데 1보다 낮아지면 인구가 빠르게 줄어듭니다. 출생아 수가 낮고, 의학기술 발달에 의한 기대수명이 높아져 고령자가 많아지기 때문에, 초고령화 사회가 됩니다.   그건 그렇다고 치고, 그렇다면 “어느지역이 고령화 되었나” 라는 수치도 필요하게 됩니다. 따라서 이 소멸위험지수라는 개념이 등장하게 되었습니다. 이 지수를 사용하여 늙은 지역와 젊은 지역을 알 수 있습니다. 너무 늙은 지역은 인구가 소멸하게 됩니다. (빠르게 줄어듬)   소멸위험지수 (만 20세 ~ 만 39세 여성인구) / 만 65세 이상 고령인구수 – 여성 1명이 있고, 고령 1명이 있으면 소멸 위험지수는 1이 된다. – 여성 2명이 있고, 고령 1명이 있으면 소멸 위험지수는 2가…

git 에서 특정 파일만 추적하고 싶지 않을때 untrack production file

HYEONG HWAN, MUN/ 4월 5, 2019/ 미분류/ 2 comments

프로젝트의 환경설정 파일을 추척하지 않는 방법에 대해 설명한다.   이런 방법에는 2가지가 있음 assume-unchanged 와 skip-worktree 가 있음.   사용법 FILENAME 을 (또는 폴더를) 변경되지 않는다고 가정함. git update-index –assume-unchanged FILENAME 프레임워크나 sdk 등의 폴더에 설정한다. 이 폴더는 “변화하지 않았다고 가정” 하는 것이다. php 의 vendor(composer), nodejs 의 node_modules 폴더에 적용하면 된다. assume-unchanged 가 설정되면 해당 파일폴더를 변경검사하지 않는다. 이것은 git 비교의 성능향상의 목적이 있다. 만약 assume-unchaged 파일폴더가 변경되었고, 커밋되었다면 (새로운 파일이 추가되었거나 변경되면), 자동으로 assume-unchanged 플레그가 해제되고 변경을 확인하게 된다.   다시 추적하기 git update-index –no-assume-unchanged FIL_NAME   사용법   절대로 변경을 추적하지 않는 것이다. 변경이 생기면 flag 가 자동으로 풀리는 assume-unchanged 와 달리, skip-worktree 는 해당폴더의 파일(폴더가) 변경이 생겼더라도 flag 가 유지된다. git update-index –skip-worktree FILENAME   다시…

docker 사용법

HYEONG HWAN, MUN/ 3월 19, 2019/ 미분류/ 0 comments

글을 써보고는 있지만 완성을 못한다고 판단할 경우, 비공개로 바뀔 수 있음. 이 글은 초고입니다. 지속적으로 수정됩니다. 글 작성은 보통 한달이 걸립니다. 다음달 말쯤 완성되려나..   Docker https://www.docker.com/   << HERE : docker 의 개념 설명을 쓸것 >> << HERE : docker 의 활용예시를 쓸것 >>   명령어 기본 형식 docker [명령어 옵션] 항상 root 권한으로 실행할 것. -이미지 검색 docker search [키워드] docker search ubuntu 이 이미지 저장소는 https://hub.docker.com/search?q=ubuntu&type=image 와 연결되어 있음. docker 는 서비스로 항상 실행중. 기본 tag 는 latest 이다. – 이미지 다운로드 docker pull ubuntu:latest 또는 docker image pull ubuntu:latest   – 다운받은 docker image 보기 docker images 또는 docker image list   Commands: attach Attach local standard input, output, and error streams to a running container…

[잡담] javascript async 코딩

HYEONG HWAN, MUN/ 3월 17, 2019/ 미분류/ 1 comments

저는 현재 2년째 웹앱에 대해서 자가학습(self study)을 하고 있습니다. 2년쯤 하고 나니까 HTML로 앱을 만드는 것에 대해 개념이 잡히고 있습니다. (즉 웹앱을 금방 만들 수 있음)   웹앱과 더불어 javascript async 에 대해서 시행착오(trial and error)를 하고 있습니다. 많은 함수들이 async 로 실행되네요. 특히 웹을 넘어선 기능들(특히 DB, application native 함수 호출)은 async 로만 동작합니다. 2년쯤 삽질하고 나니, 이제.. 겨우.. “왜 이 구문이 지금 실행되는거지?”를 이해하는 수준이 되었습니다. 어쩔 수 없이 배우고 있긴 하지만, 이건 정말 너무 어렵네요. 가끔 async 구문을 잘 처리하지 못하면 여러개의 함수가 동시에 실행되어서 (해당 자원에 대해) hang 이나 crash 나는 경우도 있더군요.   아무튼 너무 어려운 것을 계속하고 있는, 저의 현재 근황이었습니다.  

요즘의 사이버 전사에 대한 생각

HYEONG HWAN, MUN/ 2월 18, 2019/ 미분류/ 4 comments

요즘 신조어로 “사이버 전사”, “키보드 워리어” 라는게 있다. (뜻은 알아서 추측하길 바란다.) 또 신조어인지는 모르겠는데 스노비즘(https://namu.wiki/w/스노비즘) 이라는 단어도 있다.   나는 개인적으로 여러 커뮤니티글을 모아보는 소프트웨어를 만들어서 사용하고 있다. 어느 커뮤니티에 어느 이슈가 있는지 살펴보는 용도이다.   1. 패턴 뉴스가 나옴 키보드 타자 빠른 사람들이 관련정보를 먼저 검색함(그러나 깊게 이해하지는 않음) 2번의 사람들이 갑자기 전문가가 됨. (유튜브나 블로그에서 양념을 더 쳐서 조회수를 높이기도 함) 사람들 분노 -> 일부는 투쟁! 하루 이틀씩 지나면서 분노가 20%씩 감소 7 ~ 10일쯤 지나면 인터넷신문에서 새로운 뉴스를 내보냄. 2번과 같이 키보드 빠른 사람들이 먼저검색 이전 상황과 같이 분노! 분노조절 장애가 됨 이렇게 되면 괜히 화가 나고, 분노 조절장애가 되고, 막 차가 신호등 걸렸는데 정부탓인것 같고, 짜장면 500원 올랐는데 정부탓인것 같고 당장 화낼게 필요하고, 동조는 하지만,…

https 의 일부사이트는 차단되는게 맞습니다.

HYEONG HWAN, MUN/ 2월 18, 2019/ 미분류/ 1 comments

몇몇 커뮤니티에 아래의 글을 이미 작성했었음. 피드백도 받았음. 너무 반정부 프레임으로 가길래, 토론을 이끌기 위해 작성함. 이 글의 목적은 “토론의 불씨를 켜는것” 이었고, 목적을 달성했다고 판단됨. 어제 (2019년 2월 12일)부터 방통위 지시로 인해 국내 주요통신사에서의 895개의 사이트 접속이 차단되었습니다. 관련 기사 : http://m.minplus.or.kr/news/articleView.html?idxno=6890 차단방식은 DPI(Deep Packet Inspection)이며, SSL 연결시 시도하는 SNI 호스트이름을 살펴서 특정 조건에 해당하면, 연결종료 패킷을 발생합니다. 인증서 위조나 데이터 자체를 살펴보는것은 안되기 때문에, SSL(https) 보안연결을 방해하는 방식으로 막는겁니다. HTTPS 통신은 현재, 전구간 암호화되는데 “접속할 사이트 도메인” 부분만 암호화가 되어있지 않습니다. 예를들어 이 글 주소(https://blog.lael.be/post/8518)를 브라우저로 접속하면 아래와 같은 연결이 진행됩니다. 상세주소(/post/8518)나 입력값 및 내용은 암호화되어 보이지 않습니다.   어느 분이 최근의 접속차단을, 편지지로 비유해서 “정부가 편지지 내용을 열어보고 차단한다!” 라고 설명했던데, 이것은 잘못된 설명입니다. 전송데이터 자체를 살펴보는 기술은…

StarLog.GG 개발기

HYEONG HWAN, MUN/ 2월 7, 2019/ 미분류/ 13 comments

지금은 사라진 사이트 “StarLog.GG” 의 개발 후기를 적고자 한다.     StarCraft는 Blizzard 에서 개발한 게임 이름이자, 상표이다. 1998년에 출시된 게임이며, 스토리와 그래픽도 좋았고, 당시에 경쟁 게임이 없었기 때문에 그 시절 컴퓨터를 접한 사람은 모를 수가 없는 필수적인 게임이었다. 놀랍게도 20여년이 지난 지금까지도 즐기는 사람이 많다. 게임에 접속해보면, 아직도 초보방이 많다.(하지만 모두 굇수들..) 간혹, “OO맵 고수만 오세요” 라는 방이 있다면 이건 “프로게이머 들어오세요” 라는 뜻이다. 개발사(Blizzard)에서는 이렇게 지속적으로 이용하는 사용자들을 위해 그래픽 + 음성이 개선된 버전을 만들었다. 이것이 “스타크래프트 리마스터”이다. 공식 담당 부서는 Blizzard classic game team 이다.   1. 선행사례 조사 및 예상 이용자 파악 이런 종류의 게임은 실력을 나타내는 지표가 중요하다. 승무패, 승률, 랭킹 같은 통계가 나와주어야 한다. 이런 종류의 사이트는 대부분 .gg 도메인을 사용하고 있었고, 게임 이름의 일부를…

블로그 서버 정전이 발생하다. (UPS 자랑글)

HYEONG HWAN, MUN/ 2월 3, 2019/ 미분류/ 3 comments

저는 이 블로그를 통해 여러분께 “여러분 클라우드 서버가 최고입니다! 모두 클라우드 서버를 쓰세요!” 라는 글을 작성합니다. 하지만, 아이러니하게도 서버를 직접 구축하여 운영하고 있습니다.   직접 서버 구축의 장점 리소스 제한이 없다. (트래픽이나 I/O 제한 없음) 자유로운 설치 구성 가능 고성능 (저는 SSD 2TB, RAM 32GB 사용중) 고성능 GPU 사용가능. (데스크탑 서버라 GTX가 달려있습니다. ffmpeg이나 gd 관련 처리가 더 빠름. 클라우드 서버는 이런것 없음.) 낮은 운영비용 클라우드 서버는 몇몇의 악성 사용자로부터 서버를 보호하고자 여러 종류의 자원제한이 걸려있다. 높은 성능을 사용하려면 높은 비용의 상품을 선택해야 한다.   직접 구축 적절한 서버 + UPS = 90 만원  정도 비용으로 구축하였습니다. (중고나라를 잘 살펴보면 새 것같은 중고를 살수 있습니다.)   UPS 도 샀었는데, 이 UPS가 오늘의 4초간의 정전을 막아주었네요. 즉, 이 글은 제 UPS 를…

Ubuntu 에서 FTP 서버 설정하기

HYEONG HWAN, MUN/ 1월 28, 2019/ 미분류/ 0 comments

저는 리눅스에 기본 내장된 ssh 의 subsystem 인 sftp 사용을 권장합니다. (즉, 이 글을 읽을 필요없이 기본적으로 존재하는 sftp 사용을 권장합니다!) 굳이 FTP 사용을 원하시는 분들이 계셔서 설치방법을 설명해봅니다. Ubuntu Linux 기준으로 작성되었지만, 다른 운영체제에서도 적절히 응용해서 적용할 수 있습니다.   vsftpd란? vsftpd는 Very Secure FTP Server Daemon 를 뜻합니다. (vsftpd 소스코드의 README 파일에 이렇게 쓰여있음) GPLv2 라이센스를 따르며, 전세계에서 가장 많이 쓰이는 ftp 서버 프로그램입니다. vsftpd 공식사이드(https://security.appspot.com/vsftpd.html) 에 따르면 다음의 유명한 저장소가 vsftpd 를 사용중이라고 합니다. ftp.redhat.com ftp.suse.com ftp.debian.org ftp.freebsd.org ftp.gnu.org ftp.gnome.org ftp.kde.org ftp.kernel.org rpmfind.net ftp.linux.org.uk ftp.gimp.org ftp-stud.fht-esslingen.de gd.tuwien.ac.at ftp.sunet.se ftp.ximian.com ftp.engardelinux.org ftp.sunsite.org.uk ftp.isc.org 따라서 우리는, 라이센스 문제가 없으며, 매우 많은 사람이 사용 중인 검증된 vsftpd 소프트웨어를 사용하여 FTP 서버를 구축하도록 하겠습니다.   설치 방법 APT 파일목록 갱신 #…

Ubuntu 18.04 LTS 에서 웹서버(NGINX + PHP-FPM + MariaDB) 구성하기

HYEONG HWAN, MUN/ 1월 22, 2019/ 미분류/ 43 comments

Ubuntu 18.04 LTS 에서 웹서버(Apache + PHP + MySQL) 구성하는 방법을 알아보려면 https://blog.lael.be/post/7264 로 이동하세요. 이 글은 Ubuntu 18.04 LTS 운영체제에서 NGINX + PHP-FPM + MariaDB 소프트웨어를 설치하고 구성하는 방법에 대해 설명합니다. Ubuntu 9.04 버전부터 10년 넘게 구축 방법을 작성/유지보수 하고 있는데, 그동안 별 문제가 없었습니다. 또한, 설치 성공 후기 글이 많으니 올바르게 설명하고 있는 것 같습니다. 혹시라도, 구축 중 문의사항이 생기면 댓글이나 Contact 로 알려주세요. 일반 사업체 및 실무 서비스에서 사용할 수 있는 안정적인 구축 방법을 설명 하겠습니다. 이 글에서는 Ubuntu 18.04 LTS 운영체제를 사용합니다. * LTS 버전이란? Long Term Support 의 약자입니다. 개발사에서 10년간의 유지보수, 업데이트를 제공합니다. 현재 무료 리눅스 배포판 중에서 10년 업데이트를 지원하는 운영체제는 Ubuntu 뿐입니다. * 왜 10년 업데이트? Kiosk나 기타 Embeded 기기에서 제품설계 및 구축 운용까지 몇년(1~4년)이 걸립니다. 제품…