모든 사용자가 (개방형) VPN 연결을 사용할 수 있기를 원하지만 루트가 아닌 경우 SELinux에 의해 차단됩니다.
var/log/audit/audit.log
나는 처음에 비-편안한 모드에서 그것을 보았습니다:
type=AVC msg=audit(1659770552.275:309): avc: denied { getattr } for pid=1923 comm="openvpn" path="/root/.cert/nm-openvpn/ie-dub.prod.blk.com_udp-tls-auth.pem" dev="nvme0n1p3" ino=802406 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0
그런 다음 차단된 콘텐츠를 볼 수 있도록 설정했습니다.
type=AVC msg=audit(1659770802.776:318): avc: denied { getattr } for pid=2124 comm="openvpn" path="/root/.cert/nm-openvpn/hu-bud.prod.blk.com_udp-tls-auth.pem" dev="nvme0n1p3" ino=802398 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=1
type=AVC msg=audit(1659770802.777:319): avc: denied { read } for pid=2124 comm="openvpn" name="hu-bud.prod.blk.com_udp-tls-auth.pem" dev="nvme0n1p3" ino=802398 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=1
type=AVC msg=audit(1659770802.777:320): avc: denied { open } for pid=2124 comm="openvpn" path="/root/.cert/nm-openvpn/hu-bud.prod.blk.com_udp-tls-auth.pem" dev="nvme0n1p3" ino=802398 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=1
type=NETFILTER_CFG msg=audit(1659770805.461:321): table=firewalld:6 family=1 entries=5 op=nft_register_rule pid=916 subj=system_u:system_r:firewalld_t:s0 comm="firewalld"
type=SERVICE_START msg=audit(1659770805.528:322): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
*.pem 파일의 컨텍스트 태그를 변경해야 할 것 같은데 어떤 컨텍스트를 사용해야 할지 명확하지 않습니다.
답변1
의 파일을 보면 /etc/openvpn
태그가 있는 것을 볼 수 있습니다 openvpn_etc_t
.
# cd /etc/openvpn
# ls -lZ
total 0
drwxr-x---. 1 root openvpn system_u:object_r:openvpn_etc_t:s0 0 Jun 10 13:36 client
drwxr-x---. 1 root openvpn system_u:object_r:openvpn_etc_t:s0 0 Jun 10 13:36 server
원래 이 디렉터리에 구성 파일을 만든 경우에는 이미 올바른 레이블이 있습니다. 그러나 오류로 판단하면 openvpn은 /root
파일을 읽으려고 시도하고 있습니다. 이는 서비스에 더 높은 권한이 필요하므로 일반적으로 좋은 생각이 아닙니다.
가장 쉬운 해결책 은 아마도 파일을 /etc/openvpn
. mv
다음과 같은 것이 잘 작동할 것입니다:
tar -C /root/.cert -cf- . | tar -C /etc/openvpn -xf-
그러면 nm-openvpn
디렉토리가 /etc/openvpn
올바른 태그에 배치됩니다.
새 위치에서 인증서를 사용하려면 연결 프로필을 업데이트해야 합니다.