손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법
TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.
Debian 12(Bookworm) 기반의 WireGuard 포인트 투 사이트 VPN은 노트북, 스마트폰 또는 원격 워크스테이션이 서버에 접속하거나 서버를 통해 트래픽을 라우팅할 수 있도록 하는 실용적인 방법입니다. 먼저 중요한 점을 하나 명확히 해야 합니다. WireGuard에는 특별한 "서버 모드"가 없습니다. 모든 참여자는 피어입니다. 포인트 투 사이트 구성에서 하나의 Debian 호스트는 안정적이고 공개적으로 접속 가능한 허브 역할을 하며, 각 원격 장치는 고유한 키 쌍과 터널 주소를 할당받습니다.
이 가이드에서는 Debian에 포함된 WireGuard 도구, wg-quickIPv4 포트 포워딩 및 nftables를 사용합니다. Debian 서버에 루트 또는 sudo 권한이 있고 UDP 포트에 51820접근할 수 있다고 가정합니다. 서버가 가정이나 사무실 라우터 뒤에 있는 경우, 해당 UDP 포트를 Debian 호스트로 포워딩해야 합니다. ISP에서 캐리어급 NAT(CGNAT)를 사용하는 경우, 일반적인 라우터 포트 포워딩으로는 충분하지 않을 수 있습니다. WireGuard 자체 문제를 해결하기 전에 실제로 접근 가능한 공용 IP 주소가 있는지 확인하십시오.
이 예제 VPN은 를 사용합니다 10.8.0.0/24. 서버는 10.8.0.1이고, 첫 번째 클라이언트는 입니다 10.8.0.2. 클라이언트는 IPv4 인터넷 트래픽이 데비안 서버를 통해 나가는 전체 터널 VPN 또는 선택된 사설 네트워크만 WireGuard를 사용하는 분할 터널 VPN으로 구성할 수 있습니다.
데비안 자체의 WireGuard 문서에서는 WireGuard가 배포판 패키지를 통해 사용 가능하다고 명시하고 있으며, 공식 WireGuard 빠른 시작 가이드에서는 키 생성 wg-quick및 선택적 영구 연결 유지 동작에 대해 설명합니다. 자세한 내용은 데비안 WireGuard 문서 , 공식 WireGuard 빠른 시작 가이드 및 데비안의 wg-quick 매뉴얼 페이지를 참조하십시오 .
패키지 메타데이터를 업데이트한 다음 WireGuard와 nftables를 설치하세요.
sudo apt update
sudo apt install wireguard nftables
흔히 데비안 12를 사용하려면 별도의 WireGuard 커널 모듈이 필요하다는 오해가 있습니다. 하지만 그렇지 않습니다. WireGuard는 이미 수년 전부터 리눅스 커널에 포함되어 있으며, 데비안 패키지에서 필요한 사용자 공간 관리 도구를 제공합니다. 따라서 검증되지 않은 설치 스크립트를 다운로드하는 대신 데비안 패키지를 사용하는 것이 좋습니다.

제한적인 권한으로 키 파일을 생성하세요:
sudo -i
install -d -m 700 /etc/wireguard
umask 077
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
chmod 600 /etc/wireguard/server_private.key
cat /etc/wireguard/server_public.key
개인 키는 반드시 비공개로 유지해야 합니다. 공개 키는 클라이언트 설정 파일에 복사하는 키입니다. 이상적으로는 서버가 아닌 각 클라이언트에서 클라이언트의 개인 키를 생성하는 것이 좋습니다. 이렇게 하면 서버는 클라이언트의 개인 키를 보유할 필요가 없습니다.

VPN 터널은 성공적으로 설정되었지만 라우팅된 트래픽은 여전히 실패할 수 있습니다. 그 이유는 Linux IP 포워딩이 WireGuard 자체와는 별개의 커널 설정이기 때문입니다. 영구적인 sysctl 파일을 생성하십시오.
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
sysctl net.ipv4.ip_forward
최종 명령은 를 보고해야 합니다 net.ipv4.ip_forward = 1. Debian 커널 문서에서는 를 ip_forwardIPv4 패킷 포워딩을 활성화하는 스위치로 설명합니다. 조치: 터널 인터페이스가 자동으로 라우팅을 켜는 것으로 가정하지 말고 이 값을 명시적으로 확인하십시오. Debian ip(7) 매뉴얼 과 sysctl.conf 문서를 참조하십시오 .

