vault backup: 2024-08-26 20:55:58
This commit is contained in:
parent
c9ce0ae737
commit
32c87f29ea
3
.obsidian/community-plugins.json
vendored
3
.obsidian/community-plugins.json
vendored
@ -1,4 +1,5 @@
|
||||
[
|
||||
"obsidian-dirtreeist",
|
||||
"obsidian-git"
|
||||
"obsidian-git",
|
||||
"number-headings-obsidian"
|
||||
]
|
13
.obsidian/plugins/number-headings-obsidian/data.json
vendored
Normal file
13
.obsidian/plugins/number-headings-obsidian/data.json
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"skipTopLevel": false,
|
||||
"firstLevel": 1,
|
||||
"maxLevel": 6,
|
||||
"styleLevel1": "1",
|
||||
"styleLevelOther": "1",
|
||||
"auto": true,
|
||||
"separator": ".",
|
||||
"contents": "",
|
||||
"skipHeadings": "",
|
||||
"startAt": "",
|
||||
"off": false
|
||||
}
|
1136
.obsidian/plugins/number-headings-obsidian/main.js
vendored
Normal file
1136
.obsidian/plugins/number-headings-obsidian/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/number-headings-obsidian/manifest.json
vendored
Normal file
10
.obsidian/plugins/number-headings-obsidian/manifest.json
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "number-headings-obsidian",
|
||||
"name": "Number Headings",
|
||||
"version": "1.16.0",
|
||||
"minAppVersion": "1.4.0",
|
||||
"description": "Automatically number or re-number headings in an Obsidian document",
|
||||
"author": "Kevin Albrecht (onlyafly@gmail.com)",
|
||||
"authorUrl": "https://www.kevinalbrecht.com",
|
||||
"isDesktopOnly": false
|
||||
}
|
8
.obsidian/plugins/number-headings-obsidian/styles.css
vendored
Normal file
8
.obsidian/plugins/number-headings-obsidian/styles.css
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
div.number-headings-button-container > button {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.number-headings-question {
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
}
|
81
.obsidian/workspace.json
vendored
81
.obsidian/workspace.json
vendored
@ -4,39 +4,20 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "8d88ecb58e1896b9",
|
||||
"id": "97efbe1d11fc4123",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "b441e35062a39cb4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "diff-view",
|
||||
"state": {
|
||||
"file": "Home Server/Network/nginx for reverse proxy.md",
|
||||
"staged": false
|
||||
}
|
||||
},
|
||||
"group": "d1fb0956c6dbe2c1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ca6bd2afed1473ff",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "91fb38d5658db1d5",
|
||||
"id": "b3362951cffea02c",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Home Server/Gitea.md",
|
||||
"mode": "preview",
|
||||
"file": "Home Server/Network/DNS/DNS.md",
|
||||
"mode": "source",
|
||||
"source": true
|
||||
}
|
||||
},
|
||||
"group": "d1fb0956c6dbe2c1"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -114,7 +95,9 @@
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {}
|
||||
"state": {
|
||||
"file": "Home Server/Network/DNS/DNS.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -123,6 +106,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Home Server/Network/DNS/DNS.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
@ -139,6 +123,7 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Home Server/Network/DNS/DNS.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
@ -169,21 +154,36 @@
|
||||
"command-palette:명령어 팔레트 열기": false
|
||||
}
|
||||
},
|
||||
"active": "b441e35062a39cb4",
|
||||
"active": "6444ef15fb3eff8f",
|
||||
"lastOpenFiles": [
|
||||
"Home Server/Gitea.md",
|
||||
"Home Server/Network/nginx for reverse proxy.md",
|
||||
"Home Server/Gitea.md",
|
||||
"windows/SSH 접속 설정.md",
|
||||
"Obsidian Flavored Markdown.md",
|
||||
"template/howto.md",
|
||||
"template/base_template.md",
|
||||
"SBC(Single-Board Computer)/SBC.md",
|
||||
"SBC(Single-Board Computer)/Raspberry Pi.md",
|
||||
"SBC(Single-Board Computer)/ODROID H4+.md",
|
||||
"SBC(Single-Board Computer)/ODROID.md",
|
||||
"linux/User.md",
|
||||
"linux/RAID.md",
|
||||
"linux/Network stat.md",
|
||||
"linux/Network interfaces.md",
|
||||
"linux/Group.md",
|
||||
"linux/dig.md",
|
||||
"linux/설치 후 첫 root 로그인.md",
|
||||
"Home Server/Samba.md",
|
||||
"Home Server/docker compose - temp.md",
|
||||
"Home Server/Network/DNS/Domain.md",
|
||||
"linux/Network Interfaces.md",
|
||||
"linux/network stat.md",
|
||||
"Home Server/Network/DNS/DNS.md",
|
||||
"Home Server/Network/DNS/CoreDNS.md",
|
||||
"linux/dig.md",
|
||||
"_흥미로운 것/fail2ban.md",
|
||||
"_흥미로운 것/메일 서버.md",
|
||||
"_흥미로운 것/개인 도메인.md",
|
||||
"daily/2024-07-27.md",
|
||||
"Home Server/Network/DNS",
|
||||
"Home Server/Network",
|
||||
"linux/RAID.md",
|
||||
"POE/3.25/재조합기 번역.md",
|
||||
"POE/3.25/resources/07.접두접미완성1-1.png",
|
||||
"POE/3.25/resources/08.접두접미완성1-2.png",
|
||||
"POE/3.25/resources/08.접두접미완성1-2.png.crdownload",
|
||||
@ -197,25 +197,10 @@
|
||||
"POE/3.25/resources/04.옵션옮기기2-2.png.crdownload",
|
||||
"POE/3.25/resources/03.옵션옮기기2-1.png",
|
||||
"POE/3.25/resources/03.옵션옮기기2-1.png.crdownload",
|
||||
"Obsidian Flavored Markdown.md",
|
||||
"POE/3.25/resources/02.옵션옮기기1-2.png",
|
||||
"POE/3.25/resources/02.옵션옮기기1-2.png.crdownload",
|
||||
"POE/3.25/resources/01.옵션옮기기1-1.png",
|
||||
"POE/3.25/resources/1.옵션옮기기1.png",
|
||||
"POE/3.25/resources/1.옵션옮기기1.png.crdownload",
|
||||
"POE/3.25/1. 스타터 냉기 방혈 지뢰 트릭스터/일지.md",
|
||||
"Home Server/Samba.md",
|
||||
"POE/3.25/파밍.md",
|
||||
"linux/Group.md",
|
||||
"linux/User.md",
|
||||
"linux/설치 후 첫 root 로그인.md",
|
||||
"_흥미로운 것/개인 도메인.md",
|
||||
"_흥미로운 것/메일 서버.md",
|
||||
"_흥미로운 것/fail2ban.md",
|
||||
"windows/SSH 접속 설정.md",
|
||||
"template/howto.md",
|
||||
"template/base_template.md",
|
||||
"SBC(Single-Board Computer)/ODROID H4+.md",
|
||||
"SBC(Single-Board Computer)/Raspberry Pi.md"
|
||||
"POE/3.25/resources/1.옵션옮기기1.png.crdownload"
|
||||
]
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
# 전제조건
|
||||
# 1. 전제조건
|
||||
[[Network/nginx for reverse proxy|리버스 프록시]]가 필요함
|
||||
|
||||
# Install using docker
|
||||
## Directory structure
|
||||
# 2. Install using docker
|
||||
## 2.1. Directory structure
|
||||
```dirtree
|
||||
- /mnt/md0/infra
|
||||
- .env
|
||||
@ -19,7 +19,7 @@
|
||||
/gitea 폴더 새로 생성
|
||||
/nginx/conf.d/locations/gitea.conf 파일 새로 생성
|
||||
|
||||
## Docker compose
|
||||
## 2.2. Docker compose
|
||||
/compose.yml 수정
|
||||
```yml
|
||||
name: infrastructure
|
||||
@ -52,9 +52,9 @@ service:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
## Reverse Proxy
|
||||
## 2.3. Reverse Proxy
|
||||
|
||||
### /nginx/nginx.conf
|
||||
### 2.3.1. /nginx/nginx.conf
|
||||
size 제한으로 인해 push에 실패할 수 있는 현상을 수정하기 위해 제한을 없앰
|
||||
|
||||
```nginx
|
||||
@ -67,7 +67,7 @@ http {
|
||||
}
|
||||
```
|
||||
|
||||
### /nginx/conf.d/gitea.conf
|
||||
### 2.3.2. /nginx/conf.d/gitea.conf
|
||||
|
||||
```nginx
|
||||
location /git {
|
||||
@ -81,7 +81,7 @@ location /git {
|
||||
}
|
||||
```
|
||||
|
||||
# Init
|
||||
# 3. Init
|
||||
수정할 설정 목록
|
||||
- 데이터베이스 유형 : SQLite3
|
||||
- 사이트 제목 : Home Gitea
|
||||
|
@ -2,8 +2,8 @@ Go로 작성된 오픈소스 [[DNS]] Server
|
||||
경량, 유연성, 단순함이 특징
|
||||
k8s의 기본 DNS로 사용됨
|
||||
|
||||
# Install using docker
|
||||
## Directory structure
|
||||
# 1. Install using docker
|
||||
## 1.1. Directory structure
|
||||
|
||||
```dirtree
|
||||
- /mnt/md0/infra
|
||||
@ -16,14 +16,14 @@ k8s의 기본 DNS로 사용됨
|
||||
- /data
|
||||
```
|
||||
|
||||
## dotenv file
|
||||
## 1.2. dotenv file
|
||||
/.env
|
||||
|
||||
```
|
||||
BASE_PATH=/mnt/md0/infra
|
||||
```
|
||||
|
||||
## Docker compose
|
||||
## 1.3. Docker compose
|
||||
/compose.yml
|
||||
|
||||
```yml
|
||||
@ -50,11 +50,11 @@ networks:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
## 추가로 필요한 사항 - 리눅스
|
||||
## 1.4. 추가로 필요한 사항 - 리눅스
|
||||
리눅스의 경우 53번 포트가 systemd-resolve 프로세스에 미리 점유되어 있다.
|
||||
따라서 해당 프로세스가 53번 포트를 점유하지 않도록 바꿔주어야 DNS Server를 실행할 수 있다.
|
||||
|
||||
### 프로세스 확인
|
||||
### 1.4.1. 프로세스 확인
|
||||
|
||||
```shell
|
||||
sudo lsof -i :53
|
||||
@ -68,7 +68,7 @@ systemd-r 671 systemd-resolve 16u IPv4 8661 0t0 UDP _localdnsproxy:do
|
||||
systemd-r 671 systemd-resolve 17u IPv4 8662 0t0 TCP _localdnsproxy:domain (LISTEN)
|
||||
```
|
||||
|
||||
### Edit systemd-resolved config
|
||||
### 1.4.2. Edit systemd-resolved config
|
||||
|
||||
```shell
|
||||
sudo vim /etc/systemd/resolved.conf
|
||||
@ -112,19 +112,19 @@ DNSStubListener=no
|
||||
#StaleRetentionSec=0
|
||||
```
|
||||
|
||||
### Create symlink
|
||||
### 1.4.3. Create symlink
|
||||
|
||||
```shell
|
||||
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
|
||||
```
|
||||
|
||||
### Reboot
|
||||
### 1.4.4. Reboot
|
||||
|
||||
```shell
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
# Corefile
|
||||
# 2. Corefile
|
||||
CoreDNS 의 설정 파일
|
||||
|
||||
```
|
||||
@ -143,7 +143,7 @@ home.server {
|
||||
}
|
||||
```
|
||||
|
||||
# Zone file
|
||||
# 3. Zone file
|
||||
[[DNS#DNS Zone file]]
|
||||
|
||||
```
|
||||
|
@ -1,13 +1,13 @@
|
||||
Domain Name System, 도메인 이름 시스템
|
||||
[[Domain|도메인]]을 IP로 변환하는 시스템
|
||||
|
||||
# Public DNS server list
|
||||
# 1. Public DNS server list
|
||||
- 1.1.1.1 1.0.0.1 : Cloudflare DNS
|
||||
- 8.8.8.8 8.8.4.4 : Google DNS
|
||||
- 208.67.222.222 208.67.220.220 : Cisco OpenDNS
|
||||
- 168.126.63.1 168.126.63.2 : KT DNS
|
||||
|
||||
# Self-hosted DNS server list
|
||||
# 2. Self-hosted DNS server list
|
||||
- BIND
|
||||
- CoreDNS
|
||||
- dnsmasq
|
||||
@ -15,7 +15,7 @@ Domain Name System, 도메인 이름 시스템
|
||||
- Pi-hole
|
||||
- ...
|
||||
|
||||
# 변환 과정
|
||||
# 3. 변환 과정
|
||||
1. 클라이언트가 Recursive DNS resolver에게 쿼리를 보냄
|
||||
2. Recursive DNS resolver의 캐시에 답변이 남아있으면 해당 답변을 답변함
|
||||
3. Recursive DNS resolver의 캐시에 답변이 없으면 클라이언트 요청에 해당하는 TLD name server 정보를 Root name server에 쿼리함
|
||||
@ -26,11 +26,11 @@ Domain Name System, 도메인 이름 시스템
|
||||
8. Authoritative name server는 요청받은 도메인에 대해 DNS Zone 파일을 답변함
|
||||
9. Recursive DNS resolver는 답변받은 도메인 정보를 클라이언트에 답변함
|
||||
|
||||
# DNS Zone file
|
||||
# 4. DNS Zone file
|
||||
도메인에 대한 정보를 기술해놓은 파일
|
||||
파일의 각 줄(레코드)에는 여러 가지 정보를 기술할 수 있음
|
||||
|
||||
## Zone file 형식
|
||||
## 4.1. Zone file 형식
|
||||
|
||||
```
|
||||
$ORIGIN (zone name)
|
||||
@ -57,19 +57,19 @@ www 3600 IN CNAME home.server.
|
||||
>[!note]
|
||||
>Zone file에서 `@` 기호는 `$ORIGIN` 값과 동일한 의미이다.
|
||||
|
||||
## Record
|
||||
## 4.2. Record
|
||||
- SOA : Start of Authority
|
||||
- 이름, 관리자 이메일 주소, 캐시 새로 고침 정보 등을 기술
|
||||
- 모든 DNS Zone file은 SOA 레코드를 가지고 있어야 함
|
||||
- TTL : Time to Live, 캐시 유효 기간
|
||||
- A, AAAA : IP 주소, A는 IPv4, AAAA는 IPv6에 해당
|
||||
- MX : 도메인 SMTP 이메일 서버
|
||||
- CNAME : Canonical name, CNAME에 기록된 도메인은 해당 Zone file에 기술된 도메인과 같은 IP를 참조하도록 함.
|
||||
- CNAME : Canonical name, CNAME에 기록된 도메인은 해당 Zone file에 기술된 도메인과 같은 IP를 참조하도록 함
|
||||
- NS : Name server, Authoritative name server 정보
|
||||
- PTR : 역방향 DNS에 사용, IP 주소를 도메인에 매핑
|
||||
- TXT : 이메일 인증을 위한 발신자 정책 프레임워크 레코드
|
||||
- TXT : 아무 텍스트나 입력 가능
|
||||
|
||||
### SOA Record
|
||||
### 4.2.1. SOA Record
|
||||
|
||||
```
|
||||
NAME [TTL] IN SOA DNS-address admin-email-address (
|
||||
@ -93,7 +93,7 @@ NAME [TTL] IN SOA DNS-address admin-email-address (
|
||||
- expire : 마스터가 응답하지 않는 경우 2차 DNS가 이 영역에 대한 요청 응답을 중지해야 하는 시간(초)
|
||||
- minimum : Negative TTL 값, 존재하지 않는 도메인에 대해 호스트가 존재하지 않는다는 답변을 캐싱하는 최소 시간
|
||||
|
||||
## Wildcard
|
||||
## 4.3. Wildcard
|
||||
|
||||
DNS Zone의 모든 subdomain을 가리키려면 DNS record에 wildcard를 추가하면 된다.
|
||||
|
||||
|
@ -1,44 +1,44 @@
|
||||
# 도메인 (도메인 네임)
|
||||
# 1. 도메인 (도메인 네임)
|
||||
숫자로 이루어진 IP 주소를 문자로 이루어진 것으로 바꿔 기억하기 쉽게 만들어주는 인터넷 호스트 네임
|
||||
좁은 의미로는 도메인 레지스트리에 등록된 이름을 말한다.
|
||||
계층 구조에 따라서 도메인 네임이 결정된다.
|
||||
도메인은 개인의 자산으로 간주된다.
|
||||
|
||||
# 호스트 네임 (호스트명)
|
||||
# 2. 호스트 네임 (호스트명)
|
||||
네트워크에 연결된 장치에 부여되는 고유한 이름
|
||||
|
||||
---
|
||||
|
||||
# 도메인 관리 체계
|
||||
# 3. 도메인 관리 체계
|
||||
|
||||
## ICANN
|
||||
## 3.1. ICANN
|
||||
root DNS 관리, 신규 TLD 할당, IP 주소 관리, 레지스트리 및 레지스트라 인가, 도메인에 적용되는 공통 정책 제정 등의 일을 하는 미국 비영리기구.
|
||||
두 글자로 이루어진 국가 코드 TLD(ccTLD) 관리 및 정책 제정은 각 국가에 위임한다.
|
||||
세 글자 이상으로 이루어진 TLD는 gTLD(generic TLD)라고 칭하며 ICANN에서 정한 정책을 준수해야 한다.
|
||||
단 `.gov`, `.mil`, `.edu`는 미국 정부에서 관리하며 미국에서만 사용할 수 있다.
|
||||
|
||||
## 레지스트리 (Registry)
|
||||
## 3.2. 레지스트리 (Registry)
|
||||
각 TLD와 해당 TLD에 속한 DNS 레코드를 관리하는 기관
|
||||
|
||||
## 레지스트라 (Registrar)
|
||||
## 3.3. 레지스트라 (Registrar)
|
||||
도메인 등록대행업체
|
||||
도메인 레지스트리의 위임을 받아 도메인 레지스트런트에게서 일정한 비용을 받고 도메인 등록을 대행해준다.
|
||||
|
||||
## 레지스트런트 (Registrant)
|
||||
## 3.4. 레지스트런트 (Registrant)
|
||||
도메인 소유자, 도메인 사용자
|
||||
|
||||
---
|
||||
|
||||
# 계층 구조
|
||||
# 4. 계층 구조
|
||||
도메인은 계층 구조로 이루어져 있으며 보통 3단계로 구분한다.
|
||||
|
||||
## TLD
|
||||
## 4.1. TLD
|
||||
Top-Level Domain, 최상위 도메인
|
||||
도메인의 제일 마지막 점 뒤에 붙은 문자열을 가리킨다.
|
||||
`foo.com` 이라는 도메인이 있다면 `.com`이 TLD
|
||||
레지스트리에서 관리
|
||||
|
||||
## 2단계 도메인
|
||||
## 4.2. 2단계 도메인
|
||||
SLD, Second-Level Domain
|
||||
TLD 앞에 붙는 도메인
|
||||
|
||||
@ -46,14 +46,14 @@ TLD 앞에 붙는 도메인
|
||||
- 2단계 도메인을 레지스트런트가 사용하는 경우 (`foo.com`)
|
||||
- 2단계 도메인까지 레지스트리가 관리하는 경우 (`foo.co.kr`), 이 경우도 TLD로 부르기도 함
|
||||
|
||||
## 3단계 도메인
|
||||
## 4.3. 3단계 도메인
|
||||
2단계 도메인 앞에 붙는 도메인
|
||||
|
||||
# 도메인 구성
|
||||
## root 도메인
|
||||
# 5. 도메인 구성
|
||||
## 5.1. root 도메인
|
||||
1. TLD + 레지스트런트가 사용하는 도메인 (`naver.com`)
|
||||
2. DNS에서 TLD에 관한 정보를 제공하는 DNS
|
||||
|
||||
## sub 도메인
|
||||
## 5.2. sub 도메인
|
||||
root 도메인이 필요에 따라 하위에 생성하는 도메인 (`blog.naver.com`, `news.naver.com`)
|
||||
www 역시 여기에 포함되며, 도메인을 웹에서 주로 사용하게 됨에 따라 www를 생략하는 경우가 많아졌음
|
@ -1,7 +1,7 @@
|
||||
[[DNS/CoreDNS|CoreDNS]]를 설정한 뒤 진행했음
|
||||
|
||||
# Install using docker
|
||||
## Directory structure
|
||||
# 1. Install using docker
|
||||
## 1.1. Directory structure
|
||||
```dirtree
|
||||
- /mnt/md0/infra
|
||||
- /coredns
|
||||
@ -16,13 +16,13 @@
|
||||
- compose.yml
|
||||
```
|
||||
|
||||
## dotenv file
|
||||
## 1.2. dotenv file
|
||||
/.env
|
||||
```
|
||||
BASE_PATH=/mnt/md0/infra
|
||||
```
|
||||
|
||||
## Docker compose
|
||||
## 1.3. Docker compose
|
||||
/compose.yml
|
||||
```yml
|
||||
name: infrastructure
|
||||
@ -46,11 +46,11 @@ networks:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
# nginx configuration
|
||||
## /nginx/nginx.conf
|
||||
# 2. nginx configuration
|
||||
## 2.1. /nginx/nginx.conf
|
||||
기본 설정 파일을 그대로 사용함
|
||||
|
||||
## /nginx/conf.d/default.conf
|
||||
## 2.2. /nginx/conf.d/default.conf
|
||||
|
||||
```nginx
|
||||
server {
|
||||
@ -66,7 +66,7 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
## subdomain
|
||||
## 2.3. subdomain
|
||||
|
||||
```nginx
|
||||
server {
|
||||
@ -85,7 +85,7 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
## reload
|
||||
## 2.4. reload
|
||||
|
||||
```shell
|
||||
docker exec -it nginx-reverse-proxy nginx -s reload
|
||||
|
@ -1,16 +1,16 @@
|
||||
# Samba 설치
|
||||
# 1. Samba 설치
|
||||
```shell
|
||||
sudo apt -y install samba
|
||||
```
|
||||
|
||||
# Samba user group 추가
|
||||
# 2. Samba user group 추가
|
||||
[[../linux/Group#groupadd|Linux group add]]를 사용해 리눅스 유저 그룹을 추가한다.
|
||||
|
||||
# User 추가
|
||||
## Linux user 추가
|
||||
# 3. User 추가
|
||||
## 3.1. Linux user 추가
|
||||
[[../linux/User#useradd|Linux user add]]를 사용해 리눅스 유저를 먼저 추가해야 한다. 이 때 유저 그룹은 samba를 지정한다.
|
||||
|
||||
## smbpasswd
|
||||
## 3.2. smbpasswd
|
||||
```shell
|
||||
sudo smbpasswd -a [username]
|
||||
```
|
||||
@ -21,14 +21,14 @@ Retype new SMB password:
|
||||
Added user tuska.
|
||||
```
|
||||
|
||||
# Samba 폴더 생성
|
||||
# 4. Samba 폴더 생성
|
||||
```shell
|
||||
sudo mkdir -p /mnt/md0/share/guest
|
||||
sudo chown tuska:samba /mnt/md0/share
|
||||
sudo chmod 775 /mnt/md0/share
|
||||
```
|
||||
|
||||
# Samba 설정
|
||||
# 5. Samba 설정
|
||||
```shell
|
||||
sudo vim /etc/samba/smb.conf
|
||||
```
|
||||
@ -45,10 +45,10 @@ sudo vim /etc/samba/smb.conf
|
||||
force group = samba
|
||||
```
|
||||
|
||||
# Samba service 재시작
|
||||
# 6. Samba service 재시작
|
||||
```shell
|
||||
sudo service smbd restart
|
||||
```
|
||||
|
||||
# 공유 폴더 접속
|
||||
# 7. 공유 폴더 접속
|
||||
`\\[server-ip]\[section 이름]`
|
@ -4,10 +4,10 @@ tags:
|
||||
- sbc
|
||||
- odroid
|
||||
---
|
||||
# 개요
|
||||
# 1. 개요
|
||||
한국의 하드커널에서 제작 및 판매하는 인텔 x86 기반 [[ODROID]] SBC 제품
|
||||
|
||||
# Spec
|
||||
# 2. Spec
|
||||
- Intel 12세대 프로세서 N97 사용 (하스웰 노트북용 i7, 데스크탑용 i5급, 4C4T, TDP 12W)
|
||||
- DDR5-4800, MAX 48GB, Single Channel
|
||||
- HDMI 1port, DP 2Port
|
||||
@ -17,7 +17,7 @@ tags:
|
||||
- SATA III 4 port
|
||||
- 19만원
|
||||
|
||||
# 구매 목록
|
||||
# 3. 구매 목록
|
||||
| 품목 | 가격 |
|
||||
| ------------------------------- | ------- |
|
||||
| ODROID-H4+ | 187,700 |
|
||||
@ -28,7 +28,7 @@ tags:
|
||||
| 92x92x25mm DC Cooling Fan | 6,800 |
|
||||
| TOTAL | 304,800 |
|
||||
|
||||
# 추가 부품
|
||||
# 4. 추가 부품
|
||||
| 품목 | 가격 |
|
||||
| -------------------------------------------------- | ------- |
|
||||
| 삼성 DDR5-4800 16GB | 64,590 |
|
||||
@ -36,7 +36,7 @@ tags:
|
||||
| WD Ultrastar HC310 4TB<br/>7200RPM 256MB package x 2ea | 378,000 |
|
||||
| TOTAL | 513,590 |
|
||||
|
||||
# 언박싱
|
||||
# 5. 언박싱
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/01-구성품/01-택배.jpg]]
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/01-구성품/02-언박싱.jpg]]
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/01-구성품/03-구성품.jpg]]
|
||||
@ -44,12 +44,12 @@ tags:
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/01-구성품/05-본체실물.jpg]]
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/01-구성품/06-케이스.jpg]]
|
||||
|
||||
# 구매 시 유의사항
|
||||
# 6. 구매 시 유의사항
|
||||
1. 케이스에 쿨러가 동봉되어 있으므로 추가 쿨러 구매는 하지 않아도 됨
|
||||
2. 하드디스크 사용을 위해 19V/7A 파워를 산다면 전기 공급을 위한 플러그는 별도로 구매해야 한다.
|
||||
3. 하드디스크 연결용 SATA 케이블은 같이 구매하면 편하다. 남는 것이 있다면 구매하지 않아도 된다.
|
||||
|
||||
# 조립
|
||||
# 7. 조립
|
||||
![](https://www.youtube.com/watch?v=kxi5lZ67P8Y)
|
||||
1. 쿨링 팬을 케이스에 부착. 이 때 나사는 3개만 사용 (좌하, 우상하).
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/02-조립/01-쿨러.jpg]]
|
||||
@ -70,10 +70,10 @@ tags:
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/02-조립/07-조립전면부.jpg]]
|
||||
![[SBC(Single-Board Computer)/resources/ODROID H4+/02-조립/08-조립후면부.jpg]]
|
||||
|
||||
# OS
|
||||
# 8. OS
|
||||
하드커널에서는 별도의 OS 설치 미디어를 제공하지 않음
|
||||
권장하는 OS는 우분투이며 x86 CPU 특성상 Windows를 포함한 다른 OS를 설치하더라도 큰 문제가 없을 것
|
||||
|
||||
# 참조 링크
|
||||
# 9. 참조 링크
|
||||
- https://www.hardkernel.com/shop/odroid-h4-plus/
|
||||
- https://wiki.odroid.com/odroid-h4/start
|
@ -4,13 +4,13 @@ tags:
|
||||
- sbc
|
||||
- odroid
|
||||
---
|
||||
# 개요
|
||||
# 1. 개요
|
||||
한국의 하드커널에서 제작 및 판매하는 [[SBC]] 제품(군)
|
||||
삼성 SoC를 이용한 안드로이드 개발 보드 제조가 그 시작이다.
|
||||
현재는 삼성의 SoC가 단종되어 Amlogic, Rockchip 등의 Arm 기반 SoC와 인텔 x86 기반 프로세서를 사용한 SBC를 제작하고 있다.
|
||||
배송은 우체국을 이용한다.
|
||||
|
||||
# 제품(군)
|
||||
# 2. 제품(군)
|
||||
- H Serise (x86)
|
||||
- H4, H4+, H4 Ultra
|
||||
- H3, H3+
|
||||
|
@ -4,11 +4,11 @@ tags:
|
||||
- sbc
|
||||
- raspberry_pi
|
||||
---
|
||||
# 개요
|
||||
# 1. 개요
|
||||
영국의 Raspberry Pi Foundation이 개발하는 [[SBC]] 제품(군)
|
||||
저렴한 가격을 무기로 시장에서 제일 대중화된 SBC이다.
|
||||
|
||||
# 특징
|
||||
# 2. 특징
|
||||
- SBC의 특징 (소형, 저전력)
|
||||
- Arm기반 브로드컴 SoC를 사용
|
||||
- 전용 OS인 Raspberry Pi OS 존재 (Debian 기반 Linux 배포판)
|
||||
@ -16,7 +16,7 @@ tags:
|
||||
- 단 주변 기기 가격까지 더하다 보면 가성비가 나빠질 수 있음
|
||||
- 수많은 사용자가 전 세계에 폭넓게 퍼져있음
|
||||
- 이로 인해 다양한 사용방법을 손쉽게 검색할 수 있음
|
||||
# 제품(군)
|
||||
# 3. 제품(군)
|
||||
- Raspberry Pi 5
|
||||
- Raspberry Pi 4
|
||||
- Raspberry Pi 3
|
||||
|
@ -3,16 +3,16 @@ tags:
|
||||
- hardware
|
||||
- sbc
|
||||
---
|
||||
# 정의
|
||||
# 1. 정의
|
||||
Single-Board Computer 의 약자로 번역하면 단일 기판(보드) 컴퓨터다.
|
||||
하나의 기판 안에 프로세서, 메모리, 입출력 인터페이스 등이 모두 들어있는 컴퓨터다.
|
||||
|
||||
# 특징
|
||||
# 2. 특징
|
||||
- 하나의 기판에 컴퓨터가 동작하기 위한 모든 요소가 들어있다.
|
||||
- 크기가 작다.
|
||||
- 전력을 적게 소모한다.
|
||||
- 확장성이 낮다.
|
||||
|
||||
# 종류
|
||||
# 3. 종류
|
||||
- [[Raspberry Pi]]
|
||||
- ODroid
|
@ -1,10 +1,10 @@
|
||||
# create
|
||||
## groupadd
|
||||
# 1. create
|
||||
## 1.1. groupadd
|
||||
```shell
|
||||
sudo groupadd [groupname]
|
||||
```
|
||||
|
||||
# read
|
||||
# 2. read
|
||||
`/etc/group` 파일 확인
|
||||
```shell
|
||||
cat /etc/group
|
||||
|
@ -1,4 +1,7 @@
|
||||
# Get network interface information
|
||||
# 1. ifconfig
|
||||
deprecated
|
||||
|
||||
# 2. ip
|
||||
|
||||
```shell
|
||||
ip a
|
||||
@ -37,9 +40,9 @@ ip a
|
||||
valid_lft forever preferred_lft forever
|
||||
```
|
||||
|
||||
# Change IP settings
|
||||
## netplan
|
||||
### 파일 확인
|
||||
# 3. Change IP settings
|
||||
## 3.1. netplan
|
||||
### 3.1.1. 파일 확인
|
||||
|
||||
```shell
|
||||
ls /etc/netplan
|
||||
@ -49,7 +52,7 @@ ls /etc/netplan
|
||||
50-cloud-init.yaml
|
||||
```
|
||||
|
||||
### 내용 수정
|
||||
### 3.1.2. 내용 수정
|
||||
|
||||
```shell
|
||||
sudo vim /etc/netplan/50-cloud-init.yaml
|
||||
@ -83,7 +86,7 @@ network:
|
||||
version: 2
|
||||
```
|
||||
|
||||
## /etc/systemd/resolved.conf
|
||||
## 3.2. /etc/systemd/resolved.conf
|
||||
DNS의 경우 /etc/systemd/resolved.conf 파일 수정이 필요할 수 있음
|
||||
|
||||
```
|
||||
|
@ -5,9 +5,9 @@ tags:
|
||||
- hardware
|
||||
- linux
|
||||
---
|
||||
# 디스크 구성 확인
|
||||
## 마운트 리스트 및 용량 확인
|
||||
### df
|
||||
# 1. 디스크 구성 확인
|
||||
## 1.1. 마운트 리스트 및 용량 확인
|
||||
### 1.1.1. df
|
||||
```shell
|
||||
df -h
|
||||
```
|
||||
@ -25,7 +25,7 @@ tmpfs 5.0M 0 5.0M 0% /run/lock
|
||||
tmpfs 1.6G 12K 1.6G 1% /run/user/1000
|
||||
```
|
||||
|
||||
### lsblk
|
||||
### 1.1.2. lsblk
|
||||
```shell
|
||||
sudo lsblk
|
||||
```
|
||||
@ -42,7 +42,7 @@ nvme0n1 259:0 0 465.8G 0 disk
|
||||
└─ubuntu--vg-ubuntu--lv 252:0 0 100G 0 lvm /
|
||||
```
|
||||
|
||||
## system file 확인
|
||||
## 1.2. system file 확인
|
||||
```shell
|
||||
cat /proc/partitions
|
||||
```
|
||||
@ -60,7 +60,7 @@ major minor #blocks name
|
||||
252 0 104857600 dm-0
|
||||
```
|
||||
|
||||
## fdisk
|
||||
## 1.3. fdisk
|
||||
|
||||
```shell
|
||||
sudo fdisk -l
|
||||
@ -101,7 +101,7 @@ Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 16384 bytes / 131072 bytes
|
||||
```
|
||||
|
||||
# RAID용 Hard Disk partition 생성
|
||||
# 2. RAID용 Hard Disk partition 생성
|
||||
```shell
|
||||
sudo fdisk /dev/sda
|
||||
```
|
||||
@ -159,13 +159,13 @@ Calling ioctl() to re-read partition table.
|
||||
Syncing disks.
|
||||
```
|
||||
|
||||
# RAID 설정
|
||||
## mdadm 설치
|
||||
# 3. RAID 설정
|
||||
## 3.1. mdadm 설치
|
||||
```shell
|
||||
sudo apt install mdadm
|
||||
```
|
||||
|
||||
## RAID 생성
|
||||
## 3.2. RAID 생성
|
||||
```shell
|
||||
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
|
||||
# mdadm --create [raid경로/raid명칭] --level=[레이드 구분] --raid-devices=[레이드 구성할 하드 개수] [하드 1] [하드 2] ... [하드 n]
|
||||
@ -183,7 +183,7 @@ mdadm: Defaulting to version 1.2 metadata
|
||||
mdadm: array /dev/md0 started.
|
||||
```
|
||||
|
||||
## format
|
||||
## 3.3. format
|
||||
```shell
|
||||
sudo mkfs.ext4 /dev/md0
|
||||
```
|
||||
@ -203,11 +203,11 @@ Creating journal (262144 blocks): done
|
||||
Writing superblocks and filesystem accounting information: done
|
||||
```
|
||||
|
||||
# RAID 구성 확인
|
||||
# 4. RAID 구성 확인
|
||||
[[#마운트 리스트 및 용량 확인]]
|
||||
[[#system file 확인]]
|
||||
|
||||
## RAID 세부 정보 확인하기
|
||||
## 4.1. RAID 세부 정보 확인하기
|
||||
```shell
|
||||
more /proc/mdstat
|
||||
```
|
||||
@ -222,7 +222,7 @@ md0 : active raid1 sdb[1] sda[0]
|
||||
unused devices: <none>
|
||||
```
|
||||
|
||||
## mdadm
|
||||
## 4.2. mdadm
|
||||
```shell
|
||||
sudo mdadm --detail /dev/md0
|
||||
```
|
||||
@ -260,8 +260,8 @@ Consistency Policy : bitmap
|
||||
1 8 17 1 active sync /dev/sdb1
|
||||
```
|
||||
|
||||
# 재부팅 시 자동 마운트
|
||||
## /etc/fstab
|
||||
# 5. 재부팅 시 자동 마운트
|
||||
## 5.1. /etc/fstab
|
||||
/dev/md0 와 같이 device 파일 이름을 fstab 파일에 추가하라는 글을 쉽게 검색할 수 있다.
|
||||
하지만 재부팅 시 리눅스에서 RAID 이름을 md127과 같이 바꿔버려 부팅 과정에서 오류가 발생하므로 UUID를 추가해 오류를 방지해야 한다.
|
||||
|
||||
@ -285,7 +285,7 @@ sudo vim /etc/fstab
|
||||
UUID=c207facc-b75b-4041-9971-bb272b26b689 /mnt/md0 ext4 defaults 0 0
|
||||
```
|
||||
|
||||
## mdadm conf
|
||||
## 5.2. mdadm conf
|
||||
```shell
|
||||
sudo mdadm --detail --scan
|
||||
```
|
||||
@ -305,18 +305,18 @@ MAILADDR root
|
||||
ARRAY /dev/md0 metadata=1.2 UUID=4c154399:14eb5dc6:7d9a9795:32654856
|
||||
```
|
||||
|
||||
### 한 번에 실행
|
||||
### 5.2.1. 한 번에 실행
|
||||
```shell
|
||||
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
|
||||
```
|
||||
|
||||
## RAID 마운트
|
||||
## 5.3. RAID 마운트
|
||||
```shell
|
||||
sudo mkdir /mnt/md0
|
||||
sudo mount /dev/md0 /mnt/md0
|
||||
```
|
||||
|
||||
## 마운트 확인
|
||||
## 5.4. 마운트 확인
|
||||
```shell
|
||||
cd /mnt
|
||||
ls -al
|
||||
|
@ -1,5 +1,5 @@
|
||||
# create
|
||||
## useradd
|
||||
# 1. create
|
||||
## 1.1. useradd
|
||||
계정을 생성하고 기본 쉘인 sh를 연결해준다.
|
||||
옵션으로 그룹, 패스워드 등을 지정할 수 있다.
|
||||
옵션을 지정하지 않을 경우 그룹, 패스워드 등을 설정하지 않는다.
|
||||
@ -18,7 +18,7 @@ sudo useradd [options] [username]
|
||||
| -U | --user-group | 유저 아이디와 같은 그룹 생성 |
|
||||
| -h | --help | 도움말 표시 |
|
||||
|
||||
## adduser
|
||||
## 1.2. adduser
|
||||
콘솔에서 대화식 입출력으로 계정을 생성한다.
|
||||
```shell
|
||||
sudo adduser [username]
|
||||
@ -46,8 +46,8 @@ info: Adding new user `kolpi13' to supplemental / extra groups `users' ...
|
||||
info: Adding user `kolpi13' to group `users' ...
|
||||
```
|
||||
|
||||
# read
|
||||
## id
|
||||
# 2. read
|
||||
## 2.1. id
|
||||
유저 아이디를 생략할 경우 현재 콘솔에서 로그인한 계정의 계정 정보를 확인한다.
|
||||
유저 아이디를 입력할 경우 입력한 유저의 계정 정보를 출력한다.
|
||||
```shell
|
||||
@ -65,7 +65,7 @@ uid=1000(tuska) gid=1000(tuska) groups=1000(tuska),4(adm),24(cdrom),27(sudo),30(
|
||||
| -u | --user | uid 출력 |
|
||||
| -n | --name | 숫자로 된 id 대신 이름 출력 (u\|g\|G 옵션과 같이 사용) |
|
||||
|
||||
## whoami
|
||||
## 2.2. whoami
|
||||
현재 콘솔에서 로그인한 계정명을 확인한다.
|
||||
```shell
|
||||
whoami
|
||||
@ -75,7 +75,7 @@ whoami
|
||||
tuska
|
||||
```
|
||||
|
||||
## users
|
||||
## 2.3. users
|
||||
현재 로그인 중인 계정 목록을 확인한다.
|
||||
```shell
|
||||
users
|
||||
@ -85,7 +85,7 @@ users
|
||||
tuska
|
||||
```
|
||||
|
||||
## who
|
||||
## 2.4. who
|
||||
현재 로그인 중인 계정 목록을 자세히 확인한다.
|
||||
```shell
|
||||
who
|
||||
@ -95,7 +95,7 @@ who
|
||||
tuska pts/0 2024-08-16 14:21 (192.168.200.100)
|
||||
```
|
||||
|
||||
## 환경 설정 파일
|
||||
## 2.5. 환경 설정 파일
|
||||
환경 설정 파일은 모두 `/etc`에 위치한다.
|
||||
|
||||
| 파일 | 설명 |
|
||||
@ -108,13 +108,13 @@ tuska pts/0 2024-08-16 14:21 (192.168.200.100)
|
||||
| `/etc/login.defs` | 로그인 수행 시 기본설정 |
|
||||
| `/etc/skel` | 홈 디렉터리 생성 시 기본 제공 파일 |
|
||||
|
||||
# update
|
||||
## passwd
|
||||
# 3. update
|
||||
## 3.1. passwd
|
||||
비밀번호 설정
|
||||
```shell
|
||||
sudo passwd [username]
|
||||
```
|
||||
# delete
|
||||
# 4. delete
|
||||
```shell
|
||||
sudo userdel [options] [username]
|
||||
```
|
||||
|
10
linux/dig.md
10
linux/dig.md
@ -6,7 +6,7 @@ dig [@global-server] [domain] [q-type] [q-class] {q-opt}
|
||||
[ host [@local-server] {local-d-opt} [...]]
|
||||
```
|
||||
|
||||
# basic
|
||||
# 1. basic
|
||||
|
||||
```shell
|
||||
dig host
|
||||
@ -40,7 +40,7 @@ naver.com. 25 IN A 223.130.200.219
|
||||
;; MSG SIZE rcvd: 102
|
||||
```
|
||||
|
||||
# +short
|
||||
# 2. +short
|
||||
답변을 간단하게 볼 때 사용
|
||||
|
||||
```shell
|
||||
@ -58,7 +58,7 @@ dig naver.com +short
|
||||
223.130.192.248
|
||||
```
|
||||
|
||||
# record 지정
|
||||
# 3. record 지정
|
||||
|
||||
```shell
|
||||
dig host record
|
||||
@ -68,7 +68,7 @@ dig host record
|
||||
dig naver.com a
|
||||
```
|
||||
|
||||
# dns 지정
|
||||
# 4. dns 지정
|
||||
|
||||
```shell
|
||||
dig @dns-address host
|
||||
@ -78,7 +78,7 @@ dig @dns-address host
|
||||
dig @8.8.8.8 google.com
|
||||
```
|
||||
|
||||
# Using DoH (DNS over Https)
|
||||
# 5. Using DoH (DNS over Https)
|
||||
|
||||
```shell
|
||||
dig +https @dns-address host
|
||||
|
@ -1,14 +1,14 @@
|
||||
# netstat
|
||||
# 1. netstat
|
||||
deprecated
|
||||
|
||||
# ss
|
||||
# 2. ss
|
||||
socket statistics
|
||||
|
||||
```shell
|
||||
ss [options] [filter]
|
||||
```
|
||||
|
||||
## basic
|
||||
## 2.1. basic
|
||||
listening 소켓을 제외하고 연결중인 모든 소켓 표시
|
||||
```shell
|
||||
ss
|
||||
@ -24,14 +24,14 @@ tcp ESTAB 0 0
|
||||
tcp ESTAB 0 52 [::ffff:192.168.200.10]:ssh [::ffff:192.168.200.100]:49173
|
||||
```
|
||||
|
||||
## all
|
||||
## 2.2. all
|
||||
모든 소켓 표시
|
||||
|
||||
```shell
|
||||
ss -a
|
||||
```
|
||||
|
||||
## numeric
|
||||
## 2.3. numeric
|
||||
서비스 이름 대신 숫자로 표기
|
||||
|
||||
```shell
|
||||
@ -48,7 +48,7 @@ ss -n
|
||||
[::ffff:192.168.200.10]:22
|
||||
```
|
||||
|
||||
## process
|
||||
## 2.4. process
|
||||
관리자 권한 필요
|
||||
|
||||
```shell
|
||||
|
@ -5,6 +5,7 @@ tags:
|
||||
---
|
||||
|
||||
# 1. root 유저 패스워드 설정
|
||||
|
||||
```shell
|
||||
sudo passwd root
|
||||
```
|
||||
@ -15,6 +16,7 @@ Retype new password: [type root user password before you type]
|
||||
passwd: password updated successfully
|
||||
```
|
||||
# 2. root 로그인
|
||||
|
||||
```
|
||||
$ su -
|
||||
Password: [type root user password]
|
||||
|
@ -6,7 +6,7 @@ tags:
|
||||
- network
|
||||
- ssh
|
||||
---
|
||||
0. 기존에 만든 키가 있는지 확인
|
||||
# 1. 기존에 만든 키가 있는지 확인
|
||||
```powershell
|
||||
# 키 저장 위치로 이동
|
||||
cd ~/.ssh
|
||||
@ -22,7 +22,7 @@ dir
|
||||
# 키가 없다면 다음 1번부터 진행
|
||||
```
|
||||
|
||||
1. 공개키-개인키 생성
|
||||
# 2. 공개키-개인키 생성
|
||||
- 커맨드라인
|
||||
```powershell
|
||||
ssh-keygen
|
||||
@ -53,12 +53,12 @@ dir
|
||||
+----[SHA256]-----+
|
||||
```
|
||||
|
||||
2. 생성한 공개키 Server로 전송하기
|
||||
# 3. 생성한 공개키 Server로 전송하기
|
||||
```powershell
|
||||
type $env:[public key path] | ssh [username]@[remote-host] "cat >> .ssh/authorized_keys"
|
||||
```
|
||||
|
||||
3. ssh 접속
|
||||
# 4. ssh 접속
|
||||
```shell
|
||||
ssh [username]@[remote-host]
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user