আমদানি করতে ক্লায়েন্ট ব্যবহারকারীদের জন্য একটি ওপেনভিপিএন প্রোফাইল তৈরি করুন


40

কোনও ওপেনভিপিএন ক্লায়েন্টকে আমদানি করার জন্য প্রোফাইল তৈরি ও হোস্ট করার জন্য কোনও ডকুমেন্টেশন বা সংস্থান আছে কি? আদর্শভাবে আমার ব্যবহারকারীদের আলাদাভাবে .ovpn + শংসাপত্রগুলির একটি .zip ফাইল আনতে হবে না, এটি যথাযথ ডিরেক্টরিতে সন্ধান করতে হবে, তাদের .ovpn ইত্যাদি মুছে ফেলা উচিত নয় I

উত্তর:


40

দৃশ্যত ওপেনভিপিএন ২.১ থেকে একটি ইনলাইন কনফিগারেশন সমর্থিত হয়েছে। আপনাকে আপনার শংসাপত্রগুলি এবং একক কনফিগারেশন ফাইলে কীগুলি সনাক্ত করতে দেয়। তবে এই কনফিগারেশন ফাইলটি কীভাবে তৈরি করবেন সে সম্পর্কে ডকুমেন্টেশন সাম্প্রতিক ২.৩ প্রকাশিত হওয়া পর্যন্ত যুক্ত করা হয়নি।

আরও তথ্যের জন্য ওপেনভিপিএন ম্যান পৃষ্ঠারINLINE FILE SUPPORT বিভাগটি দেখুন ।

client
proto udp
remote openvpnserver.example.com
port 1194
dev tun
nobind

key-direction 1

<ca>
-----BEGIN CERTIFICATE-----
# insert base64 blob from ca.crt
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
# insert base64 blob from client1.crt
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
# insert base64 blob from client1.key
-----END PRIVATE KEY-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
# insert ta.key
-----END OpenVPN Static key V1-----
</tls-auth>

কনফিগ ফাইলের জন্য ডকসগুলি কমান্ডলাইন বিকল্পগুলির ডক্সের মতো:

ওপেনভিপিএন যে কোনও বিকল্পকে কমান্ড লাইনে বা কনফিগারেশন ফাইলে রাখার অনুমতি দেয়। যদিও সমস্ত কমান্ড লাইনের বিকল্পগুলি ডাবল-নেতৃস্থানীয় ড্যাশ ("-") এর আগে রয়েছে, কনফিগারেশন ফাইলে কোনও বিকল্প রাখলে এই উপসর্গটি মুছে ফেলা যায়।


এটি উইন্ডোজ কানেক্ট ক্লায়েন্ট ( openvpn.net/?option=com_content&id=357 ) এর সাথে কাজ করতে পারেনি , এটি এমন কিছু সম্পর্কে অভিযোগ করে Could not read file C:\\...\[inline]যাতে মনে হয় ক্লায়েন্ট ইনলাইন শংসাপত্রগুলি (এখনও) সম্পর্কে জানেন না।
প্যাট্রিক অসিটি

এটি সাহায্য করে কিনা জানি না, তবে আমি কেবল সিএ, সার্ট, কী এবং টিএলএস-লেখক কনফিগারেশন মান রেখেছি এবং এটি কার্যকর হয়।
ইক্কে

2
আপনার [ইনলাইন] সহ লাইনগুলি সরিয়ে নেওয়া উচিত।
টিএলএস

2
দুঃখিত এটি মূল-দিকের 1. জেনে গেছেন mixed ম্যান পৃষ্ঠায় আমার প্যাচ ইতিমধ্যে সংহত করা হয়েছে। ইনলাইন ফাইলসমূহের অধীনে ২.৩ ম্যান পৃষ্ঠাটি দেখুন: community.openvpn.net/openvpn/wiki/Openvpn23ManPage । এটিকে পাঠযোগ্য ও অ্যাক্সেসযোগ্য করে তুলতে আমি তার নিজের উত্তরে এটি অনুলিপি করেছি।
প্লেস্টহস

1
@Strubbl: STEPS 10 এবং এই লিঙ্কে 11 দেখতে digitalocean.com/community/tutorials/...
সাঁই রামচন্দ্রন

8

ওপেনভিপিএন ২.৩ ম্যান পৃষ্ঠা থেকে (এটি ২.১ আরসি-থেকে কিছুটা সমর্থিত):

ওপেনভিপিএন প্রধান বিকল্পের --ca, --cert, --dh, --extra-certs, --key, --pkcs12, --secret--tls-authবিকল্পগুলির জন্য ফাইলগুলি অন্তর্ভুক্ত করে ।

প্রতিটি ইনলাইন ফাইল লাইন দিয়ে শুরু এবং লাইন দিয়ে <option>শেষ হয় </option>

এখানে একটি ইনলাইন ফাইল ব্যবহারের উদাহরণ রয়েছে

<cert>
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
</cert>

ইনলাইন ফাইলের সাথে ইনলাইন ফাইল বৈশিষ্ট্যটি ব্যবহার --pkcs12করার সময় বেস 64 টি এনকোড করা উচিত। বেস 64 এ একটি .p12 ফাইলের এনকোডিং উদাহরণস্বরূপ ওপেনএসএসএল দিয়ে চালানো যায়openssl base64 -in input.p12

key-directionবিকল্পটি নোট করুন :

