আমি কীভাবে ওপেনভিপিএন সেটআপ করব যাতে আমি সুরক্ষিতভাবে কোনও সুরক্ষিত হটস্পট থেকে ইন্টারনেট ব্যবহার করতে পারি?


31

লক্ষ্য: আমার নোটবুকটি একটি উন্মুক্ত হটস্পট / অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকাকালীন আমি আমার হোম পিসির মাধ্যমে নিরাপদে ইন্টারনেট ব্যবহার করতে সক্ষম হতে চাই।

আমি না জানি আমি একটি, SSH টানেল / SOCKS প্রক্সি ব্যবহার করতে পারেন, কিন্তু আমি অ্যাপ্লিকেশনের সাথে প্রায় বেহালার কাছে (তাদের এটি ব্যবহার উপার্জন, যদি এমনকি সম্ভব) করতে চাই না। আমি অনুমান করি যে আমার যা দরকার তা একটি ওপেনভিপিএন সেটআপ, সুতরাং আমি কীভাবে এটি সম্পর্কে একটি বিস্তারিত গাইড সন্ধান করছি:

  1. ওপেনভিপিএন সার্ভারটি ইনস্টল এবং সেটআপ করুন
  2. ওপেনভিপিএন ক্লায়েন্ট সেটআপ করুন (নেটওয়ার্ক ম্যানেজার)

এটিতে উবুন্টু সংস্করণগুলি চালিত হওয়া উচিত 10.10 এবং 11.04।


আমার মনে হয় এমন উবুন্টুর চেয়ে এটি সার্ভারফল্টের প্রশ্ন।
লুইস আলভারাডো

1
@ সাইরেক্স: 1), 2) সম্ভবত না
লেকেনস্টেইন

উত্তর:


40

কয়েক মাস আগে আমার সঠিক প্রশ্নটি রয়েছে, তবে অতিরিক্ত হিসাবে, আমি যদি সম্ভব হয় তবে আইপিভি 6 সংযোগ রাখতে চাইতাম। আপনি সার্ভারফল্টে আমার প্রশ্নে আগ্রহী হতে পারেন:

আমার সার্ভারে ব্যবহারের জন্য কেবলমাত্র একটি এনআইসি ("নেটওয়ার্ক ইন্টারফেস") ছিল। আমার সেটআপে, নেটওয়ার্কম্যানেজার পর্যাপ্ত ছিল না কারণ আইপিভি 6 সমর্থন করার জন্য আমার একটি কাস্টম স্ক্রিপ্ট চালানো দরকার। সরলতার জন্য তবে আমি এখানে নেটওয়ার্কম্যানেজারটি ব্যবহার করব এবং আইপিভি 6 সমর্থন বাদ দেব।

প্রথমত, প্রমাণীকরণ পদ্ধতি সম্পর্কে কেবল কোনও সিদ্ধান্ত নিন। আমি নিরাপদ শংসাপত্র পদ্ধতিটি ব্যবহার করব যা এসএসএলের মতো কাজ করে: হ্যান্ডশেকের সময় একটি সাধারণ গোপনীয়তা বেছে নেওয়া হয় যা অধিবেশনটির জন্য ব্যবহৃত হবে। অন্যান্য পদ্ধতিগুলি একটি শেয়ার কী; একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড।

সার্ভার

1. প্রস্তুত

প্রথমে ওপেনভিএনপি সার্ভারটি ইনস্টল করুন। এটি যেমন সহজ sudo apt-get install openvpn। কঠিন অংশটি এটি কনফিগার করছে। কনফিগারেশন উপস্থিত /etc/openvpn

2. প্রমাণীকরণ কনফিগার করুন

