OPENVPN: Linux에서 IPv6 지원 VPN 설정 문제

OPENVPN: Linux에서 IPv6 지원 VPN 설정 문제

OrangePi(Raspberry Pi와 동일한 작은 컴퓨터)에서 VPN을 설정하는 데 문제가 있습니다.

내 프로젝트는 그에게 ipv6 VPN을 구성하는 것입니다. 그래서 저는 이것을 자동으로 생성하도록 제안하는 프로젝트를 github에서 찾았습니다.

https://github.com/xl-tech/OpenVPN-easy-setup(통과마인드 테크놀로지)

OrangePi를 테스트하기 전에 실행 중인 VM에서 이 스크립트를 실행해 보았는데 Ubuntu 16.04 LTS 64Bits제대로 작동했습니다. 그러나 OrangePi에서 실행하면 작동하지 않습니다.

표시된 오류 메시지(iptables 방화벽이 설정되지 않은 것과 관련이 있는 것 같습니다)를 살펴본 후 실제로 작동을 방해하는 원인을 찾을 수 없습니다...

아직 배워야 할 것이 많고, 몇 시간 동안 차단을 했는데 왜 이것이 작동하지 않는지 알 수 없습니다..

내 OrangePi는 Ubuntu 14.04.5 LTS(GNU/Linux 3.4.39 armv7l).

나를 올바른 길로 인도해 주실 수 있나요? :(

이 스크립트는 내 OrangePi에서 반환됩니다.

root@OrangePI:~/OpenVPN-easy-setup# bash openvpnsetup.sh
TUN/TAP is enabled
IPv4 forwarding is already enabled
NAME="Ubuntu"
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package netfilter-persistent
Firewall stopped and disabled on system startup
awk: line 0: regular expression compile failed (missing operand)
[       ]+|
Select server IP to listen on (only used for IPv4):
1) Internal IP - 192.168.1.11 25.33.106.84 2620:9b::1921:6a54  (in case you are behind NAT)
2) External IP - 90.51.33.97

2
Select server PORT to listen on:
1) tcp 443 (recommended)
2) udp 1194 (default)
3) Enter manually (proto (lowercase!) port)

2
Select server cipher:
1) AES-256-GCM (default for OpenVPN 2.4.x, not supported by Ubuntu Server 16.x)
2) AES-256-CBC
3) AES-128-CBC (default for OpenVPN 2.3.x)
4) BF-CBC (insecure)

2
Enable IPv6? (ensure that your machine have IPv6 support):
1) Yes
2) No

1
Check your selection
Server will listen on 90.51.33.97
Server will listen on udp 1194
Server will use AES-256-CBC cipher
IPv6 - 1 (1 is enabled, 0 is disabled)
Press enter to continue...
NAME="Ubuntu"
Using CA Common Name: Fort-Funston CA
Generating a 2048 bit RSA private key
....................................+++
...+++
writing new private key to 'ca.key'
-----
Generating a 2048 bit RSA private key
............+++
....+++
writing new private key to 'server-cert.key'
-----
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'US'
stateOrProvinceName   :PRINTABLE:'CA'
localityName          :PRINTABLE:'SanFrancisco'
organizationName      :PRINTABLE:'Fort-Funston'
organizationalUnitName:PRINTABLE:'MyVPN'
commonName            :PRINTABLE:'server-cert'
name                  :PRINTABLE:'EasyRSA'
emailAddress          :IA5STRING:'[email protected]'
Certificate is to be certified until Sep 21 10:09:07 2023 GMT (1825 days)

Write out database with 1 new entries
Data Base Updated
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.........+..................................+................................................................................................+..........................................................................................................................................................................................................................................+.................................+....................................................................................................................................................+....+..................................................................................................................................................................................................+.................................................+.........................................+...........................................................................................................................................................................................................................................................................+.................................................................................................+................................................................................................+...........................................................................................................................................+....+....................................................................................+...........................................................................................................................................................................++*++*
Generating a 2048 bit RSA private key
...........+++
..+++
writing new private key to 'revoked.key'
-----
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'US'
stateOrProvinceName   :PRINTABLE:'CA'
localityName          :PRINTABLE:'SanFrancisco'
organizationName      :PRINTABLE:'Fort-Funston'
organizationalUnitName:PRINTABLE:'MyVPN'
commonName            :PRINTABLE:'revoked'
name                  :PRINTABLE:'EasyRSA'
emailAddress          :IA5STRING:'[email protected]'
Certificate is to be certified until Sep 21 10:17:42 2023 GMT (1825 days)

