দ্রষ্টব্য: (2016-02-22) আমি বুঝতে পেরেছি যে এই কনফিগারটি ভিপিএন এর মাধ্যমে প্রেরণ না করে সাধারণ WAN এর মাধ্যমে টরেন্ট ট্র্যাকারদের ডিএনএস কোয়েরি ফাঁস করে দেয়। আমি কীভাবে এটি ঠিক করব তা তদন্ত করছি। যদিও আমি আমার কনফিগারটি চালিয়ে যাচ্ছি, যেহেতু সংযোগটি নিজে ভিপিএনকে সঠিকভাবে ব্যবহার করে না।
আপডেট: আমি লক্ষ্য করেছি যে আমি যখন বিগলবোনে রাতারাতি ডাউনলোডের জন্য ট্রান্সমিশন সেট করি তখন কিছু সময়ের পরে সিপিইউ ব্যবহার 100% হয়ে যায়। এটি একই পরিমাণের পরে ঘটবে বলে মনে হয় না, কখনও কখনও সারা রাত ঠিক থাকে, অন্য সময় 10 মিনিটের পরে লড়াই করে। এটি সমস্ত টরেন্ট বন্ধ করে সিপিইউ লোডটি স্বাভাবিক অবস্থায় ফিরে আসার অপেক্ষা করে আবারও শুরু করে পুনরুদ্ধার করতে পারে। আমি এখনও তদন্ত করছি। একটি workaround হতে পারে বিরতি এবং পর্যায়ক্রমে টরেন্ট পুনরায় শুরু করা, যদিও এটি খুব ভাল কাজ নয়।
নোট করুন এই সমস্যাটি কেবল বিগলবোন এবং সম্ভবত অন্যান্য এআরএম ডিভাইসে প্রযোজ্য। এই সমস্যাটি আমার কখনই x86 সিপিইউতে আসেনি।
ভূমিকা
আমি বিগলবোন ব্ল্যাক চালিয়ে উবুন্টু 14.04-র জন্য এই সমাধানটি বিকাশ ও পরীক্ষা করেছি tested আমি যে ভিপিএন সরবরাহকারীর ব্যবহার করছি তার নাম আইবিভিপিএন । এটি কোনও ওপেনভিপিএন সামঞ্জস্যপূর্ণ ভিপিএন সরবরাহকারীর সাথে (যেমন একটি "সাধারণ" x86 কম্পিউটারে) কোনও সমর্থিত হার্ডওয়্যারের সাথে কাজ করা উচিত - এবং সম্ভবত 14.10 বা তার পরে কাজ করা উচিত। এক পর্যায়ে আমি বিশ্বাস করি যে উবুন্টু বুট করার জন্য সিস্টেমডি ব্যবহার করবে, যার অর্থ এখানে ব্যবহৃত আপস্টার্ট স্ক্রিপ্টগুলি স্থানান্তরিত করতে হবে। আপডেট: জোনাস কাল্ডার্সটামের সিস্টেমডি ব্যবহারের জন্য নীচে একটি উত্তর রয়েছে । আমি আরও ধরে নিচ্ছি যে ufw ফায়ারওয়াল হিসাবে ব্যবহৃত হচ্ছে, আপনি যদি কিছু আলাদা ব্যবহার করেন তবে এখানে ufw কমান্ডগুলি পরিবর্তন করা দরকার।
আমি ধরে নিয়েছি যে সমস্ত কাজ সিস্টেমের সাথে একটি এসএসএইচ সংযোগের মধ্যে সম্পন্ন হয়েছে, যদিও এটি কোনও শারীরিক টার্মিনালটিতে টাইপ করা থাকলে ঠিক সেই সাথে কাজ করবে।
এটি বেশ দীর্ঘ টিউটোরিয়াল, দয়া করে প্রথমে এটি সমস্ত পড়ুন এবং নিশ্চিত হন যে আপনি কী করছেন তাতে আপনি স্বাচ্ছন্দ্য বোধ করছেন।
আমি আরও লক্ষ্য করেছি যে ট্রান্সমিশনটি ইউপিএনপি / এনএটি-পিএমপি ডেটা প্রেরণের জন্য কোনও আইপি ঠিকানার সাথে সঠিকভাবে আবদ্ধ হয় না - যেমন টরেন্ট ডেটা সঠিকভাবে ভিপিএন এর মধ্য দিয়ে যায় তবে ইউপিএনপি পোর্ট ফরওয়ার্ডিং সক্ষম করা থাকলে ট্রান্সমিশন স্থানীয় রাউটার থেকে পোর্ট ফরোয়ার্ডের জন্য অনুরোধ করবে , ভিপিএন সার্ভার থেকে ভিপিএন এর মাধ্যমে নয়। সুতরাং আমি আপস্টার্ট স্ক্রিপ্টটিকে পোর্ট ফরওয়ার্ডিং অক্ষম করে দিয়েছি, যেহেতু এটি প্রদর্শিত হতে পারে যেমন এটি কাজ করেছে তবে এটি হয়নি not ভিপিএন এর মাধ্যমে ডেবিয়ান-ট্রান্সমিশন ব্যবহারকারীর কাছ থেকে সমস্ত ট্র্যাফিক জোর করার জন্য iptables এবং আইপ্রেট ব্যবহার করা সম্ভব হওয়া উচিত, তবে আমি এখনও এটি সন্ধান করছি। এটিও কাজ করা উচিত যদি ভিপিএন এর মাধ্যমে সমস্ত ইন্টারনেট ডেটা প্রেরণের জন্য ডিফল্ট রুট পরিবর্তন করা হয়েছিল তবে আমি তা করতে চাইনি কারণ আমি অন্যান্য সার্ভিসগুলির জন্যও এই সার্ভারটি ব্যবহার করি এবং এটি সমস্ত সিস্টেমে আপডেটগুলি এর মাধ্যমে আসতে পারে VPN এর।আপনি যদি সত্যই ইউপিএনপি ভিপিএন দিয়ে কাজ করতে চান তবে এই প্রশ্নের আরও তথ্য রয়েছে ।
আপডেট: ভিপিএন-এর মাধ্যমে ইউপিএনপিকে উত্সাহিত করতে সহায়তার জন্য ফালক 0069 এর একটি দুর্দান্ত টিপ রয়েছে ।
ওপেনভিপিএন ইনস্টল ও কনফিগার করা হচ্ছে
আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি এখানে কাজ করার চেষ্টা করার আগে উবুন্টু ব্যবহার করে আপনার ভিপিএন সংযোগটি পাওয়ার চেষ্টা করুন - ডেস্কটপ থেকে। এটি আপনার কাছে সঠিক কনফিগারেশন রয়েছে এবং ডিবাগিংয়ে ব্যয় করা সময় কমিয়ে দেবে তা নিশ্চিত করবে।
প্রথমে প্রয়োজনীয় প্যাকেজ ইনস্টল করুন
sudo apt-get install openvpn
এরপরে, কনফিগারেশন ফাইলগুলিকে সঞ্চয় করার জন্য একটি ডিরেক্টরি তৈরি করুন I'm আমি / opt / ibVPN ব্যবহার করছি, যেহেতু আমি যে সরবরাহকারীর ব্যবহার করছি। এটি আপনার পছন্দমতো পরিবর্তন করুন।
sudo mkdir /opt/ibVPN
এই নতুন ডিরেক্টরিতে প্রথম কাজটি হ'ল ভিপিএন ক্লায়েন্ট চালানোর জন্য কনফিগার ফাইল তৈরি করা। আইবিভিপিএন লিনাক্স ব্যবহারকারীদের জন্য একটি বেসিক কনফিগারেশন ফাইল সরবরাহ করে, যা আমি বেশিরভাগই কেবল অনুলিপি করে আটকে দিয়েছি।
cd /opt/ibVPN
sudo vim config.ovpn
আপনার ভিপিএন সরবরাহকারীর জন্য সেটিংস ব্যবহার করে আপনার সম্পাদিত সংস্করণটি ভিএম-এ অনুলিপি করুন এবং আটকান। (এফওয়াইআই, উবুন্টু টার্মিনালে পেস্ট করুন Ctrl+Shift+V
) আপনার ভিপিএন সরবরাহকারীর কাছ থেকে এটি পেতে সক্ষম হওয়া উচিত।
remote 888.888.888.888 1194 udp #This address will be different for you
client
dev tap1
resolv-retry infinite
script-security 3 system
explicit-exit-notify 3
persist-key
mute-replay-warnings
ca ibvpn.com.crt
comp-lzo
verb 3
mute 20
ns-cert-type server
fragment 1300
route-delay 2
reneg-sec 0
max-routes 5000
link-mtu 1578
auth-user-pass pass
auth-nocache
persist-tun
route-noexec
lport 1195
lladdr 00:FF:11:AA:BB:CC
route-up "/opt/home/openvpn/route-up.sh"
down "/opt/home/openvpn/down.sh"
ভিমের সাথে অপরিচিতদের জন্য, Insert
পাঠ্যটি টাইপ করতে বা আটকে দিতে চাপুন , তারপরে টিপুন Escape
এবং সংরক্ষণ করুন এবং প্রস্থান করতে টাইপ করুন :wq
। অবশ্যই, আপনাকে ভিএম ব্যবহার করতে হবে না - কোনও পাঠ্য সম্পাদক কাজ করবে।
আমি দ্রুত এই কনফিগার ফাইলটি ব্যাখ্যা করব: প্রথম 18 টি লাইনগুলি সার্ভারের সাথে ব্যবহারের জন্য নির্দিষ্ট সেটিংস নির্দিষ্ট করে, এগুলি আইভিভিপিএন থেকে এসেছে - আপনার যদি অন্য কোনও সরবরাহকারী থাকে তবে আপনার সম্ভবত কিছুটা আলাদা হবে। পরবর্তী লাইনগুলি নির্দিষ্ট করে দেওয়া বিকল্পগুলি যা আমি নির্দিষ্ট করেছি।
আপনার সেটিংস ফাইলে যদি কোনও লাইন থাকে তবে auth-user*
এগুলি মন্তব্য করুন। এই সেটআপটি স্বয়ংক্রিয়ভাবে কাজ করার জন্য আমাদের এতে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ একটি ফাইল থাকা দরকার - সুতরাং নিশ্চিত হয়ে নিন যে আপনি ভিপিএন সরবরাহকারীর জন্য যে পাসওয়ার্ডটি বেছে নিয়েছেন তা শক্তিশালী, এলোমেলো এবং অনন্য।
auth-user-pass pass
নামক একটি ফাইলের জন্য চেহারায় VPN খুলুন বলে pass
ব্যবহারকারী এবং পাসওয়ার্ড থেকে পড়তে।
auth-nocache
মেমরি থেকে পাসওয়ার্ড সরিয়ে দেয়, যা আপনি যদি উদ্বিগ্ন হন তবে সুরক্ষাটি সামান্য বাড়িয়ে তুলতে পারে।
persist-tun
যদি আপনার সংযোগটি শেষ হয়ে যায় তবে সার্ভার থেকে একই আইপি ঠিকানাটি রাখার চেষ্টা করবে, যার অর্থ আশা করা যায় যে ট্রান্সমিশন-ডেমোন কম শুরু এবং থামানো উচিত।
route-noexec
ওপেনভিপিএন ক্লায়েন্টকে সার্ভারের সরবরাহিত রুটগুলি স্বয়ংক্রিয়ভাবে ব্যবহার না করতে বলছে - যা ভিপিএন এর মাধ্যমে সমস্ত নেটওয়ার্ক ট্র্যাফিককে টানবে। আমরা কেবল টরেন্ট ট্র্যাফিক প্রেরণ করতে চাই, তাই আমাদের বিভিন্ন রাউটিং সেটিংস ব্যবহার করতে হবে।
lport 1195
ওপেনভিপিএন ক্লায়েন্টকে 1194 এর পরিবর্তে 1195 পোর্ট ব্যবহার করতে বলে - আমার ক্ষেত্রে আমি একই ডিভাইসে একটি ওপেনভিপিএন সার্ভারও চালাতে চাই এবং সার্ভারটি 1194 পোর্টটি ব্যবহার করতে হবে you আপনি যদি ওপেনভিপিএন সার্ভার চালাচ্ছেন না, এটিও এই পরিবর্তন করতে আঘাত না।
আমি পৃথক ওপেনভিপিএন সার্ভার চালানোর কারণে ভার্চুয়াল ডিভাইসটিকে ওপেনভিপিএন দ্বারা বরাদ্দ করার পরিবর্তে ট্যাপ 1 করতে বাধ্য করার dev tap
জন্য dev tap1
, লাইনটি পরিবর্তন করেছি । এমনকি আপনি কোনও ভিপিএন সার্ভার চালাচ্ছেন না, এই পরিবর্তনটি বিবেচনা করা উচিত নয়। ফায়ারওয়াল স্ক্রিপ্টগুলি ব্যবহারের জন্য লেখা হয়েছে tap1
, সুতরাং আপনি যদি অন্য কোনও ডিভাইস ব্যবহার করতে চান তবে উপযুক্ত যেখানে স্ক্রিপ্টগুলি পরিবর্তন করতে হবে তা মনে রাখবেন।
lladdr 00:FF:11:AA:BB:CC
ওপেনভিপিএনকে এই ম্যাক ঠিকানা রাখতে ট্যাপ ইন্টারফেস বরাদ্দ করতে বলে, যা iptables ফায়ারওয়াল নিয়মের জন্য দরকারী useful
route-up
এবং down
ট্রান্সমিশন-ডেমন শুরু করার জন্য এবং প্রয়োজনীয় স্ক্রিপ্টগুলি চালনার জন্য চালনা করুন - এগুলি এখানে প্রয়োজনীয় কারণ এগুলি সংযোগ সম্পর্কিত তথ্য সম্বলিত পরিবেশের ভেরিয়েবলগুলির সাথে চালিত হয়, যা সঠিক আইপি ঠিকানা এবং বন্দরে ট্রান্সমিশনকে সঠিকভাবে বাঁধতে প্রয়োজন।
আমার ক্ষেত্রে, আমার ভিপিএন সরবরাহকারীর কাছ থেকে একটি সার্ভার শংসাপত্র ছিল - যা কনফিগার ফাইলের মতো একই ডিরেক্টরিতেও থাকতে হবে।
sudo vim /opt/ibVPN/ibvpn.com.crt
এটি অনুলিপি করুন এবং আটকে দিন, বা এটি এসসিপি বা এসএসএইচএফএসের মাধ্যমে সরান।
-----BEGIN CERTIFICATE-----
MIIDeDCCAuGgAwIBAgIJAMVKgpjMPUfxMA0GCSqGSIb3DQEBBQUAMIGFMQswCQYD
VQQGEwJVUzELMAkGA1UECBMCQ0ExFTATBgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMG
A1UEChMMRm9ydC1GdW5zdG9uMRgwFgYDVQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAf
BgkqhkiG9w0BCQEWEm1lQG15aG9zdC5teWRvbWFpbjAeFw0xMDA3MjExOTU5MzVa
Fw0yMDA3MTgxOTU5MzVaMIGFMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFTAT
BgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMGA1UEChMMRm9ydC1GdW5zdG9uMRgwFgYD
VQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAfBgkqhkiG9w0BCQEWEm1lQG15aG9zdC5t
eWRvbWFpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz23m3BXY5Asiw8Dx
T4F6feqsp+pIx6ivftTniyUCbSAxI1J1s1x75DzxmUpIwPu5xavzgPXgZr8FT81X
JGqF9km4AE95iddJawKx0wNgdTo7GximQq9rw0dsQIB5hZZQ9TJwHC3VOnmEic5A
OawKOCybMcRs8saLakZOgh7Xc+UCAwEAAaOB7TCB6jAdBgNVHQ4EFgQUeRhE2N4l
XwL4H1dbjkZ4ou6fj3AwgboGA1UdIwSBsjCBr4AUeRhE2N4lXwL4H1dbjkZ4ou6f
j3ChgYukgYgwgYUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMM
U2FuRnJhbmNpc2NvMRUwEwYDVQQKEwxGb3J0LUZ1bnN0b24xGDAWBgNVBAMTD0Zv
cnQtRnVuc3RvbiBDQTEhMB8GCSqGSIb3DQEJARYSbWVAbXlob3N0Lm15ZG9tYWlu
ggkAxUqCmMw9R/EwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQASt0pl
WzVseQLTNM8Mlgw4ZnGAv/x2xnijmMqrkE+F7pnaOicGpxgCfMKzjZuJu0TNJqF2
fibE7GhMdomD4dLFgIu8Wb5E7iQ1CSBEOGumRhK8qCsDzjr7WXUdhqA6Xvo+ylU6
DMzy0Wn3NNvfGC+qxOgybYCJwDnVPi0CEDSbzQ==
-----END CERTIFICATE-----
স্পষ্টতই যদি আপনি কোনও আইবিভিপিএন অ্যাকাউন্ট ব্যবহার না করেন তবে আপনার শংসাপত্রটি আলাদা হবে।
এবার পাসওয়ার্ড ফাইলটি তৈরি করা যাক:
sudo vim /opt/ibVPN/pass
প্রথম লাইনে অবশ্যই পূর্ণ ব্যবহারকারীর নাম থাকতে হবে, তারপরে দ্বিতীয় লাইনে অবশ্যই পাসওয়ার্ড হবে। এটি অবশ্যই এই ফাইলটির একমাত্র বিষয়বস্তু হতে হবে।
you@address.com
myBIGstrongpassword1234567890
আমাদের এই ফাইলটিতে অনুমতিগুলিও সুরক্ষিত করতে হবে, বা ওপেনভিপিএন শুরু হবে না।
sudo chmod 400 pass
এটি কেবল ফাইলটিকে পঠনযোগ্য করে তুলবে এবং কেবলমাত্র মালিকের জন্য (যেমন অন্য কোনও ব্যবহারকারী এটি পড়তে পারবেন না)
এই কমান্ডগুলি প্রারম্ভকালে চালানোর জন্য ফাইলগুলি তৈরি করবে এবং এগুলি কেবল মূল দ্বারা নির্বাহযোগ্য হবে set
sudo touch route-up.sh
sudo touch down.sh
sudo chmod 700 route-up.sh
sudo chmod 700 down.sh
এই মুহুর্তে, ভিপিএন সংযোগটি আসলে কাজ করে কিনা তা পরীক্ষা করা সম্ভবত ভাল ধারণা। এর সাথে সংযোগটি শুরু করুন:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
আপনি সতর্কতা দেখতে পাবেন যে উপরের এবং নীচের বাহ্যিক আদেশগুলি চালানো যায় না, তবে এটি সম্পর্কে চিন্তা করবেন না। এটি যদি কাজ Initialization Sequence Completed
করে তবে আপনি টার্মিনালে দেখতে পাবেন । Control+C
সংযোগটি শেষ করতে টিপুন । যদি এটি কাজ না করে, আপনাকে কেন তদন্ত করতে হবে এবং চালিয়ে যাওয়ার আগে এটি ঠিক করতে হবে। আমি দেখতে পেলাম যে এটি কখনও কখনও কাজ শুরু করতে কয়েকটা সময় নেয়। আপনার পাসওয়ার্ড ফাইলটি সঠিক কিনা তা নিশ্চিত করুন। ওপেনভিপিএন সম্পর্কে ইন্টারনেটে প্রচুর দুর্দান্ত সংস্থান রয়েছে, তাই ঘুরে দেখুন।
এই মুহুর্তে, ট্রান্সমিশনটি আপ এবং চলমান দিকে এগিয়ে যাওয়া সম্ভবত সবচেয়ে সহজ। একবার আপনি নিশ্চিত হয়ে যান যে ভিপিএন এবং ট্রান্সমিশন দুটি পৃথকভাবে চলতে পারে, সেগুলি একত্রিত করা যায়।
সংক্রমণ স্থাপন এবং কনফিগার করা
প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
sudo apt-get install transmission-daemon
ডিফল্টরূপে, সংক্রমণ বুটে স্বয়ংক্রিয়ভাবে চলবে। যেহেতু আমরা শেষ পর্যন্ত ট্রান্সমিশন শুরু করতে ওপেনভিপিএন ব্যবহার করব, আমরা এটি অক্ষম করতে চাই। এটি করতে, ট্রান্সমিশন-ডেমনের জন্য কনফিগার ফাইলটি সম্পাদনা করুন
sudo vim /etc/default/transmission-daemon
এবং পড়ার জন্য নিম্নলিখিত লাইনটি পরিবর্তন করুন:
ENABLE_DAEMON=0
এখন বুট থেকে ট্রান্সমিশন শুরু হবে না।
আসুন এখন ট্রান্সমিশন সেটিংসে থাকার জন্য এবং ডাউনলোড টরেন্টগুলিতে প্রবেশের জন্য একটি ডিরেক্টরি তৈরি করুন। এটি ধরে নিয়েছে আপনি ইতিমধ্যে কোনও ধরণের ডিস্ক সেট আপ করেছেন এবং এটি / মিডিয়া / আর্ম ডিস্ক / এ মাউন্ট করা হয়েছে। সুরক্ষা উদ্দেশ্যে, ডেমনটি রুট বা "উবুন্টু" না হয়ে তার নিজস্ব ব্যবহারকারী দ্বারা চালিত হবে। "নতুন ডেবিয়ান-ট্রান্সমিশন" সংক্রমণ-ডেমন জন্য ইনস্টলার দ্বারা একটি নতুন ব্যবহারকারী তৈরি করা হয়। এই ব্যবহারকারীর আমাদের তৈরি ফোল্ডারটির মালিক হওয়া দরকার, এবং টরেন্টগুলি ডাউনলোড হওয়ার জন্য সঞ্চয় স্থানটিতে অ্যাক্সেস পড়ে এবং পড়ে have
sudo mkdir /opt/transmission
sudo chown debian-transmission:debian-transmission /opt/transmission
sudo mkdir /media/arm-disk/torrents-complete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-complete
sudo mkdir /media/arm-disk/torrents-incomplete
sudo chown debian-transmission:debian-transmission /media/arm-disk/torrents-incomplete
এখন আমাদের সংক্ষিপ্তসারটি শুরু করতে হবে, কেবল সংক্ষেপে, যাতে এটি আমাদের প্রয়োজন সেটিংস ফাইলটি তৈরি করে:
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
এই কমান্ডটি ডেবিয়ান-ট্রান্সমিশন ব্যবহারকারী হিসাবে ট্রান্সমিশন-ডেমন শুরু করে, সেটিংস ফাইলগুলির জন্য / অপ্ট / ট্রান্সমিশন ডিরেক্টরিটি ব্যবহার করতে বলে এবং অগ্রভাগে চলমান রাখতে বলে। এটি কয়েক সেকেন্ড চলার পরে এটি Control+C
শেষ করতে টিপুন । আমরা এখন সেটিংস ফাইলটি সম্পাদনা করতে পারি।
sudo -u debian-transmission vim /opt/transmission/settings.json
আমাদের এখন পড়ার জন্য তাদের ডিফল্ট থেকে নিম্নলিখিত লাইনগুলিতে পরিবর্তন করতে হবে:
"download-dir": "/media/arm-disk/torrents-complete",
"incomplete-dir": "/media/arm-disk/torrents-incomplete",
"incomplete-dir-enabled": true,
"rpc-whitelist": "127.0.0.1,192.168.1.*",
সংরক্ষণ করুন এবং প্রস্থান করুন (এস্কেপ, টাইপ করুন: ডাব্লিউকিউ এবং এন্টার টিপুন)
মাঝের দুটি সম্পাদনা অসম্পূর্ণগুলির থেকে আপনার সমাপ্ত টরেন্টগুলি পৃথক করে "অসম্পূর্ণ" ডিরেক্টরিটি সক্ষম করবে। এটি সম্পূর্ণ প্রয়োজনীয় নয়, তবে ব্যক্তিগতভাবে আমি এটি অত্যন্ত দরকারী বলে মনে করি। শেষ সম্পাদনাটি ওয়েব জিইউআইকে ল্যানের যে কোনও কম্পিউটার দ্বারা অ্যাক্সেস করতে সক্ষম করে (আপনার ল্যান সাবনেটটি 192.168.1.0 ধরে ধরে নেওয়া যায়, এটি আলাদা হলে এটি পরিবর্তন করুন)।
এটি পুনরায় ট্রান্সমিশন চালানো ভাল ধারণা, এটি কার্যকর হয় কিনা তা দেখার জন্য এবং আসলে কোনও টরেন্ট ডাউনলোড করতে পারে। জিইউআই অ্যাক্সেস করতে এবং টরেন্ট যুক্ত করতে আমরা একটি ওয়েব ব্রাউজার উইন্ডো ব্যবহার করব। প্রথমে, ল্যান থেকে ফায়ারওয়ালের মাধ্যমে ওয়েব জিইউআই অ্যাক্সেসের অনুমতি দিন, তারপরে আবার ট্রান্সমিশন-ডেমোন চালান।
sudo ufw allow in from 192.168.0.0/16 to any port 9091
sudo -u debian-transmission -g debian-transmission /usr/bin/transmission-daemon --config-dir /opt/transmission --foreground
ফায়ারফক্সে এই URL টি দেখুন (বা আপনি যে কোনও ব্রাউজার পছন্দ করুন): http://XXX.XXX.XXX.XXX:9091 , যেখানে ল্যানটিতে আপনার সার্ভারের ঠিকানা দ্বারা XXX প্রতিস্থাপন করা হয়েছে (অর্থাত্ 192.168.1.10)। ডাউনলোডের জন্য টরেন্ট সন্ধান করুন, উদাহরণস্বরূপ, 1080p60hz এ বিগ বুক বনি। এটি একটি ফ্রি শর্ট ফিল্ম, আইনত ফ্রি ডাউনলোডের জন্য উপলব্ধ। ট্রান্সমিশন জিইউআইতে "ওপেন টরেন্ট" বোতামটি ক্লিক করুন এবং এই লিঙ্কটি (বা অন্য কোনও টরেন্ট) প্রথম বাক্সে পেস্ট করুন । তারপরে "আপলোড" টিপুন। ট্রান্সমিশনটি যদি সঠিকভাবে কাজ করে তবে টরেন্টটি ডাউনলোড শুরু হবে। যদি এটি না হয়, তবে আপনার চালিয়ে যাওয়ার আগে কেন কাজ করা দরকার। ট্রান্সমিশন-ডেমন ব্যবহারের জন্য ইন্টারনেটে প্রচুর সংস্থান রয়েছে। এটি আপনি যে টরেন্টটি বেছে নিয়েছেন তা কাজ করছে না, প্রথমে আরও কয়েকজন চেষ্টা করুন।
ডাউনলোড শেষ হয়ে গেলে Control+C
ট্রান্সমিশন-ডেমন থামাতে টার্মিনাল উইন্ডোতে টিপুন ।
ভিপিএন ইন্টারফেসে বাইন্ডিং ট্রান্সমিশন কনফিগার করুন
এখন আসুন একটি আপস্টার্ট স্ক্রিপ্ট তৈরি করুন, যা ভিপিএন প্রস্তুত হওয়ার পরে সংক্রমণ শুরু করতে ব্যবহৃত হবে।
sudo mv /etc/init/transmission-daemon.conf /etc/init/transmission-daemon.conf.bak
যদি এটি অভিযোগ করে তবে চিন্তা করবেন না, এটি কেবলমাত্র আপস্টার্ট ফাইলটির ব্যাকআপ তৈরি করা, যদি কারও অস্তিত্ব থাকে - এটি নাও থাকতে পারে। নতুনটি সম্পাদনা করতে ভিম খুলুন:
sudo vim /etc/init/transmission-daemon.conf
এটি সম্পাদক এ আটকান:
description "transmission-daemon, attached to OpenVPN tunnel tap1"
start on transmission-daemon-start
stop on runlevel [!2345] or transmission-vpn-down
# This includes the information from OpenVPN into this environment
export LOCAL_IP
env PORT=51413
# give time to send info to trackers
kill timeout 30
# Run as unprivileged user
setuid debian-transmission
setgid debian-transmission
# Start transmission again if it stops for some reason
respawn
# If transmission stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec /usr/bin/nice -15 /usr/bin/transmission-daemon --config-dir /opt/transmission --bind-address-ipv4 $LOCAL_IP --peerport $PORT --no-portmap --foreground
ভিএম সংরক্ষণ এবং বন্ধ করুন ( Escape
, তারপরে টাইপ করুন :wq
)। আবার, Vim খুলুন:
sudo vim /etc/init/transmission-up.conf
এবং এটি পেস্ট করুন:
description "Script to create firewall and routing rules for transmission-daemon"
start on transmission-vpn-up
# This includes the information from OpenVPN into this environment
export VPN_GATEWAY
export LOCAL_IP
env PORT=51413
task
script
# Set up IP route, firewall rules
# It doesn't matter if they already exist, they will be skipped
/sbin/ip route add default via $VPN_GATEWAY dev tap1 table 200
/sbin/ip rule add from $LOCAL_IP table 200
/sbin/ip route flush cache
/usr/sbin/ufw insert 1 reject out on eth0 from any port $PORT
/usr/sbin/ufw insert 1 reject in on eth0 to any port $PORT
/usr/sbin/ufw insert 1 deny in on tap1 to any
/usr/sbin/ufw insert 1 allow in on tap1 to any port $PORT proto udp
# Start the actual transmission-daemon process, in a separate task so that unprivileged user/group can be set
/sbin/initctl emit transmission-daemon-start LOCAL_IP=$LOCAL_IP
end script
আবার, ভিভ সংরক্ষণ এবং বন্ধ করুন। ( Escape
, তারপরে টাইপ করুন :wq
)। অবশেষে:
sudo vim /etc/init/transmission-down.conf
এটি আটকান:
description "Script to remove firewall rules for transmission-daemon"
start on runlevel [!2345] or stopping openvpn-transmission
env PORT=51413
task
script
# Take down IP route, firewall rules
# It doesn't really matter if they don't get taken down, but this will be cleaner
/usr/sbin/ufw delete reject out on eth0 from any port $PORT
/usr/sbin/ufw delete reject in on eth0 to any port $PORT
/usr/sbin/ufw delete deny in on tap1 to any
/usr/sbin/ufw delete allow in on tap1 to any port $PORT proto udp
/sbin/ip route flush cache
end script
এই স্ক্রিপ্টগুলি আপস্টার্টকে "সংক্রমণ-ভিপিএন-আপ" সংকেত শোনার জন্য বলে। "ট্রান্সমিশন-আপ.কনফ" স্ক্রিপ্টটি তখন ভিপিএন ইন্টারফেসের মাধ্যমে স্থানীয় ভিপিএন ঠিকানা থেকে ট্র্যাফিক প্রেরণের জন্য প্রয়োজনীয় রাউটিং বিধিগুলি সেট করে এবং ভিপিএন থেকে ট্রান্সমিশনের জন্য শ্রবণ বন্দরে ট্র্যাফিকের অনুমতি দেওয়ার জন্য ফায়ারওয়াল সেট করে। সাধারণ ল্যান ইন্টারফেস থেকে ট্রান্সমিশনের শ্রবণ বন্দরে পরিচালিত ট্র্যাফিক অবরোধ করা হয়েছে। "ট্রান্সমিশন-ডেমনকনফ" স্ক্রিপ্টটি তখন ভিপিএন আইপি ঠিকানার সাথে আবদ্ধ হওয়ার জন্য প্রয়োজনীয় সেটিংসের মাধ্যমে ট্রান্সমিশন-ডেমন শুরু করে। নোট করুন যে এই আদেশটি ইউএনএনপি / এনএটি-পিএমপি অক্ষম রয়েছে তাও নিশ্চিত করবে - পোর্ট ফরওয়ার্ডিং সম্পর্কে শীর্ষে আমার নোটটি দেখুন। "চমৎকার -15" ট্রান্সমিশনটিকে কম অগ্রাধিকারের জন্য সেট করে, যা নীচের নির্দিষ্ট 'বিগলবোন' ব্যবহার করার সময় আমি দরকারী বলে মনে করি - কখনও কখনও সংক্রমণ সংস্থানগুলি হোগ করতে পারে, যা সিস্টেমকে ধীর করে দেয়। কমপক্ষে কম অগ্রাধিকার সহ আরও গুরুত্বপূর্ণ সিস্টেমের কাজগুলি এখনও চালানো যেতে পারে। "ট্রান্সমিশন-ডাউন.কম" স্ক্রিপ্ট ভিপিএন বন্ধ হয়ে গেলে ফায়ারওয়াল বিধিগুলি সরিয়ে ফেলবে। তিনটি ভিন্ন স্ক্রিপ্ট ব্যবহার করা হয় যাতে ট্রান্সমিশন-ডেমন একটি অনিবদ্ধ ব্যবহারকারী হিসাবে চালানো যেতে পারে তবে ফায়ারওয়াল নিয়মগুলি রুট হিসাবে চালানো যেতে পারে।
এখন আসুন ওপেনভিপিএন সেটিংসে ফিরে যাই এবং আমাদের ট্রান্সমিশন স্ক্রিপ্ট শুরু এবং বন্ধ করতে ট্রিগার করতে "রুট-আপ" এবং "ডাউন" স্ক্রিপ্টগুলি সম্পাদনা করি।
sudo vim /opt/ibVPN/route-up.sh
এটি ভিমে আটকে দিন:
#! /bin/bash
/sbin/initctl emit transmission-vpn-up VPN_GATEWAY=$route_vpn_gateway LOCAL_IP=$ifconfig_local
এই সমস্ত স্ক্রিপ্টটি আপস্টার্টকে বলা হয় যে ট্রান্সমিশন-ডেমোন শুরু হওয়া উচিত এবং এটি ভিপিএন সংযোগের সাথে সংযুক্ত করার জন্য প্রয়োজনীয় তথ্য দেয়।
sudo vim /opt/ibVPN/down.sh
আবার, আরও আটকানো:
#! /bin/bash
/sbin/initctl emit transmission-vpn-down
এই স্ক্রিপ্টটি আরও সহজ - এটি সংক্রমণ-ডেমন থামার জন্য সংকেত।
এই মুহুর্তে, পুরো ভিপিএন কনফিগারেশন ফোল্ডারের মালিক যে মূল ব্যবহারকারী তা নিশ্চিত করে তোলা সম্ভবত একটি ভাল ধারণা - এই স্ক্রিপ্টগুলি যেহেতু রুট হিসাবে চালিত হয়, যেহেতু যে কেউ এগুলি পরিবর্তন করতে পারে সেগুলি রুট ব্যবহারকারী হিসাবে যা চায় তার যে কোনও কিছু চালাতে পারে।
sudo chown root:root -R /opt/ibVPN
sudo chmod 700 -R /opt/ibVPN
sudo chmod 400 /opt/ibVPN/pass
এর অর্থ হ'ল কেবল রুট ব্যবহারকারীরা ভিপিএন সংযোগ সেটিংস পরিবর্তন করতে বা দেখতে পারবেন।
ঠিক আছে, আমরা প্রায় শেষ! আমাদের সেটআপটি এখনও পর্যন্ত কাজ করছে কিনা তা পরীক্ষা করা যাক:
sudo openvpn --cd /opt/ibVPN --config config.ovpn
ট্রান্সমিশন ওয়েব জিইউআইতে আবার সংযোগ স্থাপন করুন এবং বিদ্যমান টরেন্টটি আবার চালু করুন বা একটি নতুন যুক্ত করুন। এটি ডাউনলোড করতে সক্ষম হওয়া উচিত, কয়েক মিনিটের অপেক্ষা সহকর্মীদের অপেক্ষা করার পরে। এটি যে কাজ করছে কিনা তা পরীক্ষা করার আমি যে নিফটি উপায়টি পেয়েছি তা হ'ল আইফটোপটি দেখা। Iftop ইনস্টল করুন এবং চালান:
sudo apt-get install iftop
sudo iftop -i tap1
এই স্ক্রিনে ভিপিএন দিয়ে চলমান সমস্ত সংযোগ দেখানো হবে। যদি আপনার টরেন্টটি ডাউনলোড হচ্ছে এবং সঠিকভাবে ভিপিএন ব্যবহার করছে, এখানে প্রচুর আইপি ঠিকানা এবং হোস্টের নাম থাকবে। ল্যান সংযোগের জন্য আইফটপটিও দেখুন:
sudo iftop -i eth0
এখানে আপনার ভিপিএন সার্ভার হয়ে একক আইপি ঠিকানায় প্রচুর পরিমাণে ট্র্যাফিক দেখা উচিত এবং তারপরে অন্যান্য ল্যান ডিভাইসে কেবলমাত্র ন্যূনতম ট্র্যাফিক - ধরে নেওয়া যায় যে আপনি নিজের বিগলবোনটিতে অন্যান্য পরিষেবা চালাচ্ছেন না।
আপনি নিশ্চিত করতে পারেন যে ভিপিএন এই নির্দেশাবলী অনুসরণ করে কাজ করছে ।
আপনার সাথে যোগাযোগ করার জন্য অন্যান্য পিয়াররা যে আইপি ঠিকানাটি ব্যবহার করে তা দেখার জন্য এই সাইটটি আপনাকে একটি টরেন্ট ডাউনলোড করতে দেয় - যদি সমস্ত কিছু কাজ করে তবে এটি হবে ভিপিএন আইপি ঠিকানা এবং আপনার নিজের ওয়ানের আইপি ঠিকানা নয়।
যদি আপনি সমস্যার সম্মুখীন হন তবে আপনি এটি করে আপসার্ট ত্রুটি লগটি দেখতে পারেন:
sudo tail -f /var/log/upstart/transmission-daemon.log
একটি পৃথক টার্মিনাল / এসএসএইচ উইন্ডোতে, উপরের মত ভিপিএন সংযোগ শুরু করার সময় টেল কমান্ডটি চালানোর চেষ্টা করুন এবং কোনও ত্রুটি বার্তা সন্ধান করুন। আশা করি আপনি ত্রুটি বার্তাগুলি দেখে সমস্যাটি সমাধান করতে পারবেন, যদি ইন্টারনেটে কোনও খোঁজ না নেওয়া হয়, বা কোনও মন্তব্য পোস্ট করুন।
এগুলি সমস্ত স্বয়ংক্রিয়ভাবে শুরু করতে কনফিগার করুন
আপনি যদি ওপেনভিপিএন টানেলটি শুরু করার জন্য ম্যানুয়ালি কমান্ড জারি করে খুশি হন বা আপনি এটি নিজের স্ক্রিপ্ট দিয়ে করতে চান, তবে আপনি হয়ে গেছেন। তবে আমি এটি বুট-এ শুরু করাতে চেয়েছিলাম, তাই আমি ওপেনভিপিএন চালু করার জন্য আরও একটি আপস্টার্ট স্ক্রিপ্ট তৈরি করেছি।
sudo vim /etc/init/openvpn-transmission.conf
এই শেষ জিনিসটি আমাদের পেস্ট করতে হবে!
description "OpenVPN client, with attached transmission-daemon"
start on started networking
stop on runlevel [!2345] or stopped networking
# Give time for Transmission to send info to trackers, wait for graceful close
kill timeout 45
# Start the OpenVPN tunnel again if it stops for some reason
respawn
# If it stops 5 times in a minute, give up trying to respawn it
respawn limit 5 60
exec openvpn --cd /opt/ibVPN --config config.ovpn
post-stop script
# Pause for a few seconds, before exiting
/bin/sleep 3s
end script
এই সমস্তটি সিস্টেমটি সিগন্যাল হওয়ার অপেক্ষা করে থাকে যে নেটওয়ার্কটি প্রস্তুত, এবং তারপরে এটি ওপেনভিপিএন টানেলটি শুরু করবে - যার ফলে ট্রান্সমিশন শুরু হবে। সিস্টেমটি বন্ধ হয়ে গেলে, বা যদি কোনও কারণে নেটওয়ার্কিং বন্ধ হয়ে যায়, আপস্টার্ট ফায়ারওয়াল বিধিগুলি সরিয়ে ফেলবে এবং ট্রান্সমিশন-ডিমন বন্ধ করে দেবে। সরল! এটি পুনরায় বুট করার পরেও কাজ চালিয়ে যাবে, সুতরাং এখন আপনি সম্পূর্ণ প্রস্তুত।
ট্রান্সমিশনের সাথে ইন্টারঅ্যাক্ট করতে, ওয়েব জিইউআই ব্যবহার করুন যেমনটি আমরা সেটআপ পর্বের সময় করেছিলাম। পোর্ট ফরওয়ার্ডিং সেটআপ করে জিইউআইকে ইন্টারনেটের মাধ্যমে অ্যাক্সেসযোগ্য করে তোলা সম্ভব। এটি কীভাবে করবেন সে সম্পর্কে প্রচুর টিউটোরিয়াল রয়েছে, তাই আমি এখানে এটি পুনরুক্ত করব না।
বিগলবোন থেকে সম্পূর্ণ ডাউনলোডগুলি পাওয়ার জন্য, আমি এনএফএস ব্যবহার করছি। আমি বিগলবোন থেকে লিনে আমার ডেস্কটপ কম্পিউটারে প্রায় 8 এমবি / এস অনুলিপি করার গতি পেতে পারি - এটি কম চালিত ডিভাইসটির জন্য বেশ ভাল। উবুন্টু এটি সেট আপ করার জন্য কিছু সহজ তথ্য সরবরাহ করে।