নিজের এবং তার ক্লায়েন্টদের সনাক্ত করার জন্য সার্ভারের শংসাপত্রের প্রয়োজন। এই শংসাপত্রগুলি একটি সিএ (সাধারণ কর্তৃপক্ষ) থেকে পুনরুদ্ধার করা হয়। শংসাপত্র তৈরি এবং সম্পর্কিত ব্যক্তিগত কীগুলি যে কোনও মেশিনে করা যেতে পারে, এটি সার্ভারে করতে হবে না। আপনি যদি সত্যিই ভৌতিক হয়ে থাকেন তবে আপনার এটি এমন কোনও মেশিনে করা উচিত যা কোনও নেটওয়ার্কের সাথে সংযুক্ত না থাকে এবং শংসাপত্র স্থানান্তর করার জন্য একটি মেমরি স্টিক ব্যবহার করা উচিত।

সার্ভারের জন্য একটি সিএ এবং শংসাপত্র তৈরি করুন

আপনার সিএর ব্যক্তিগত কী আপোস না হয়ে গেলে এই পদক্ষেপটি একবারে করতে হবে। সেক্ষেত্রে বৈধ শংসাপত্র তৈরি করা যেতে পারে যা সার্ভার দ্বারা গৃহীত হবে, যার ফলে সুরক্ষা লঙ্ঘন হবে।

সরকারী ডকুমেন্টেশন মধ্যে প্রশাসন কি দাড়ায় /etc/openvpn। আমি সবকিছুকে রুট হিসাবে চালানোর পক্ষে খুব বড় অনুরাগী নই, তাই আমি এটি অন্য একটি ডিরেক্টরিতে রেখে দেব।

  1. প্রশাসনিক ডিরেক্টরি তৈরি করুন এবং এতে ফাইলগুলি অনুলিপি করে চালনা করুন:

    mkdir ~/openvpn-admin
    cd ~/openvpn-admin
    cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ ./easy-rsa
    cd easy-rsa
    
  2. varsপ্রয়োজন অনুসারে ডিফল্টগুলি সম্পাদনা করুন , উদাহরণস্বরূপ সেটিংস KEY_SIZE=2048কারণ আপনি অদ্ভুত।
  3. ভেরিয়েবলগুলি লোড করুন এবং চালনা করে কী ডিরেক্টরিটি তৈরি করুন:

    . vars
    
  4. যদি আপনি কোনও ত্রুটি পান তবে তা No ... openssl.cnf file could be found Further invocations will failচালান ln -s openssl-1.0.0.cnf openssl.cnf, আবার . varsagain

  5. এটি যদি এই সিএ ব্যবহার করে আপনার প্রথমবার হয়, কী পরিবেশটি প্রস্তুত করুন। আপনি যদি পূর্বে তৈরি সিএ বজায় রাখতে চান তবে এই কমান্ডটি চালাবেন না এটি করার জন্য আপনাকে নতুন স্থাপনার প্রয়োজন হবে ca.crt

    ./clean-all
    
  6. এক্সিকিউট করে সিএ তৈরি করুন ./build-ca। আপনি যে কোনও বিবরণ চান তা পূরণ করতে পারেন তবে নোট করুন যে ক্লায়েন্টরা সার্ভারের সাথে সংযোগ স্থাপন করার সময় লগ ফাইলগুলিতে এই তথ্যটি দৃশ্যমান হবে। এটি ফাইলগুলি ca.keyএবং ca.crtসাবফোল্ডারে তৈরি করবে keysca.keyফাইলটি সমস্ত পরিস্থিতিতে গোপন রাখুন । এটি করতে ব্যর্থতা কী সহ যে কেউ আপনার সার্ভারের সাথে সংযোগ স্থাপনের অনুমতি দেবে।
  7. যদি আপনার পূর্ববর্তী শংসাপত্রটি হারিয়ে বা মেয়াদোত্তীর্ণ হয়ে থাকে তবে আপনাকে পুরানোটি প্রথমে বাতিল করতে হবে ./revoke-full server। অন্যথায় আপনি একটি ডাটাবেস ত্রুটি পাবেন।
  8. চালিয়ে সার্ভারের জন্য শংসাপত্র তৈরি করুন:

    ./build-key-server server
    

    যখন কোনও পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হচ্ছে, আপনি সার্ভারটি প্রতিবার শুরু হওয়ার পরে পাসওয়ার্ডটি প্রবেশ করতে রাজি না হলে (খালি প্রস্তাবিত নয়) এটিকে খালি ছেড়ে দিন। শংসাপত্রটি স্বাক্ষর করে এবং এটি প্রতিশ্রুতি দেওয়ার বিষয়ে নিশ্চিত করুন। ডিরেক্টরিতে দুটি নতুন ফাইল উপস্থিত হবে keys: server.keyএবং server.crt