서버 개인 키를 읽은 다음 다음을 생성하세요 /etc/wireguard/wg0.conf.
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
다음으로 파일을 보호하세요.
sudo chmod 600 /etc/wireguard/wg0.conf
AllowedIPsWireGuard 는 방화벽과 같은 허용 목록으로만 오해되는 경우가 많습니다. 하지만 라우팅도 제어합니다. 서버에서 10.8.0.2/32특정 피어에 주소를 할당하면 WireGuard는 해당 터널 주소로 오는 패킷이 이 클라이언트에 속한다고 인식합니다. 모든 클라이언트에게 고유한 주소와 별도의 [Peer]블록을 할당하십시오.
SaveConfig = true이 파일을 수동으로 관리할 경우, 해당 옵션을 생략하는 것도 유용한 방법입니다 . 옵션을 사용 SaveConfig하면 wg-quick시스템 종료 시 실시간 상태를 구성 파일에 다시 기록할 수 있으며, 이로 인해 수동으로 편집한 내용이 덮어쓰여질 수 있습니다. 따라서 실시간 상태를 저장하려는 경우가 아니라면 파일을 선언적인 형태로 유지하십시오.

풀터널 클라이언트가 데비안 서버를 통해 인터넷에 접속해야 하는 경우, 가장 쉬운 방법은 IPv4 마스커레이딩을 사용하는 것입니다. 먼저 서버의 아웃바운드 인터페이스를 확인해야 합니다.
ip route get 1.1.1.1
, , 또는 dev와 같은 인터페이스가 뒤에 오는지 확인하십시오 . 항상 라고 가정하지 마십시오 .eth0ens3enp1s0eth0
이미 NAT 설정을 유지 관리 중인 경우 /etc/nftables.conf, 파일을 교체하는 대신 다음 NAT 테이블을 기존 규칙 세트에 병합하십시오.
table ip wireguard-nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oifname "eth0" ip saddr 10.8.0.0/24 masquerade
}
}
eth0실제 발신 인터페이스로 교체하십시오 . 로드하기 전에 유효성을 검사하십시오.
sudo nft -c -f /etc/nftables.conf
sudo systemctl enable --now nftables
sudo nft list ruleset
WireGuard에서 NAT는 필수적인 요소가 아닙니다. 목적지 LAN에 이미 서버로 돌아가는 경로가 있는 경우 10.8.0.0/24, NAT 마스커레이딩 없이도 라우팅된 액세스가 가능합니다. NAT는 원격 클라이언트가 서버의 기존 인터넷 경로를 사용하도록 하고, 다른 곳으로의 복귀 경로를 제어할 수 없는 경우에 주로 유용합니다. 권장 사항: 단순한 인터넷 출구 경로의 경우에는 NAT 마스커레이딩을 사용하고, 네트워크를 제어하고 소스 주소를 유지하려는 경우에는 명시적 라우팅을 사용하는 것이 좋습니다.

