Create TOC

2021년 10월 25일

Wireguard client 설정

wireguard 서버는 docker 로 설정했다면 client 설정은 간단하다. 아래는 docker-compose.yml 파일이다.

version: "2.1"
services:
    app:
        image: ghcr.io/linuxserver/wireguard
        cap_add:
            - NET_ADMIN
            - SYS_MODULE
        environment:
            - PUID=1001
            - PGID=1001
            - TZ=Asia/Seoul
            - SERVERURL=test.com #optional
            - SERVERPORT=51820 #optional
            - PEERS=5 #optional
            - PEERDNS=1.1.1.1
            - INTERNAL_SUBNET=10.13.13.0 #optional
            - ALLOWEDIPS=0.0.0.0/0 #optional
        volumes:
            - ./config:/config
            - /lib/modules:/lib/modules
        ports:
            - 51820:51820/udp
        sysctls:
            - net.ipv4.conf.all.src_valid_mark=1
        restart: unless-stopped

wireguard 앱

iOS나 Android의 wireguard 앱을 사용할 경우 아래 명령으로 QR 코드를 출력해서 사용하면 된다.

$ docker-compose exec app /app/show-peer 숫자

linux

w연결을 위해 config/peer숫자/peer1.conf(1은 사용하고자하는 peer 번호를 쓰면 된다) 내용을 /etc/wireguard/mywg.conf(파일 이름은 원하는대로)로 복사해오면 된다.

$ cat config/peer1/peer1.conf

이걸 그대로 /etc/wireguard/mywg.conf 로 복사해서 사용하면 된다. 복사 후 아래 명령으로 연결할 수 있다.

$ sudo wg-quick up mywg

img 파일 mount

raspberry pi OS의 /boot폴더가 손상될 경우 부팅이 안된다. 이때 새로 설치하지 않고 raspberry pi OS에서 /boot만 추출해서 복구해본다.

mount를 위해서 offset 값을 구해야 한다. 우선 fdisk 명령으로 시작 sector (Start)와 크기(Secror size)를 구한다.

$ sudo fdisk -l 2021-05-07-raspios-buster-armhf-lite.img
Disk 2021-05-07-raspios-buster-armhf-lite.img: 1.75 GiB, 1874853888 bytes, 3661824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9730496b

Device                                    Boot  Start     End Sectors  Size Id Type
2021-05-07-raspios-buster-armhf-lite.img1        8192  532479  524288  256M  c W95 FAT32 (LBA)
2021-05-07-raspios-buster-armhf-lite.img2      532480 3661823 3129344  1.5G 83 Linux

8192에 512를 곱한 수를 offset으로 사용한다.

$ sudo mount -o loop,offset=$((8192*512)) 2021-05-07-raspios-buster-armhf-lite.img /mmt/test