auth-user-pass-verify를 사용할 때 OpenVPN 서버가 시작되지 않습니다.

auth-user-pass-verify를 사용할 때 OpenVPN 서버가 시작되지 않습니다.

이것은 내 OpenVPN 서버 구성입니다(완벽하게 작동합니다).

local mydomain.com
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.1.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DOMAIN subdomain.mydomain.com"
push "dhcp-option DNS 192.168.157.149"
push "block-outside-dns"
push "route 192.168.157.149 255.255.255.0"
push "route 0.0.0.0 192.0.0.0 net_gateway"
push "route 64.0.0.0 192.0.0.0 net_gateway"
push "route 128.0.0.0 192.0.0.0 net_gateway"
push "route 192.0.0.0 192.0.0.0 net_gateway"
push "route 10.0.0.0 255.255.255.0"
push "route 10.1.0.0 255.255.255.0"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
explicit-exit-notify

다른 사용자 이름으로 동일한 클라이언트를 사용할 수 있도록 하고 싶었습니다. 그래서 구성을 편집하고 server.conf 파일에 아래 줄을 추가했습니다.

script-security 2 # must be at least 2
auth-user-pass-verify /home/forge/scripts/checkUser.sh via-file
username-as-common-name # without this openvpn will use cn in the certificate as username
duplicate-cn # you may need this if everyone is using same certificate

구성에 위의 추가 항목을 사용하면 openvpn 서버가 시작을 거부합니다.

디버깅을 위해 위의 줄에 주석을 달고 하나씩 주석을 제거했습니다. 이제 해당 회선이 auth-user-pass-verify /home/forge/scripts/checkUser.sh via-file문제의 원인 임을 정확히 알 수 있습니다 .

systemctl status또는 에서 왜 실패하는지에 대한 단서가 없습니다 journalctl -xe. 파일은 checkUser.sh시스템의 모든 사용자가 완전히 실행할 수 있습니다. 로그 파일 status-server.log도 비어 있습니다.

sudo systemctl start openvpn-server실패 하더라도 openvpn을 직접 실행하면 작동합니다. sudo openvpn --config /etc/openvpn/server/server.conf!!!

모습 은 다음과 같습니다 ./lib/systemd/system/[email protected]

[Unit]
Description=OpenVPN service for %I
After=syslog.target network-online.target
Wants=network-online.target
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO

[Service]
Type=notify
PrivateTmp=true
WorkingDirectory=/etc/openvpn/server
ExecStart=/usr/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE CAP_AUDIT_WRITE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=true
ProtectHome=true
KillMode=process
RestartSec=5s
Restart=on-failure

[Install]
WantedBy=multi-user.target

누군가 문제가 무엇인지 지적해 주시겠습니까?

관련 정보