ডেবিয়ান এবং উবুন্টুতে স্ট্রিংসওয়ানের সাথে আইপিএস-ভিত্তিক ভিপিএন কীভাবে সেট আপ করবেন
স্ট্রংসওয়ান একটি ওপেন সোর্স, ক্রস প্ল্যাটফর্ম, সম্পূর্ণ বৈশিষ্ট্যযুক্ত এবং বহুল ব্যবহৃত আইপিএস-ভিত্তিক ভিপিএন (ভার্চুয়াল প্রাইভেট নেটওয়ার্ক) বাস্তবায়ন যা লিনাক্স, ফ্রিবিএসডি, ওএস এক্স, উইন্ডোজ, অ্যান্ড্রয়েড এবং আইওএস এ চলে। এটি মূলত একটি কিজিং ডেমন যা দুটি পিয়ারের মধ্যে সুরক্ষা সমিতি (এসএ) স্থাপন করতে ইন্টারনেট কী এক্সচেঞ্জ প্রোটোকল (আইকেইভ 1 এবং আই কেইভি 2) সমর্থন করে।
এই নিবন্ধটি বর্ণনা করে যে কীভাবে উবুন্টু এবং ডেবিয়ান সার্ভারগুলিতে শক্তিশালীওয়ান ব্যবহার করে সাইট-টু-সাইট আইপিসেক ভিপিএন গেটওয়ে সেট আপ করবেন। সাইট-টু-সাইট বলতে আমরা বোঝাতে চাইছি প্রতিটি সুরক্ষা গেটওয়ের পিছনে একটি উপ-নেট রয়েছে। এছাড়াও, পিয়ারগুলি পূর্ব-ভাগ করা কী (পিএসকে) ব্যবহার করে একে অপরকে প্রমাণীকরণ করবে।
আপনার পরিবেশটি কনফিগার করার জন্য নীচের আইপিগুলিকে আপনার আসল ওয়ার্ল্ড আইপিগুলি প্রতিস্থাপন করতে ভুলবেন না।
সাইট 1 গেটওয়ে (টেকমিন্ট-ডেগেটওয়ে)
OS 1: Debian or Ubuntu Public IP: 10.20.20.1 Private IP: 192.168.0.101/24 Private Subnet: 192.168.0.0/24
সাইট 2 গেটওয়ে (টেকমিন্ট-প্রোডগেটওয়ে)
OS 2: Debian or Ubuntu Public IP: 10.20.20.3 Private IP: 10.0.2.15/24 Private Subnet: 10.0.2.0/24
পদক্ষেপ 1: কার্নেল প্যাকেট ফরওয়ার্ডিং সক্ষম করা
১. প্রথমত, উভয় সুরক্ষা গেটওয়েতে /etc/sysctl.conf কনফিগারেশন ফাইলের মধ্যে উপযুক্ত সিস্টেমের ভেরিয়েবলগুলি যুক্ত করে প্যাকেট ফরোয়ার্ডিং সক্ষম করতে আপনার কার্নেলটি কনফিগার করতে হবে।
$ sudo vim /etc/sysctl.conf
নিম্নলিখিত লাইনগুলি দেখুন এবং সেগুলিকে সংকোচিত করুন এবং তাদের মানগুলি প্রদর্শিত হিসাবে সেট করুন (আরও তথ্যের জন্য ফাইলটিতে মন্তব্য পড়ুন)।
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
2. এরপরে, নিম্নলিখিত কমান্ডটি চালিয়ে নতুন সেটিংস লোড করুন।
$ sudo sysctl -p
৩. যদি আপনার কোনও ইউএফডাব্লু ফায়ারওয়াল পরিষেবা সক্ষম করা থাকে তবে সুরক্ষা গেটওয়েতে ফিল্টার নিয়মের ঠিক আগে আপনাকে /etc/ufw/before.rules কনফিগারেশন ফাইলে নিম্নলিখিত বিধিগুলি যুক্ত করতে হবে।
সাইট 1 গেটওয়ে (টেকমিন্ট-ডেগেটওয়ে)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE COMMIT
সাইট 2 গেটওয়ে (টেকমিন্ট-প্রোডগেটওয়ে)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/24 -d 10.0.2.0/24 -j MASQUERADE COMMIT
৪. একবার ফায়ারওয়াল বিধি যুক্ত হয়ে গেলে, ইউএফডাব্লু পুনরায় চালু করে নতুন পরিবর্তনগুলি প্রদর্শিত হিসাবে প্রয়োগ করুন।
$ sudo ufw disable $ sudo ufw enable
পদক্ষেপ 2: ডেবিয়ান এবং উবুন্টুতে শক্তিশালী সোয়ান ইনস্টল করা
৫. উভয় সুরক্ষা গেটওয়েতে আপনার প্যাকেজ ক্যাশে আপডেট করুন এবং এপিটি প্যাকেজ ম্যানেজার ব্যবহার করে স্ট্রিংসওয়ান প্যাকেজ ইনস্টল করুন।
$ sudo apt update $ sudo apt install strongswan
The. ইনস্টলেশনটি সম্পূর্ণ হয়ে গেলে, ইনস্টলার স্ক্রিপ্টটি শক্তিশালী পরিষেবা শুরু করবে এবং এটি স্বয়ংক্রিয়ভাবে সিস্টেম বুটে শুরু করতে সক্ষম করবে। আপনি এর স্থিতিটি এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি সক্ষম কিনা তা পরীক্ষা করতে পারেন।
$ sudo systemctl status strongswan.service $ sudo systemctl is-enabled strongswan.service
পদক্ষেপ 3: সুরক্ষা গেটওয়ে কনফিগার করা
Next. এর পরে, আপনাকে /etc/ipsec.conf কনফিগারেশন ফাইলটি ব্যবহার করে সুরক্ষা গেটওয়ে কনফিগার করতে হবে।
সাইট 1 গেটওয়ে (টেকমিন্ট-ডেগেটওয়ে)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo nano /etc/ipsec.conf
ফাইলটিতে নিম্নলিখিত কনফিগারেশনটি অনুলিপি করুন এবং আটকান।
config setup charondebug="all" uniqueids=yes conn devgateway-to-prodgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.1 leftsubnet=192.168.0.101/24 right=10.20.20.3 rightsubnet=10.0.2.15/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
সাইট 2 গেটওয়ে (টেকমিন্ট-প্রোডগেটওয়ে)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo cp /etc/ipsec.conf
ফাইলটিতে নিম্নলিখিত কনফিগারেশনটি অনুলিপি করুন এবং আটকান।
config setup charondebug="all" uniqueids=yes conn prodgateway-to-devgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.3 leftsubnet=10.0.2.15/24 right=10.20.20.1 rightsubnet=192.168.0.101/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
প্রতিটি কনফিগারেশন প্যারামিটারের অর্থ এখানে:
- কনফিগারেশন সেটআপ - আইপিসেকের জন্য সাধারণ কনফিগারেশন তথ্য নির্দিষ্ট করে যা সমস্ত সংযোগের ক্ষেত্রে প্রযোজ্য।
- চারনডেবাগ - নির্ধারণ করে যে কত চারন ডিবাগিং আউটপুট লগ করা উচিত
- ইউনিকাইড - নির্দিষ্ট অংশগ্রহণকারী আইডি অনন্য রাখতে হবে কিনা তা নির্দিষ্ট করে
- প্রোডগেটওয়ে থেকে দেবগেটওয়ে সংযোগ করুন - সংযোগের নাম সংজ্ঞায়িত করে
- প্রকার - সংযোগ প্রকারের সংজ্ঞা দেয়
- স্বতঃ - আইপিএসেক শুরু করা বা পুনরায় চালু করার সময় সংযোগটি কীভাবে পরিচালনা করতে হয়
- কেএক্সচেঞ্জ - ব্যবহারের জন্য IKE প্রোটোকলের সংস্করণ সংজ্ঞায়িত করে
- লেখক - সংজ্ঞা দেয় কীভাবে সমবয়সীদের একে অপরকে প্রমাণীকরণ করা উচিত
- বাম - বাম অংশগ্রহণকারীর পাবলিক-নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানাটি সংজ্ঞায়িত করে
- লেফসুবনেট - বাম অংশগ্রহীতার পিছনে থাকা ব্যক্তিগত সাবনেটটি উল্লেখ করে।
- ডান - সঠিক অংশগ্রহণকারীর পাবলিক-নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানা নির্দিষ্ট করে।
- রাইটসুবনেট - বাম অংশগ্রহীতার পিছনে থাকা ব্যক্তিগত সাবনেটকে জানিয়েছে
- ike - IKE/ISAKMP SA এনক্রিপশন/প্রমাণীকরণ আলগোরিদিম ব্যবহার করার জন্য একটি তালিকা নির্ধারণ করে। আপনি কমা-বিচ্ছিন্ন তালিকা যুক্ত করতে পারেন
- esp - সংযোগের জন্য ব্যবহৃত ESP এনক্রিপশন/প্রমাণীকরণ আলগোরিদিমগুলির একটি তালিকা সংজ্ঞায়িত করে। আপনি কমা-বিচ্ছিন্ন তালিকা যুক্ত করতে পারেন
- আক্রমণাত্মক - আগ্রাসী বা প্রধান মোড ব্যবহার করতে হবে তা জানিয়েছে
- কাইটিংট্রিজ - সংযোগের জন্য আলোচনার জন্য কতগুলি প্রচেষ্টা করা উচিত তা উল্লেখ করে।
- আইকেলিফটাইম - সূচিত হয়েছে যে কোনও সংযোগের কীটিং চ্যানেল পুনর্বিবেচনা করার আগে কতক্ষণ চলবে
- আজীবন - সংলাপের একটি নির্দিষ্ট উদাহরণটি কতক্ষণ দীর্ঘস্থায়ী হওয়া উচিত তা নির্ধারণ করে, সফল আলোচনার মধ্য দিয়ে মেয়াদ শেষ হয়ে যায়
- ডিপিডিডিলে - পিয়ারের কাছে আর_ইউ_থের বার্তা/তথ্য আদান-প্রদানের সময় ব্যবধান নির্দিষ্ট করে।
- ডিপিডিটাইমআউট - টাইমআউট ব্যবধান নির্দিষ্ট করে, যার পরে নিষ্ক্রিয়তার ক্ষেত্রে পিয়ারের সমস্ত সংযোগ মুছে ফেলা হয়
- ডিপিডিএশন - সংযোগটি পরিচালনা করতে ডেড পিয়ার ডিটেকশন (ডিপিডি) প্রোটোকলটি কীভাবে ব্যবহার করবেন তা সংজ্ঞায়িত করে
উপরের কনফিগারেশন প্যারামিটারগুলি সম্পর্কে আরও তথ্যের জন্য কমান্ডটি চালিয়ে ipsec.conf ম্যান পৃষ্ঠাটি পড়ুন।
$ man ipsec.conf
পদক্ষেপ 4: পিয়ার-থেকে-পিয়ার প্রমাণীকরণের জন্য পিএসকে কনফিগার করছে
৮. উভয় সুরক্ষা গেটওয়ে কনফিগার করার পরে, নীচের কমান্ডটি ব্যবহার করে সহকর্মীরা ব্যবহার করতে একটি নিরাপদ পিএসকে তৈরি করুন।
$ head -c 24 /dev/urandom | base64
9. এর পরে, উভয় গেটওয়েতে /etc/ipsec.secrets ফাইলটিতে PSK যুক্ত করুন।
$ sudo vim /etc/ipsec.secrets
নিম্নলিখিত লাইনটি অনুলিপি করুন এবং আটকান।
------- Site 1 Gateway (tecmint-devgateway) ------- 10.20.20.1 10.20.20.3 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac=" ------- Site 2 Gateway (tecmint-prodgateway) ------- 10.20.20.3 10.20.20.1 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
10. আইপিসেক প্রোগ্রামটি পুনরায় আরম্ভ করুন এবং সংযোগগুলি দেখার জন্য এর স্থিতি পরীক্ষা করুন।
$ sudo ipsec restart $ sudo ipsec status
১১. শেষ পর্যন্ত যাচাই করুন যে আপনি কোনও পিং কমান্ড চালিয়ে সুরক্ষা গেটওয়ে থেকে ব্যক্তিগত সাব-নেটগুলি অ্যাক্সেস করতে পারবেন।
$ ping 192.168.0.101 $ ping 10.0.2.15
১২. পাশাপাশি, আপনি থামিয়ে আইপিএসকে শুরু করতে পারেন হিসাবে দেখানো হয়েছে।
$ sudo ipsec stop $ sudo ipsec start
13. ম্যানুয়ালি সংযোগগুলি আনার জন্য আইপিসেক আদেশগুলি সম্পর্কে আরও জানতে এবং আইপিসেক সহায়তা পৃষ্ঠাটি দেখুন।
$ ipsec --help
এখানেই শেষ! এই নিবন্ধে, আমরা বর্ণনা করেছি যে কীভাবে উবুন্টু এবং ডেবিয়ান সার্ভারগুলিতে দৃS় সোয়ান ব্যবহার করে সাইট-টু-সাইট আইপিসেক ভিপিএন সেটআপ করা যায়, যেখানে উভয় সুরক্ষা গেটওয়ে পিএসকে ব্যবহার করে একে অপরের প্রমাণীকরণের জন্য কনফিগার করা হয়েছিল। আপনার যদি ভাগ করে নিতে কোনও প্রশ্ন বা চিন্তা থাকে তবে নীচের মতামত ফর্মের মাধ্যমে আমাদের কাছে পৌঁছান।