Write out database with 1 new entries
Data Base Updated
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
Revoking Certificate 01.
Data Base Updated
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
revoked.crt: C = US, ST = CA, L = SanFrancisco, O = Fort-Funston, OU = MyVPN, CN = revoked, name = EasyRSA, emailAddress = [email protected]
error 23 at 0 depth lookup:certificate revoked
Error 23 indicates that revoke is successful
IPv6 forwarding is already enabled
OpenVPN 2.3.2 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Jun 22 2017
NAME="Ubuntu"
openvpnsetup.sh: line 360: systemctl: command not found
openvpnsetup.sh: line 360: systemctl: command not found
openvpnsetup.sh: line 361: systemctl: command not found
openvpnsetup.sh: line 361: systemctl: command not found
openvpnsetup.sh: line 362: systemctl: command not found
Setup is complete. Happy VPNing!
Use /etc/openvpn/newclient.sh to generate client config

그래서:

root@OrangePI:~/OpenVPN-easy-setup# /etc/openvpn/newclient.sh try
Script to generate unified config for Windows App
sage: newclient.sh <common-name>
Generating a 2048 bit RSA private key
.......................................+++
...............................................................................................................................+++
writing new private key to 'try.key'
-----
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'US'
stateOrProvinceName   :PRINTABLE:'CA'
localityName          :PRINTABLE:'SanFrancisco'
organizationName      :PRINTABLE:'Fort-Funston'
organizationalUnitName:PRINTABLE:'MyVPN'
commonName            :PRINTABLE:'try'
name                  :PRINTABLE:'EasyRSA'
emailAddress          :IA5STRING:'[email protected]'
Certificate is to be certified until Sep 21 10:56:28 2023 GMT (1825 days)

Write out database with 1 new entries
Data Base Updated
OpenVPN 2.3.2 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Jun 22 2017
COMPLETE! Copy the new unified config from here: /etc/openvpn/bundles/try.ovpn

답변1

스크립트가 명령을 찾을 수 없기 때문에 다음과 같은 오류 메시지가 나타납니다 systemctl.

openvpnsetup.sh: line 360: systemctl: command not found

누락된 명령은 systemd팁(때로는 앞쪽 가장자리) init하위 시스템을 제어하기 위한 것입니다.

~에 따르면이 오래된 우분투 위키 페이지는,Ubuntu에 도입된 가능한 가장 초기 버전은 systemd14.10이거나 15.04일 가능성이 높습니다. 14.04.5를 실행 중입니다.나이가 많은그들 중 누구보다. 이전에는 우분투가 우분투의 하위 시스템 systemd이었다고 생각했습니다 .upstartinit

한 유형의 하위 시스템에서 다른 유형으로의 변환은 init상당한 변화입니다. 이는 시스템 시작 및 종료가 수행되는 방식과 시스템 서비스가 정의 및 제어되는 방식에 영향을 미칩니다. 그런데 systemdsystemctl명령은 대부분의 서비스 관리 작업을 위한 범용 도구입니다.

이제 스크립트에서 라인 #360, #361 및 #362를 읽고 해당 라인의 명령이 수행하려는 작업을 openvpnsetup.sh찾은 다음 이를 init 하위 시스템에 대한 적절한 명령으로 바꿔야 합니다 . 아마도 당신은 당신이 넣은 파일을 찾아서 -style 서비스 정의 로 바꿔야 할 것입니다.systemctlupstart/etc/systemd/systemupstart

github 링크에서 다음 줄은 다음과 같습니다.

systemctl enable netfilter-persistent & systemctl start netfilter-persistent
systemctl enable openvpn@server & systemctl start openvpn@server
systemctl restart netfilter-persistent

netfilter-persistent이는 openVPN 서버 서비스가 부팅 시 자동으로 시작되고 즉시 시작된 다음 서비스를 다시 시작 하도록 활성화하는 것입니다 netfilter-persistent. 아마도 OpenVPN이 시작될 때 변경된 방화벽 규칙이 즉시 영구적으로 저장되도록 하기 위함일 것입니다.

관련 정보