ডিএইচ এবং ব্যবহার করুন tls-auth এর জন্য প্রস্তুত

ডিফি-হেলম্যান প্যারামিটারগুলি ব্যবহার করে তৈরি করুন :

./build-dh

প্রতি কঠোর টিপস , ব্যবহার tls-auth। তার জন্য, ভাগ করে নেওয়া গোপন কীটি ব্যবহার করে তৈরি করুন:

openvpn --genkey --secret ta.key

ফলস্বরূপ ফাইল ( ta.key) অবশ্যই ক্লায়েন্টগুলিতে বিতরণ করা উচিত, তবে আপনার এটি সর্বজনীনভাবে রাখা উচিত নয়।

ক্লায়েন্টদের জন্য শংসাপত্র তৈরি করুন

প্রতিটি ক্লায়েন্টের জন্য, এই পদক্ষেপগুলি পুনরাবৃত্তি করা উচিত:

  1. যে ডিরেক্টরিতে আপনি আপনার সিএ এবং সার্ভার শংসাপত্র তৈরি করেছেন তা প্রবেশ করুন:

    cd ~/openvpn-admin/easy-rsa
    
  2. আপনি যদি ইতিমধ্যে একটির কারণে সিএ তৈরির পদক্ষেপটি এড়িয়ে যান তবে আপনাকে প্রথমে ভেরিয়েবলগুলি লোড করতে হবে:

    . vars
    
  3. যদি আপনি নতুন শংসাপত্র তৈরি করে থাকেন কারণ পুরানোগুলি হারিয়ে গেছে বা মেয়াদোত্তীর্ণ হয়ে গেছে , আপনাকে প্রথমে পুরানোটিকে বাতিল করতে হবে ./revoke-full you। অন্যথায় আপনি একটি ডাটাবেস ত্রুটি পাবেন।
  4. ক্লায়েন্ট শংসাপত্র you.keyএবং এর সম্পর্কিত শংসাপত্র তৈরি করুন you.crt:

    ./build-key you
    

    CommonNameঅনন্য হওয়া উচিত। পাসওয়ার্ডটি খালি ছেড়ে দিন যদি আপনি কে.ডি. ব্যবহার করেন তবে এটি এখন পর্যন্ত 10.10 হিসাবে সমর্থন করে না। সার্ভার শংসাপত্রের প্রজন্মের মতোই, শংসাপত্রটিতে স্বাক্ষর করে পরিবর্তনগুলি প্রতিশ্রুতি দিন।

৩. ওপেনভিপিএন পরিষেবা সেটআপ করুন

