[카테고리:] 프로그래밍
-
BYOIP를 이용한 Anycast의 라우팅 리전(지역) 관찰기 (Vultr)
이전 글에서 IPXO에서 IP를 임대한 후, BYOIP와 BGP를 이용하여 VM에 IP를 적용 시키는 것을 해 보았다. 이번 글에서는 여러 리전에서 BGP를 발사해 볼 예정이다. 실제로 BGP 전파시에 얼마나 시간이 걸리는지에 대한 글이 전무했는데, 이 글에서는 실제 Anycast 사용 경험을 작성한다. 이전 글을 못 읽은 분들을 위해 간략히 BGP를 설명하려 한다. 본인이 IP주소를 가지고 있다면 주변…
-
IPXO 에서 IP블록(/24) 임대 후 BYOIP 사용해 보기
전체 과정 이 글에서는 Oracle Cloud와 Vultr에서 Bring your own IP 를 사용하는 방법을 다룬다. 궁극적으로, 몇개의 글에 걸쳐 BYOIP가 잘 작동하는지와 Anycast가 예상대로 진행되는지를 다룰 것이다. 전체적인 과정 자체는 AWS, GCP에서도 유사 할 것이다. Bring Your Own IP를 사용하기 위한 과정은 크게 다음과 같다. BYOIP를 사용하기 위한 비용은 다음과 같이 쓰였다. (업체 및 IP…
-
Linux TUN 장치 기본 다루기
리눅스에서 TUN 인터페이스를 이용해서 이전에 썻던 Mutli-Path 오버레이 네트워크를 만들고 있다. 현재는 TUN 제어 자체는 어떻게 됐는데, UDP 소켓을 관리하고 연결 정보를 처리하는데 조금 어려움이 있다. 연결 관리 구조체 하나를 상위의 전체 관리 모듈과 본인 스스로에게서 접근하려다 보니 소유권이 발목을 잡는다. 생각해둔 방법이 없진 않은데, 아무래도 코드가 더러워지는것 같아서 꺼려진다. 각설하고, 개발간 초보 TUN 개발자가…
-
(가칭) multipath overlay network에 관한 상상코딩
상상해 보자. 당신은 데이터 송·수신이 중요한 시스템을 만들고 있다. 해당 시스템에서는 잠시간의 네트워크 단절이 큰 영향을 미친다. 그러나 안타깝게도, 불안정한 네트워크 속에서 서비스를 진행해야 한다. 예를 들어, 해외 서버와 지속적인 통신을 해야할 경우가 있다 하자. 해외 트레픽이 넘처나는 22시 즈음이 되면 최대 30%의 확률로 Packet loss가 발생한다. 사내 네트워크와 IDC내 서버간 연결이 필요할 수도 있다.…
-
분산 시스템의 기초 개론 – 1
분산 시스템이란 분산 시스템이란 공동의 목표를 달성하기 위해 여러 노드 또는 서버가 서로 연결된 소프트웨어 아키텍처다. 이 노드들은 네트워크를 통해 서로 통신하고 각자의 작업을 조정하여 통합되고 확장 가능한 컴퓨팅 환경을 제공한다. Patterns of Distributed Systems (2023) 분산 시스템 내에서 작업 부하는 여러 서버에서 처리될 수 있어야 한다. 즉, 수평 확장을 통해서 요청을 동시 처리할 수…
-
iptables와 ipset을 이용하여 한국 IP만 허용
ipset을 이용하면 많은 IP들을 효율적으로 iptables로 관리할 수 있다. 한국 IP의 block 수가 많기 때문에 일일이 iptables에 밀어넣는것 보다는 ipset으로 목록을 관리하는것이 좋다. ipset으로 KRNIC IP 목록 추가 KRNIC에서 제공하는 국내 IP 목록을 다운로드 한다 (https://한국인터넷정보센터.한국/jsp/statboard/IPAS/inter/sec/currentV4Addr.jsp) KRNIC는 /24 블록의 갯수로 IP 대역을 표현한다. csv 다운로드 를 통해서 목록을 다운받으면 된다. ipset은 CIDR로 IP 범위를 설정하므로…
-
Ubuntu에서 Anydesk + x11 + intel 그래픽 드라이버 + HDMI 조합일 때 끊김 발생
TL;DR /etc/X11/xorg.conf 등, x11 설정 파일 또는 /usr/share/X11/xorg.conf.d/20-intel.conf 등의 파일에 아래와 같은 내용을 붙여 넣고 재부팅 (또는 x11 재시작)을 해본다 문제 해결 과정 Anydesk로 Ubuntu를 원격 제어 시도시 약 2초마다 스터터링이 발생하는 문제가 발견됐다. 영어로 검색해도 “이러한 문제가 있어요” 하는 내용이 끝이고, 이렇다 할 무언가가 나오지 않았다. 그래서 삽질을 시작했다. 우선 Anydesk로 접속할 때만 문제가…
-
React – Map등을 이용한 배열 표시 (세미나 자료 #2)
웹 페이지를 만들다 보면 동일한 구조의 데이터를 다룰 일이 많아진다. 예를 들어, 블로그 글 목록에서는 동일한 구조로 된 내용이 가득하다. 어떤 구조체를 A라고 했을때, [A, A, A, A ···]와 같은 형태로 쭈우우욱 있는것을 배열(또는 목록)이라고 한다. 이 목록을 표시하는 방법을 다루고자 한다. 이 내용은 많은 글에서 다루고 있기 때문에, 핵심적인 내용만 다루려고 한다. JSX 떠올리기…
-
React – 함수 조합으로 만드는 DOM (세미나 자료 #1)
필자가 다녔던 학교에서 최근 연락이 왔다. 이제 HTML·JS·CSS를 갓 배운 학우들을 대상으로 React 기초를 알려주면 어떻겠냐는 연락이었다. 다행히 시간도 맞고 해서 1.5주 짜리 세미나를 준비하게 됐다. 세미나에 쓸 내용을 그저 묵히기가 아쉬워서 여기에 같이 기록해 둔다. 내용 인용시 반드시 출처 표기 부탁 드립니다. 우선 JSX를 써보자 백문이 불여일견이다. 우선 React를 이용하여 간단한 글자와 사진을 표시해…
-
SQL Injection에 대한 짧은 글
저번주 SQL Injection에 대해 남들에게 설명할 기회가 생겼다. 이미 많은 곳에서 SQL injection을 설명하고 있다. 그럼에도 불구하고, 생각보다 잘 알려지지 않은 부분이 있는것 같다. 여기서는 생각 보다 아는 사람이 드문 내용을 끄적여 본다. SQL은 기본적으로 텍스트 형식이다. SQL은 DBMS에 명령을 내리는 텍스트 언어이다. 그러다 보니 복잡한 문법 구조를 가졌다. SQL은 정방향으로 읽어서 처리할 수 있는…