우분투 서버 16.04-OpenVPN이 시작되지 않는 것 같습니다, 로그가 작성되지 않습니다


13

다음 지침에 따라 Ubuntu 서버 16.04에 oepnvpn을 설치하고 oepnvpn을 설치하는 방법-openvpn -server-on-ubuntu

openVPN 서버를 service openvpn start시작하면 시작한 것처럼 보이지만 로그 옵션이 활성화되어 있어도 로그 파일이 작성되지 않습니다.

status /var/log/openvpn-status.log
log  /var/log/openvpn.log    

내가 시도 할 수있는 힌트가 있습니까?

  • 프로세스 / 서비스가 실제로 실행 중인지 어떻게 확인할 수 있습니까?
  • 매번 서비스가 중단되는지 어떻게 알 수 있습니까?
  • 왜 로그 파일이 작성되지 않습니까?

서비스 시작시 출력

root@Diabolo:/etc/openvpn# service openvpn stop
root@Diabolo:/etc/openvpn# service openvpn start
root@Diabolo:/etc/openvpn# service openvpn status
openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2016-06-25 19:04:12 CEST; 3s ago
Process: 3956 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3956 (code=exited, status=0/SUCCESS)
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

syslog에 출력

Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

구성 파일 server.conf

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key 
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log  /var/log/openvpn.log
verb 3

답변:


16

문제는 서비스 구성이 /lib/systemd/system/openvpn.service단지 호출 /bin/true한다는 것입니다 (왜 제거되지 않았는지 전혀 알 수 없습니다). 사용 가능한 구성은에서 찾을 수 /lib/systemd/system/openvpn@.service있지만 여전히 약간의 해킹이 필요합니다.

나를 위해 일한 솔루션 :

1. 네트워킹 서비스에 대한 의존성 창출

덮어 쓰지 않도록하려면 서브 디렉토리의 별도 파일에 파일을 작성하십시오.

 mkdir -p /lib/systemd/system/openvpn\@.service.d

이 디렉토리에 파일을 작성하십시오. .conf예를 들어 이름은로 끝나야합니다 .

 vi /lib/systemd/system/openvpn\@.service.d/local-after-ifup.conf

이 파일에 다음 내용을 넣으십시오.

[Unit]
Requires=networking.service
After=networking.service

2. 서버를 시작하십시오

systemctl start openvpn@<CONF_NAME>.service

여기서 CONF_NAME은 디렉토리에있는 .conf파일 이름입니다 /etc/openvpn. 귀하의 경우 :

systemctl start openvpn@server.service

3. 모든 것이 작동하면 서비스 자동 시작 활성화

systemctl enable openvpn@server.service

13

전체를 검색 한 후이 링크를 찾았습니다.

https://a20.net/bert/2016/09/27/openvpn-client-connection-not-started-on-ubuntu-16-04/

edit /etc/default/openvpn, uncomment AUTOSTART=”all”
sudo systemctl daemon-reload
sudo service openvpn restart

나는 그것을 조금 더 끓였다.

echo 'echo "AUTOSTART="\"all"\"" >> /etc/default/openvpn' | sudo -s
sudo systemctl daemon-reload
sudo service openvpn restart

1
몇 달 전에 내 시스템에서 작업하는 데 사용됩니다. 시스템에 대한 주목할만한 변화는 한동안 openvpn이 필요하지 않은 것으로 예상됩니다. 그리고 지금은 작동하지 않았습니다. 문제가 해결되었습니다. 감사합니다! +1
gissehel

1

/etc/init.d/openvpn의 버그로 인해?

# check if automatic startup is disabled by AUTOSTART=none
if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
  log_warning_msg " Autostart disabled."
  exit 0
fi
if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then
  # all VPNs shall be started automatically
  ...

/ etc / default / openvpn에서 AUTOSTART가 비어 있으면 스크립트가 종료되는 것 같습니다. 따라서 Phillip의 솔루션을 선택하거나 119 행에서 두 번째 조건을 제거하십시오.

-o -z "$AUTOSTART"

무슨 "버그"? 당신이 아무것도하지 말라고하면 아무것도하지 않는다는 사실? 알려주지 않더라도 시스템이 시작되도록 수정하는 것이 좋습니다. 사용자가 소프트웨어를 시작 하도록 구성 해야한다는 응답에 문제가 있음을 제안하고 있습니까?
G-Man은

2
아니, 나는 단지 많은 사람들처럼 빈 것이 "모두"라고 가정되는 문서를 오해하고 있다고 제안하고있다. "openvpn이 자동으로 시작되지 않는다"는 검색 엔진 요청 수를 보셨습니까?
Alex

1

서버 conf 파일은 myserver.conf입니다.

systemctl enable openvpn@myserver
service openvpn@myserver start

서버 conf 파일은 yourserver.conf입니다.

systemctl enable openvpn@yourserver
service openvpn@yourserver start

-1

Phillip Moxley의 답변에 대한 대안으로 /etc/default/openvpn파일을 편집 하고 AUTOSTART행을

AUTOSTART="server"

(1) 이것이 당신의 뜻입니까? (1a) 그렇다면, 앞으로 이와 같은 답을 적어주십시오. 즉, 누군가가 질문과 대답을 읽을 수 있어야합니다 - 그들은 자급 자족해야한다 혼자 , 당신의 대답은 이해한다. 그러나 다른 사람의 대답을 바탕으로 작성하는 경우 이름과 링크로 참조해야합니다. (1b) 이것이 의도 한 것이 아닌 경우 명확하고 완전하게 답변을 편집 하십시오. (2) 답변에“감사”를 포함시키지 마십시오. (3) 어떻게 AUTOSTART="server"다릅니 AUTOSTART="all"까? 더 낫습니까? 왜? … (계속)
Scott

(계속)… 다시 한 번 의견에 응답하지 마십시오.  명확하고 완전하게 답변을 편집 하십시오.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.