ডিফল্টরূপে, সংযোগ গ্রহণ করার সময় ওপেনভিপিএন রুট হিসাবে চালিত হয়। মন্দ ইন্টারনেট থেকে পরিষেবাটি যদি অ্যাক্সেসযোগ্য হয় তবে একটি ভাল ধারণা নয়।

  1. ওপেনভিপিএন এর জন্য উত্সর্গীকৃত ব্যবহারকারী তৈরি করুন, বলুন openvpn:

    sudo useradd openvpn
    
  2. ফাইল কপি server.key, server.crt, ca.crtএবং dh1024.pem(অথবা dh2048.pemআপনি মূল আকার পরিবর্তন করেছি হলে) মধ্যে কী ডিরেক্টরি থেকে /etc/openvpn। 400 এর অনুমতি (কেবলমাত্র মালিকের জন্য পঠনযোগ্য) ঠিক আছে।

    sudo cp ~/openvpn-admin/easy-rsa/keys/{server.key,server.crt,ca.crt,dh*.pem} /etc/openvpn
    sudo chmod 400 /etc/openvpn/{server.key,server.crt,ca.crt}
    
  3. ফাইলটি অনুলিপি করুন ta.key:

    sudo cp ~/openvpn-admin/easy-rsa/ta.key /etc/openvpn
    sudo chmod 400 /etc/openvpn/ta.key
    
  4. ফাইলটি তৈরি করুন /etc/openvpn/server.confএবং এর মধ্যে পরবর্তী লাইনগুলি রাখুন:

    proto udp
    dev tap
    ca ca.crt
    cert server.crt
    key server.key
    dh dh1024.pem
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway def1"
    ifconfig-pool-persist ipp.txt
    keepalive 10 120
    tls-auth ta.key 0
    # Compress data to save bandwidth
    comp-lzo
    user openvpn
    group openvpn
    persist-key
    persist-tun
    # Logs are useful for debugging
    log-append openvpn-log
    verb 3
    mute 10
    
  5. এটিতে উপযুক্ত অনুমতিগুলি সেট করুন, এটি গোপনের দরকার নেই তবে আমি কনফিগারেশনের বিশদটি ফাঁস না করা পছন্দ করি:

    sudo chmod 640 /etc/openvpn/server.conf
    

৪. সার্ভার শেষ হচ্ছে

আপনি যদি সার্ভারে শংসাপত্র তৈরি করে থাকেন তবে এটি এনক্রিপ্ট করা বা এটি সার্ভার থেকে সরিয়ে নেওয়া ভাল ধারণা। যে কোনও ক্ষেত্রে, হারাবেন না ca.keyএবং server.key। প্রথম ক্ষেত্রে অন্যরা আপনার সার্ভারের সাথে সংযোগ রাখতে সক্ষম হবে। পরবর্তীকালে, একটি এমআইটিএম সম্ভব হয়।

মক্কেল

সার্ভার আইপি ঠিকানা ছাড়াও, সার্ভার প্রশাসকের নিম্নলিখিত ফাইলগুলি হস্তান্তর করা উচিত:

  • ca.crt: শংসাপত্র যাচাই করার জন্য
  • server.crt: সার্ভারটি যাচাই করার জন্য এবং এর সাথে যোগাযোগ করার জন্য
  • ta.key: সুরক্ষা জোরদার করার জন্য
  • you.crt: সার্ভারের সাথে নিজেকে সনাক্ত করতে
  • you.key: এটি আপনার পাসওয়ার্ডের মতো, ফাইল অনুমতিগুলি 400 টি হওয়া উচিত (কেবলমাত্র মালিকের জন্য কেবল পঠনযোগ্য)

1. ইনস্টলেশন

ওপেনভিপিএন এবং নেটওয়ার্ক ম্যানেজার প্লাগইন ইনস্টল করুন (কেডিএ এবং জিনোমের জন্য উপযুক্ত):

sudo apt-get install openvpn network-manager-openvpn

network-manager-openvpn মহাবিশ্বের ভাণ্ডারে রয়েছে।

2. কনফিগারেশন

নিয়ন্ত্রণ প্যানেলে, নিম্নলিখিত বিবরণগুলি ব্যবহার করুন:

  • গেটওয়ে: সার্ভারের আইপি ঠিকানা
  • প্রকার: "শংসাপত্রগুলি (টিএলএস)" (জিনোম) বা "এক্স .509 শংসাপত্র" (কেডিএ)
  • সিএ শংসাপত্র: পথে ca.crt
  • ব্যবহারকারীর শংসাপত্র: পথে you.crt
  • প্রাইভেট কী: পথে you.key