이미 설치된 방화벽에 따라 다릅니다. nftables 입력 정책이 제한적이라면 인바운드 UDP를 허용하십시오 51820. 포워드 체인에 기본 차단 정책이 있는 경우, wg0의도한 목적지로의 트래픽과 설정된 반환 트래픽을 허용하는 규칙을 추가하십시오. 클라우드 VPS 제공업체는 UDP를 허용해야 하는 별도의 보안 그룹 또는 제공업체 방화벽을 보유하고 있을 수도 있습니다 51820.
원격 SSH 서버에 완전히 새로운 기본 방화벽 규칙 세트를 무턱대고 붙여넣지 마십시오. 접속이 차단될 수 있습니다. 조치: sudo nft list ruleset기존 방화벽을 검토하고 WireGuard를 통합하십시오.
클라이언트 측에서 WireGuard 앱 또는 다른 방법을 사용하여 자체 키 쌍을 생성합니다 wg genkey. 전체 터널 IPv4 프로필은 다음과 같습니다.
[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT_PRIVATE_KEY
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
vpn.example.com서버의 공개 DNS 이름 또는 공개 IP 주소로 바꾸십시오 . 이 DNS줄은 선택 사항이며 클라이언트 구현 지원 여부는 다를 수 있습니다. 스플릿 터널의 경우 AllowedIPsVPN을 통과해야 하는 네트워크만 지정하십시오. 예를 들어, 10.8.0.0/24사설 LAN(예: )을 추가하십시오 192.168.50.0/24.
PersistentKeepalive = 25이 설정은 선택 사항입니다. WireGuard 공식 문서에서는 NAT 또는 상태 저장 방화벽 뒤에 있는 피어가 유휴 시간 동안 매핑을 유지해야 하는 경우 25초를 적절한 값으로 권장합니다. 이는 성능 설정이 아니며 모든 클라이언트에 필수적인 것은 아닙니다. 권장 사항: 주로 로밍 클라이언트 또는 NAT 환경의 클라이언트처럼 유휴 시간 이후 연결할 수 없게 되는 경우에 사용하십시오.

먼저 nftables를 실행한 다음 WireGuard 인터페이스를 활성화하십시오.
sudo systemctl enable --now nftables
sudo systemctl enable --now wg-quick@wg0
systemctl is-active nftables
systemctl is-active wg-quick@wg0
wg-quick@wg0/etc/wireguard/wg0.conf설명서 를 읽어보면 wg-quick이 명명 규칙이 아래에 저장된 구성에 대한 일반적인 바로 가기임을 확인할 수 있습니다 /etc/wireguard. 조치: 더 복잡한 네트워크 관리자 설계가 없는 한 사용자 지정 부팅 스크립트 대신 서비스를 사용하십시오.

클라이언트를 연결한 다음 서버를 검사하십시오.
sudo wg show
ip address show wg0
ping -c 3 10.8.0.2
정상적인 피어는 터널을 통과한 후 최근 핸드셰이크 기록과 0이 아닌 전송 카운터 값을 보여줍니다. 전체 터널을 구성한 경우, 신뢰할 수 있는 IP 확인 서비스를 사용하여 클라이언트의 공용 IPv4 주소를 확인하십시오. 해당 주소가 Debian 서버의 송신 주소와 일치해야 합니다.

| 증상 | 가능성 있는 원인 | 유용한 다음 작업 |
|---|---|---|
| 악수 없음 | 키, 엔드포인트, UDP 포트, 상위 방화벽, 라우터 포트 포워딩 또는 CGNAT 설정이 잘못되었을 수 있습니다. | UDP 51820 포트가 데비안 호스트에 도달하는지 확인하고 두 공개 키를 다시 확인하십시오. |
| 핸드셰이크는 성공했지만 인터넷 연결이 안 됩니다. | IPv4 포워딩, 포워딩 방화벽 규칙 또는 NAT가 누락되었습니다. | sysctl net.ipv4.ip_forward, nft list ruleset, 및 아웃바운드 인터페이스 이름을 확인하십시오 . |
| 10.8.0.1에는 접속할 수 있지만 사설 LAN에는 접속할 수 없습니다. | 클라이언트에 LAN 경로가 없거나 LAN에 반환 경로가 없습니다. | 클라이언트에 LAN 서브넷을 추가하고 AllowedIPs적절하게 라우팅 또는 NAT를 구성하십시오. |
| 일부 사이트는 멈춥니다 | 경로-MTU 문제일 수 있습니다 | MTU를 강제로 설정하기 전에 더 작은 패킷으로 테스트해 보세요. wg-quickMTU는 자동으로 선택할 수 있으므로 다른 가이드에서 1420으로 설정했다고 해서 그대로 따라 하지 마세요. |
| IPv4는 VPN을 사용하지만 IPv6는 사용하지 않습니다. | 프로필은 라우팅만 지원합니다.0.0.0.0/0 | WireGuard를 통해 IPv6도 구성하거나, IPv6 유출을 방지해야 하는 경우 클라이언트 IPv6를 의도적으로 비활성화/차단하십시오. |
신뢰할 수 없는 Wi-Fi에서 트래픽을 보호하거나 인터넷 트래픽이 Debian 서버에서 나가도록 하려면 전체 터널링을 사용하십시오. 서버, 홈 네트워크, 연구실 또는 내부 애플리케이션에 대한 원격 액세스만 필요하고 일반 인터넷 트래픽은 로컬에 유지하려는 경우에는 분할 터널링을 사용하십시오. 어떤 방식을 선택할지는 주로 클라이언트의 설정에 따라 결정됩니다 AllowedIPs.
소규모 지점 간 구축의 경우, 위와 같은 구성으로 유지 관리 가능한 기본 설정을 구축할 수 있습니다. 클라이언트당 하나의 피어 블록, 고유한 터널 주소, Debian에서 관리하는 서비스, 그리고 실제로 필요한 라우팅 동작을 위한 nftables만 있으면 됩니다. 하지만 대규모 구축의 경우, WireGuard 프로토콜 자체는 단순하지만 키 배포, 피어 수명 주기, DNS, 로깅 및 구성 관리 등이 운영상의 고려 사항이 됩니다.
wg-quick@wg0활성화되어 있으며 다음과 같은 wg0특징을 가지고 있습니다 10.8.0.1/24.51820, 해당 포트는 상위 방화벽이나 라우터를 통해서도 접근 가능합니다./32서버에 등록된 고유한 항목을 가지고 있습니다.net.ipv4.ip_forward1라우팅 액세스가 필요한 경우 와 같습니다 .wg show클라이언트가 트래픽을 전송한 후 최근 핸드셰이크 정보를 표시합니다.AllowedIPs의도된 전체 터널 또는 분할 터널 설계와 일치합니다.이 단계는 Debian 12 및 Debian에서 제공하는 표준 WireGuard 도구를 대상으로 합니다. 네트워크 토폴로지, 업스트림 NAT, 클라우드 방화벽, 사설 LAN 라우팅 및 IPv6 정책은 환경에 따라 다르므로 WireGuard 구성만으로는 이러한 요소를 추론할 수 없습니다. 모든 연결 문제를 WireGuard 오류로 간주하지 말고 각 요소를 개별적으로 검증하십시오.
TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.
웹캠이나 이미지 파일을 사용하여 CoBang으로 Linux에서 QR 코드를 스캔하세요. Flatpak 카메라 접근 관련 설치 옵션, 설정 단계 및 문제 해결 방법을 참조하세요.
Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하세요. 노출, 색상, 깜빡임 감소 및 기타 지원되는 제어 기능을 조정하고 호환되는 비디오 모드를 확인하세요.
Linux에 PhpStorm을 설치하려면 JetBrains Toolbox 또는 독립 실행형 tar.gz 아카이브를 사용하세요. Snap 및 Arch AUR 옵션도 제공됩니다. Java는 이미 포함되어 있습니다.
Cisco Packet Tracer 9.0.1 for Ubuntu 64비트 버전을 다운로드하고, APT를 사용하여 DEB 패키지를 설치한 다음, 터미널에서 라이선스에 동의하고 로그인하여 실습을 시작하십시오.
각 디스플레이마다 별도의 XFCE 4 패널을 생성하고, 두 번째 패널을 올바른 출력에 할당하고, 위치와 크기를 조정한 다음, 필요한 실행기와 상태 항목을 추가합니다.
GNOME Disks 또는 dd 명령어를 사용하여 Linux에서 CD-ROM ISO 파일을 생성합니다. 광학 드라이브를 식별하고, 복사 과정을 모니터링하고, 이미지 유효성을 검사하고, 손상된 디스크나 오디오 디스크에 다른 도구가 필요한 경우를 알 수 있습니다.
GIMP를 사용하여 Linux에서 사진 배경 제거하기: 피사체를 따라 그리고, 선택한 배경을 삭제하고, 투명도를 유지한 다음, 재사용 가능한 PNG 파일로 내보낼 수 있습니다.
FlightGear를 공식 사이트에서 무료로 다운로드하세요. Windows, macOS, Linux 패키지를 비교하고, 데이터 파일을 설치한 후 첫 비행을 시작하세요.
브라우저에서 Google Tasks를 열거나, Chrome 바로가기 또는 앱 스타일 실행을 추가하고, 캘린더 및 Gmail을 통해 날짜별 할 일을 관리하세요.