본문 바로가기

전체 글104

홈서버 구축기) 5. 원격 접속(SSH) 설정 홈서버 구축기1. 네트워크 설계2. 공유기 네트워크 설정3. Proxmox 네트워크 설정4. Proxmox VM 생성  현재 모든 서버가 인터넷과의 통신이 가능한 상태이다. 다만 인터넷에서 먼저 ingress를 시도하는 건 불가능하다. 공유기에서 NAT가 이루어지기 때문이다. 이를 해결하려면 포트포워딩 규칙을 추가해야 하는데, 이번 글에서는 SSH 설정과 함께 포트포워딩을 진행할 것이다. 참고로 필자가 생각하는 구상은 아래와 같다. 외부에서 SSH로 서버에 접속할 수 있도록 할 것이다. 단, 외부에서는 서버 대역에 직접 접근할 수 없고 반드시 linux0를 거쳐야만 한다.변경되는 공인 IP에 대응할 수 있도록 DNS와 DDNS를 설정할 것이다.  우선 모든 VM에 SSH 서버를 설치하겠다. 아래의 명령어.. 2025. 3. 17.
홈서버 구축기) 4. Proxmox VM 생성 홈서버 구축기1. 네트워크 설계2. 공유기 네트워크 설정3. Proxmox 네트워크 설정4. Proxmox VM 생성  이전 게시글에서 네트워크 설정을 모두 마쳤다. 이제 VM을 생성하고, 내부에서 인터넷 통신이 가능한지 확인해보자.  우분투든 뭐든 원하는 OS 이미지를 다운받자. 필자는 아래 링크에서 우분투 서버 이미지를 다운받아 사용했다.   Ubuntu ReleasesThere are 2 types of Ubuntu releases: Interim and LTS. Each Ubuntu LTS is maintained for 10 years total: 5 years of standard support + 5 years of ESM. Interim releases are maintained for 9.. 2025. 3. 16.
홈서버 구축기) 3. Proxmox 네트워크 설정 홈서버 구축기1. 네트워크 설계2. 공유기 네트워크 설정3. Proxmox 네트워크 설정4. Proxmox VM 생성  이전 글에서 사용자 대역의 설정을 마쳤다. 이제 Proxmox 서버를 설치하고 네트워크를 설정해야 하는데, 설치 과정은 다른 좋은 게시글이 많은 관계로 생략하겠다..  서버용 가상화 OS Proxmox VE 설치하기.안녕하세요. 달소입니다. 오늘은 예~~전에 시도했다가 포기한 Proxmox는 들고왔습니다 ㅎㅎ Promox는 ESXi와 같은 가상화 OS이나 오픈소스로 무료사용이 가능한 점이 가장 큰데요. 오픈소스답게 ZFS, LXsvrforum.com 필자는 위 글을 참고하여 설치했다. 과정 중 Management Network Configuration은 아래 정보로 기입하면 된다. Ho.. 2025. 3. 16.
홈서버 구축기) 2. 공유기 네트워크 설정 홈서버 구축기1. 네트워크 설계2. 공유기 네트워크 설정3. Proxmox 네트워크 설정4. Proxmox VM 생성  Proxmox 서버를 설치하기 전에 사용자 대역부터 설정하자.  ipTIME GUI에 접속하여 관리도구 > 고급 설정 > 네트워크 관리 > 내부 네트워크 설정 탭에 들어간다.  내부 IP 주소는 192.168.0.1로, 서브넷 마스크는 255.255.255.128로 설정하고 적용을 누른다. 헷갈릴 수도 있지만 내부 IP 주소는 대역 자체가 아닌 공유기의 내부 주소를 의미한다. 어차피 인터넷으로 나가려면 공유기라는 GW를 거쳐야 하니, GW의 주소를 정의함으로써 내부 대역 또한 동시에 정의되는 것이다.  혹시 모를 IP 충돌을 방지하기 위해 DHCP 서버 설정 탭에서 대여 범위를 변경한다.. 2025. 3. 16.
홈서버 구축기) 1. 네트워크 설계 홈서버 구축기1. 네트워크 설계2. 공유기 네트워크 설정3. Proxmox 네트워크 설정4. Proxmox VM 생성 미니 pc를 다루다가 문득 홈서버를 구축해보고 싶다는 생각이 들었다. nas는 있어도 잘 안쓰지만 홈서버는 왠지 잘 쓸 것만 같았다. 친구들과 같이 할 게임 서버도 열고, 웹 서버 클러스터링도 해보고, 리버스 프록시도 해보고... 좋은 경험이 될 것이라 확신했다. 그래서 무작정 시도해 보는 홈서버 구축기이다. 작성해 두면 누군가에게는 큰 도움이 되리라 생각한다.  홈서버를 구축하기에 앞서 네트워크 설계부터 진행했다. 워낙 소규모인지라 설계는 어렵지 않았다. 기본적인 구상은 이러하다. 사설 대역인 192.168.0.0/24를 192.168.0.0/25와 192.168.0.128/25로 서브.. 2025. 3. 16.
Java) 형 변환의 개념 Java의 형 변환은 크게 두 종류로 나뉜다. 묵시적 형 변환 명시적 형 변환묵시적 형 변환묵시적 형 변환은 별도의 명시 없이도 형 변환이 가능한 상황에 발생한다.  위 그림은 원시 자료형들 간의 묵시적 변환이 가능한 방향을 표시한 것이다. 잘 보면 크기가 작은 쪽에서 큰 쪽으로만 가능하다. 손실이 발생할 수 있기 때문이다. 마치 큰 그릇에서 작은 그릇으로 물을 옮기면 넘치는 것과 같다.다만 묵시적 변환이 가능하다고 하여 반드시 값 손실이 없는 것은 아니다. 점선은 값 손실이 발생할 수 있는 경우, 실선은 없는 경우이다. 정수에서 실수로 변환할 경우 유효 숫자의 부족으로 손실이 발생할 수 있다.아래는 원시 자료형들의 크기 비교이다. byte(1) short(2) = char(2) int(4) long(8.. 2025. 2. 24.
아스키코드, 유니코드와 인코딩 방식(UTF) 아스키(ASCII) 코드란?American Standard Code for Information Interchange의 약자로, 0~127까지 7비트로 문자를 표현하는 코드이다. 나머지 1비트는 오류를 검출하는 패리티 비트이다.이름에서 알 수 있듯 American, 즉 미국의 표준이라 영어 외의 언어는 포함되어 있지 않다.유니코드란?각국의 컴퓨터는 아스키 코드와 같이 자국어만 지원하는 각기 다른 코드를 사용하고 있었다. 그러나 인터넷을 통해 전세계의 컴퓨터가 연결되면서 코드가 상이해 정보 교환이 어려운 문제가 대두되었고, 이를 해결하기 위한 표준으로 유니코드가 등장하였다.유니코드는 전세계의 언어를 하나의 코드 체계로 집약하였다. 초기에는 2바이트로 설계되었으나, 2바이트로는 부족하여 4바이트를 사용하고 .. 2025. 2. 19.
Java) 대소문자를 서로 변환하는 방법 위의 ascii 테이블을 보면(유니코드와 동일하므로 간략한 테이블로서 참고한다) 알파벳 대소문자 간에는 32의 값 차이가 있는 것을 알 수 있다.이에 대소문자를 변환하는 원시적인 방법으로, char diff = 'a' - 'A'; //32if ('a'  값 차이를 이용한 연산이 있다.팁으로는 대소문자의 차를 사용하면 굳이 32라는 수치를 외울 필요가 없다는 점이겠다. 원시적인 방법 외에도 메서드를 활용하는 방법이 있다. System.out.println(Character.toUpperCase('c')); //CSystem.out.println(Character.toUpperCase('C')); //CSystem.out.println(Character.toUpperCase('!')); //!System.o.. 2024. 12. 19.