উন্নত :

  • গেটওয়ে পোর্ট: স্বয়ংক্রিয় (1194) (পরিবর্তন করার দরকার নেই)
  • LZO ডেটা সংক্ষেপণ ব্যবহার করুন: সক্ষম
  • টিসিপি সংযোগ ব্যবহার করুন: অক্ষম
  • ট্যাপ ডিভাইস ব্যবহার করুন: সক্ষম
  • সাইফার: ডিফল্ট
  • এইচএমএসি প্রমাণীকরণ: ডিফল্ট
  • টিএলএস-প্রমাণীকরণ ব্যবহার করুন: সক্ষম করা
    কী ফাইলের পথটি নির্দিষ্ট করুন ta.keyএবং এতে "কী দিকনির্দেশ" সেট করুন 1
  • ( টুডো - এটি পরীক্ষা করে দেখুন ) সার্ভারটি ডিফল্ট গেটওয়েতে ধাক্কা দেয় যাতে সমস্ত ট্র্যাফিক ভিপিএন সংযোগের ওপরে যায়। শেষবার আমি যাচাই করেছি, নেটওয়ার্ক-ম্যানেজার-ওপেনভিপিএন প্লাগইন এটি করেনি।

আপনি যদি নেটওয়ার্কম্যানেজারকে কাজ করতে না পারেন বা এটি ব্যবহার করতে না চান তবে ফাইলগুলি ( ca.crt, ...) এতে /etc/openvpnরেখে ফাইলটি তৈরি /etc/openvpn/client.confকরুন:

client
dev tap
proto udp
# replace 1.2.3.4 by your server IP
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert you.crt
key you.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
user nobody
group nogroup
verb 3
mute 20

আপনি যদি বুট সময় এই ভিপিএন সক্ষম করতে না চান /etc/default/openvpnতবে পরবর্তী লাইনটি সম্পাদনা করুন এবং এটিকে অপসারণ করে অসুবিধা করুন #:

#AUTOSTART="none"

এই সংযোগটি শুরু করতে, চালান:

sudo /etc/init.d/openvpn start client

clientআপনার কনফিগারেশন ফাইলটির নাম না থাকলে নাম পরিবর্তন করা উচিত client.conf। উদাহরণ: আপনি যদি নিজের কনফিগারেশন ফাইলটির নাম দিয়েছেন তবে আপনাকে safe.confচালনা করতে হবে sudo /etc/init.d/openvpn start safe

ওপেনভিপিএন বন্ধ করতে, আপনাকে চালাতে হবে:

sudo /etc/init.d/openvpn stop

1
ব্যবহারকারীর নাম / পাসওয়ার্ড ভিত্তিক লগইনের জন্য সার্ভার কনফিগারেশনটি কী, যেখানে আমার ক্লায়েন্টের কাছে ভিপিএন ক্লায়েন্ট সেটআপ করার জ্ঞান নেই আমি সমস্ত তাকে চাই সার্ভার আইপি, ব্যবহারকারীর নাম, পাসওয়ার্ড ব্যবহার করতে।

@YumYumYum কীভাবে ব্যবহারকারীর নাম / পাসওয়ার্ড ব্যবহার করবেন সে সম্পর্কে ধারণা নেই, ওপেনভিপিএন ( man openvpn) এর ম্যানুয়াল পৃষ্ঠাটি দেখুন । ওপেনপিএন-এর সাম্প্রতিক সংস্করণগুলিতে শংসাপত্র এবং কী ফাইলগুলি এম্বেড করার ক্ষমতা রয়েছে, তাই সম্ভবত ব্যবহারকারীর নির্দেশাবলী সহ সেই একক কনফিগারেশন ফাইল সরবরাহ করা আরও সহজ।
লেকেনস্টেইন

নোট করুন যে ওবুন্টু জাহাজের নতুন সংস্করণগুলি ওপেনএসএসএল ১.০.১ সহ শিপ করেছে এবং . varsউপরের কমান্ডটি চালানো একটি ত্রুটি তৈরি করতে পারে যে "ওপেনএসএল.সিএনএফ ফাইলটি পাওয়া যেতে পারে এবং আরও অনুরোধগুলি ব্যর্থ হবে"। আপনার দরকার sudo -s; cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/; ln -s openssl-1.0.0.cnf openssl.cnf, তারপরে. vars এবং অন্যান্য কমান্ডগুলি চালনা করুন ।
ড্যান ড্যাসক্লেস্কু