--key-direction
বিকল্প --tls-auth এবং --secretবিকল্পগুলির জন্য directionচ্ছিক দিকনির্দেশ পরামিতি নির্দিষ্ট করার বিকল্প উপায় । ইনলাইন ফাইলগুলি ব্যবহার করার সময় দরকারী (ইনলাইন ফাইলগুলির বিভাগ দেখুন)।


3

এটি উইন 7 ক্লায়েন্টের সাথে ওপেনভিপিএন 2.3.4 দেবিয়ান 8.9 সার্ভারের সাথে পরীক্ষা করা হয়েছে।

পদক্ষেপ ১. আপনার ডিফল্ট সমন্বিত একটি ফাইল তৈরি করুন (আমি এটিকে ইনলাইন_ক্লিয়েন্ট.কোনফ বলি) সমস্ত সেটিংস অবশ্যই আপনার সার্ভার.কোনফের সাথে মেলে must

client
dev tun
proto udp
remote yourserver.xyz 1194
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
verb 3
;mute 20

ca [inline]
cert [inline]
key [inline]
tls-auth [inline] 1

পদক্ষেপ 2. নিম্নলিখিত স্ক্রিপ্ট তৈরি করুন, প্রয়োজনীয় হিসাবে পাথ সামঞ্জস্য করুন এবং chmod ug+x MakeInline.sh

#!/bin/bash

# Default Variable Declarations

DEFAULT="inline_client.conf"
FILEEXT=".ovpn"
CRT=".crt"
KEY=".key"
CA="ca.crt"
TA="ta.key"
kPath="./keys/"


#Ask for a Client name
echo "Please enter an existing Client Name:"
read NAME

echo "Please enter an Name for the output file"
read ovpnName

#1st Verify that client's Public Key Exists
if [ ! -f $kPath$NAME$CRT ]; then
   echo "[ERROR]: Client Public Key Certificate not found: $kPath$NAME$CRT"
   exit
fi
echo "Client's cert found: $kPath$NAME$CRT"

#Then, verify that there is a private key for that client
if [ ! -f $kPath$NAME$KEY ]; then
   echo "[ERROR]: Client 3des Private Key not found: $kPath$NAME$KEY"
   exit
fi
echo "Client's Private Key found: $kPath$NAME$KEY"

#Confirm the CA public key exists
if [ ! -f $kPath$CA ]; then
   echo "[ERROR]: CA Public Key not found: $kPath$CA"
   exit
fi
echo "CA public Key found: $kPath$CA"

#Confirm the tls-auth ta key file exists
if [ ! -f $kPath$TA ]; then
   echo "[ERROR]: tls-auth Key not found: $kPath$TA"
   exit
fi
echo "tls-auth Private Key found: $kPath$TA"

#Ready to make a new .opvn file - Start by populating with the

cat $DEFAULT > $ovpnName$FILEEXT

#Now, append the CA Public Cert
echo "<ca>" >> $ovpnName$FILEEXT
cat $kPath$CA | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $ovpnName$FILEEXT
echo "</ca>" >> $ovpnName$FILEEXT

#Next append the client Public Cert
echo "<cert>" >> $ovpnName$FILEEXT
cat $kPath$NAME$CRT | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $ovpnName$FILEEXT
echo "</cert>" >> $ovpnName$FILEEXT

#Then, append the client Private Key
echo "<key>" >> $ovpnName$FILEEXT
cat $kPath$NAME$KEY >> $ovpnName$FILEEXT
echo "</key>" >> $ovpnName$FILEEXT

#Finally, append the TA Private Key
echo "<tls-auth>" >> $ovpnName$FILEEXT
cat $kPath$TA >> $ovpnName$FILEEXT
echo "</tls-auth>" >> $ovpnName$FILEEXT

echo "Done! $ovpnName$FILEEXT Successfully Created."

#Script written by Eric Jodoin
#Update by Eric Maasdorp 2017-12-16

পদক্ষেপ 3. কার্যকর করুন MakeInline.shএটি ইতিমধ্যে আপনার তৈরি করা কোনও ক্লায়েন্টের নাম জিজ্ঞাসা করবে build-key or build-key-pass। এটি ovpn ফাইলের জন্য একটি নাম জিজ্ঞাসা করবে। আমার স্ট্যান্ডার্ডটি সার্ভারটোকনটেক্ট.ক্লায়েন্টনাম যা উত্পাদন করবে ServerToConnectTo.ClientName.ovpn

দ্রষ্টব্য: আপনি যদি এর build-keyপরিবর্তে ব্যবহার করেন build-key-passতবে যে কেউ হোল্ড করে *.ovpnতার পাসওয়ার্ড ছাড়াই আপনার সার্ভারে অ্যাক্সেস থাকবে!


1

এই পাইথন স্ক্রিপ্টটি ক্লায়েন্ট কী এবং একটি প্রোফাইল তৈরি করতে সার্ভারে চালানো যেতে পারে। আমি এটিকে ইনলাইন করব তবে এটি আমার সৃষ্টি নয় এবং এটি দীর্ঘ এবং পর্যায়ক্রমে আপডেট হতে পারে এবং এর কাঁটাচামচ রয়েছে তাই এটি ভবিষ্যতে ওয়েব ভ্রমণকারীদের জন্য ওয়েবে অনুসন্ধানযোগ্য হবে। লিঙ্কটি যদি কাজ না করে তবে "openvpn_gen.py" অনুসন্ধান করার চেষ্টা করুন।

https://gist.github.com/Justasic/908ef5f4fa162f15b3b8

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.