OpenVPN은 Proxmox VE의 네트워크에 액세스를 해야합니다. 그래서 컨테이너 구성 정보를 조금 수정해 주어야 합니다.
(1) 노드를 선택하고, Shell 메뉴를 선택합니다.
(2) ‘cd /etc/pve/nodes/pve-home/lxc’ 명령으로 디렉토리를 이동합니다. pve-home은 설치할 때 지정한 Proxmox VE 서버의 이름입니다.
(3) ‘ls’ 명령어로 컨테이너 구성 파일(105.conf) 파일을 확인합니다. 컨테이너 구성 파일 이름 앞 부분의 숫자는 앞 단계에서 생선된 컨테이너 번호입니다. 각자 생성된 번호에 맞게 수정해서 사용해야 합니다.
(4) echo "lxc.cgroup2.devices.allow: c 10:200 rwm" >> 105.conf
명령으로 105.conf에 내용을 추가합니다.
(5) echo "lxc.mount.entry: /dev/net dev/net none bind,create=dir" >> 105.conf
명령으로 105.conf에 내용을 추가합니다.
(6) cat 105.conf
명령으로 (4), (5)의 내용이 잘 추가됐는지 확인합니다.
(7) /dev/net/tun
디바이스의 소유권을 100000:100000 으로 변경합니다.
(8) ls -l
명령으로 소유권이 잘 변경되었는지 확인합니다.
# 명령어 요약 cd /etc/pve/nodes/pve-home/lxc ls echo "lxc.cgroup2.devices.allow: c 10:200 rwm" >> 105.conf echo "lxc.mount.entry: /dev/net dev/net none bind,create=dir" >> 105.conf cat 105.conf chown 100000:100000 /dev/net/tun ls -l /dev/net/tun
lxc.cgroup2.devices.allow: c 10:200 rwm
은cgroup2
를 사용해서 디바이스에 대한 접근 권한을 허가해주는 설정입니다.
캐릭터 디바이스(c
) 유형의 장치 종류10
, 세부 항목200
(/dev/net/tun)에 대해서 읽기(r
), 쓰기(m
), 메모리 맵 권한(m
) 을 허가(allow
) 해준 것입니다.lxc.mount.entry: /dev/net dev/net none bind,create=dir
은 컨테이너의 파일 시스템에 대한 마운트를 설정한 것입니다.
Proxmox VE 호스트의/dev/net
디렉토리를 컨테이너의/dev/net
에 파일 시스템 유형은 지정하지 않고(none
), 바인드 마운트(bind
)하고, 디렉토리가 없는 경우에는 만들(create=dir
)라는 의미입니다.
결론적으로 보면 Proxmox VE 호스트의 /dev/net 디렉터리를 컨테이너의 /dev/net 디렉토리로 마운트해서 컨테이너의 프로세스들이 호스트의 네트워크 장치 파일에 액세스 가능하게 해주는 내용입니다.