@ ড্যানডাসকলেসকু স্ক্রিপ্টটি ফাইলটি আমার জন্য সঠিকভাবে whichopensslসনাক্ত openssl-1.0.0.cnfকরেছে (ইজি-আরএসএ ২.৩.২, ওপেনএসএসএল ১.০.১ ই)
লেকেনস্টেইন

খুব তথ্যপূর্ণ, পুরো উত্তর। আপনি এই প্রশ্নের উত্তর দিতে পারেন ?
JB0x2D1

8

আপনার আসলে কোনও অ্যাপ্লিকেশন নিয়ে গলগল করার দরকার নেই। এটি "ভিপিএন এর মতোই" কাজ করে।

  1. প্রথমে tsocksপ্যাকেজটি ইনস্টল করুন (অস্থায়ী মোজা):

    sudo apt-get install tsocks
    
  2. তারপরে সম্পাদনা করুন /etc/tsocks.confএবং প্রবেশ করুন

    server = 127.0.0.1
    server_port = 3333
    
  3. এখন, একটি টার্মিনাল খুলুন এবং টাইপ করুন (এটি আপনাকে সংযুক্ত করে):

    ssh -ND 3333 ssh.url.to.your.home.machine
    
  4. চালান (অন্য টার্মিনাল বা ALT-F2 এর মাধ্যমে):

    tsocks firefox
    

এখন, ফায়ারফক্স আপনার কম্পিউটারে এসএসএইচ তৈরি হওয়া সোকস সার্ভারের মাধ্যমে সমস্ত যোগাযোগ প্রেরণ করে। এটি আপনার হোম মেশিনে আরও টানেল হয়ে যায়, যেখানে এটি ওয়েবে যায়। আপনার বাড়ির মেশিনে আপনার যা দরকার তা হ'ল একটি এসএসএইচ সার্ভার। প্রথমবারের পরে, 3 এবং 4 পদক্ষেপের পুনরাবৃত্তি করুন।

এটি যাদুমন্ত্রের মত কাজ করে! হায়, ক্রোমিয়াম টিসকস পছন্দ করে না, তবে ওহে, ফায়ারফক্স কাজ করে।


3
ঠিক আছে, আপনার শেষ বাক্যটি দেখুন - আমি আমার সমস্ত প্রোগ্রাম প্রথমে tsocks এর সাথে একসাথে ভালভাবে কাজ করার চেষ্টা করতে চাই না, যখন ওপেনভিপিএন এর সাথে নেটওয়ার্কম্যানেজার অ্যাপলে এটি কেবল একটি ক্লিক হতে পারে।
htorque

ঠিক আছে. আমার উত্তর সম্ভবত এমন লোকদের জন্য কার্যকর হবে যারা ওয়েবসাইটে অ্যাক্সেসের দ্রুত সমাধান চান।
মার্কভ সিএইচ 1

1

এসএসএইচ টানেল সমাধানটি আপনার ভাবার চেয়ে সহজ। জিএসটিএম এর মতো একটি প্রোগ্রাম আপনার জন্য একটি জিইউআই দিয়ে টানেলগুলি শুরু / বন্ধ করবে। তারপরে কেবল নেটওয়ার্ক প্রক্সি খুলুন এবং সরাসরি ইন্টারনেট সংযোগ থেকে এটিকে ম্যানুয়াল প্রক্সি কনফিগারেশনে পরিবর্তন করুন, "সিস্টেম-ওয়াইড প্রয়োগ করুন" টিপুন এবং আপনার সমস্ত অ্যাপ্লিকেশনগুলিকে তাদের ডেটা টানেলের নীচে প্রেরণ করা উচিত - প্রতিটি এককভাবে আলাদা করে ফিডাল করার দরকার নেই।

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