일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- CentOS 8
- 라떼판다 NAS
- Rocky Linux
- Packstack
- RDP Wrap
- centos 7
- haproxy
- MSA
- LattePanda NAS
- podman
- Openstack Rocky
- ubuntu
- openstack
- RHEL 8
- WireGuard
- PostgreSQL
- LattePanda Ubuntu
- MySQL
- Windows 10 Home
- 자작 NAS
- Kubernetes
- CentOS
- RHEL 7
- nextcloud
- LattePanda
- Rocky Linux 8
- 라떼판다 우분투
- MariaDB
- RHEL
- 라떼판다
Archives
- Today
- Total
간마늘작업소
[WireGuard VPN] 1.Podman Container를 이용한 WireGuard VPN 설치 본문
0.개요
- HAProxy를 화이트리스트 IP 방식으로 쓰고 있어서 기본적으로는 외부에서 개인 서버에 접근할 수 없음.
- 집 내부나 회사의 경우 IP를 등록해뒀으니 상관이 없으나 시시각각 변경되는 스마트폰/태블릿 컴퓨터 IP는 대응하기 어려움.
- 그래서 VPN 도입을 결정함.
- WireGuard를 선택한 이유
https://tech.devsisters.com/posts/wireguard-vpn-1/
1.설치하기
- Podman을 이용해서 설치.
- 개인 서버와 같이 두지 않고 라즈베리파이 3에 CentOS 7을 올려서 별도의 서버를 구축.
yum install podman
- WireGuard 이미지 : docker.io/linuxserver/wireguard:latest
podman pull docker.io/linuxserver/wireguard:latest
podman run -d\
--name=wireguard\
--cap-add=NET_ADMIN\
--cap-add=SYS_MODULE\
-e PUID=$UID\
-e PGID=$(id -g $USER)\
-e TZ=Asia/Seoul\
-e SERVERURL='서버 URL 혹은 공인 IP'\
-e SERVERPORT=22143\
-e PEERS=5\
-e PEERDNS=8.8.8.8\
-e INTERNAL_SUBNET=192.168.0.0\
-p 22143:51820/udp\
-p 22144:51821/tcp\
-v /home/podman-volume:/config\
-v /lib/modules:/lib/modules\
--sysctl="net.ipv4.ip_forward=1"\
--sysctl="net.ipv4.conf.all.src_valid_mark=1"\
docker.io/linuxserver/wireguard
- 연동 방법 설정
- SERVERURL에는 사용할 서버 URL이나 서버의 공인 IP를 등록.
- PEERS는 생성할 계정의 숫자라고 이해하면 됨.
- PEERS=5는 5개의 계정을 생성한다는 의미.
- UDP/51820과 TCP/51821을 적당한 포트에 포트포워딩.
- 방화벽 설정에서 UDP/51820은 외부 포트포워딩이 활성화 되어있음.
- Podman Volume으로 Container 내부 설정 디렉토리와 연결.
2.방화벽 설정
firewall-cmd --permanent --zone=public --add-port=22143/udp
firewall-cmd --reload
firewall-cmd --zone=public --list-all
- 방화벽 설정 외부 포트포워딩 적용.
- 방화벽을 비활성화했다면 넘어가도 됨.
- 공유기를 사용할 경우, 공유기 포트포워딩 설정은 등록해줘야함.
- VPN 서버 방화벽이 비활성화 되었다 하더라도 해당 설정은 해줘야함.
3.systemd 등록
podman generate systemd wireguard > /etc/systemd/system/podman_wireguard.service
cat /etc/systemd/system/podman_wireguard.service
systemctl status podman_wireguard.service
- 자세한 설명은 관련 글 참조.
4.기타
ip link add cni-podman0 type bridge
- 필자의 경우, Podman의 Bridge 네트워크가 자동으로 생성되지 않는 문제가 발생했음.
- 이를 수동으로 생성해야 했음.
- 만약, VPN 서버가 재부팅된다면 그 때마다 자동으로 생성되게끔 해야함.
vi /etc/rc.d/rc.local
(전략)
ip link add cni-podman0 type bridge
- 하단 적당한 위치에 추가하고 저장.
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local.service
'작업물 > WireGuard VPN' 카테고리의 다른 글
[WireGuard VPN] 2.WireGuard VPN 사용을 위한 설정 (0) | 2022.06.21 |
---|
Comments