ঠিক আছে, এই প্রশ্নটি ইন্টারনেটে বার বার জিজ্ঞাসা করা হয় এবং বেশিরভাগ সময় একটি (আধা) ভুল উত্তর থাকে যা আপনি মূল পোস্টে বর্ণিত যা করতে পারবেন না। আমি একবার এবং সবার জন্য এটি স্পষ্ট করতে দিন :)
সংক্ষিপ্ত উত্তরটি হল এল 2 টি পি (এবং সেই বিষয়ে পিপিটিপি) প্রোটোকলের অভ্যন্তরে রুট পুশ করার সুবিধা নেই তবে এটি প্রোটোকলের বাইরেও অর্জন করা যায়।
যেহেতু এল 2 টি পি মাইক্রোসফ্ট আবিষ্কার, তথ্যের সর্বোত্তম উত্স হ'ল তাদের প্রযুক্তিগত ডকুমেন্টেশন (এবং তারা উপায় দ্বারা এটি বেশ ভাল)। আমি যা নিচে নিচে ব্যাখ্যা করতে যাচ্ছি প্রযুক্তিগত বিবরণ পাওয়া যাবে VPN এর অ্যাড্রেসিং এবং রাউটিং । সবকিছু ঠিকঠাক করে দেওয়ার জন্য কীওয়ার্ডগুলি (যদি আপনি নিজের গবেষণা চালিয়ে যাচ্ছেন) হলেন: ডিএইচসিপিনফর্ম এবং "শ্রেণিবিন্যাস স্ট্যাটিক রুট"।
প্রথমত, এটি কীভাবে কাজ করে:
- একটি ক্লায়েন্ট ভিপিএন সার্ভারের সাথে সংযোগ স্থাপন করে
- সফল প্রমাণীকরণের পরে একটি সুরক্ষিত টানেল প্রতিষ্ঠিত হয়
- ক্লায়েন্টটি ডিএইচসিপি ক্লাসলেস স্ট্যাটিক রুট বিকল্পের জন্য অনুরোধ করার জন্য সংযোগের পরে একটি ডিএইচসিপিনফর্ম বার্তা ব্যবহার করে। এই ডিএইচসিপি বিকল্পের মধ্যে এমন কয়েকটি রুটের একটি সেট রয়েছে যা অনুরোধকারী ক্লায়েন্টের রাউটিং টেবিলটিতে স্বয়ংক্রিয়ভাবে যুক্ত হয় ( আমি সরাসরি মাইক্রোসফ্ট ডকুমেন্টেশন থেকে এই লাইনটি অনুলিপি করে কপি-পেস্ট করেছি :))
- ভিপিএন সার্ভার যথাযথ রুটের সেট সহ সেই বার্তাটির উত্তর দেয়
ঠিক আছে, একটি সতর্কতা আছে:
- সেখানে "ডিএইচসিপি ক্লাসলেস স্ট্যাটিক রুটস" বর্ণনা করে আরএফসি -৪৪৪২ রয়েছে এবং সেখানে বলা হয়েছে যে এই বিকল্পের কোডটি ১২১। অতএব, ক্লায়েন্টের বিস্তৃত পরিসীমা সমর্থন করতে আমাদের উভয় কোডের সাথে প্রতিক্রিয়া জানাতে হবে
আমি ভিপিএন সার্ভার হিসাবে লিনাক্স বাক্সটি ব্যবহার করে একটি সাধারণ কনফিগারেশন বর্ণনা করতে যাচ্ছি (আপনি মাইক্রোসফ্ট ডকুমেন্টেশনের লিঙ্কটি ব্যবহার করে এমএস সার্ভারগুলি কনফিগার করতে পারেন)।
ক্লায়েন্টগুলিতে রুটগুলি কনফিগার করতে আমাদের নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে:
- L2TP / IPSEC (বা পিপিটিপি) = উদাহরণস্বরূপ, অ্যাক্সেল-পিপিপি হ'ল একটি দুর্দান্ত ওপেন সোর্স এল 2 টি পি / পিপিটিপি সার্ভার
- ডিএইচসিপি সার্ভার = অনেক রয়েছে তবে আমি ডিএনএসম্যাস্কের কনফিগারেশনটি বর্ণনা করতে যাচ্ছি
নিম্নলিখিতটি ওয়ার্কিং অ্যাক্সেল-পিপিপি কনফিগারেশনের একটি ডাম্প। আমি এটি সম্পূর্ণরূপে সরবরাহ করছি, অন্যথায় এটি কোথায় যায় তা ব্যাখ্যা করা কঠিন হবে। যদি আপনার ইতিমধ্যে আপনার ভিপিএন কাজ করে থাকে তবে আপনি এই কনফিগারেশন ফাইলটি এড়িয়ে যেতে পারেন এবং নীচে বর্ণিত ডিএইচসিপি কনফিগারেশনে মনোনিবেশ করতে পারেন।
[root@vpn ~]# cat /opt/accel-ppp/config/accel-ppp.conf
[modules]
log_syslog
pptp
l2tp
auth_mschap_v2
ippool
sigchld
chap-secrets
logwtmp
[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4
[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
check-ip=1
single-session=replace
mppe=require
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
[lcp]
lcp-echo-interval=30
lcp-echo-failure=3
[auth]
#any-login=0
#noauth=0
[pptp]
echo-interval=30
echo-failure=3
verbose=1
[l2tp]
host-name=access-vpn
verbose=1
[dns]
dns1=192.168.70.251
dns2=192.168.70.252
[client-ip-range]
disable
[ip-pool]
gw-ip-address=192.168.99.254
192.168.99.1-253
[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
log-debug=/var/log/accel-ppp/debug.log
copy=1
level=3
[chap-secrets]
gw-ip-address=192.168.99.254
chap-secrets=/etc/ppp/chap-secrets
[cli]
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
[root@vpn ~]#
===
এই মুহুর্তে আমাদের ক্লায়েন্টরা L2TP (বা পিপিটিপি) এর মাধ্যমে সংযোগ করতে এবং ভিপিএন সার্ভারের সাথে যোগাযোগ করতে পারে। সুতরাং, একমাত্র অনুপস্থিত অংশটি হ'ল একটি ডিএইচসিপি সার্ভার যা তৈরি করা টানেলগুলি শুনছে এবং এটি প্রয়োজনীয় তথ্য দিয়ে প্রতিক্রিয়া জানায়। নীচে dnsmasq কনফিগারেশন ফাইলের একটি অংশ রয়েছে (আমি কেবলমাত্র DHCP সম্পর্কিত বিকল্পগুলি সরবরাহ করছি):
[root@vpn ~]# grep -E '^dhcp' /etc/dnsmasq.conf
dhcp-range=192.168.99.254,static
dhcp-option=option:router
dhcp-option=121,192.168.70.0/24,192.168.99.254,192.168.75.0/24,192.168.99.254,10.0.0.0/24,192.168.99.254
dhcp-option=249,192.168.70.0/24,192.168.99.254,192.168.75.0/24,192.168.99.254,10.0.0.0/24,192.168.99.254
dhcp-option=vendor:MSFT,2,1i
[root@vpn ~]#
উপরের অংশে আমরা 192.168.70.0/24, 192.168.75.0/24 এবং 192.068.99.254 (ভিপিএন সার্ভার) এর মাধ্যমে 10.0.0.0/24 রুটগুলি চাপ দিচ্ছি।
অবশেষে, আপনি যদি নেটওয়ার্ক ট্র্যাফিক স্নিগ্ধ করে থাকেন (যেমন ভিপিএন সার্ভারে) আপনি ডিএইচসিপিনফর্ম বার্তায় প্রতিক্রিয়ার জন্য নীচের মতো কিছু দেখতে পাবেন:
19:54:46.716113 IP (tos 0x0, ttl 64, id 10142, offset 0, flags [none], proto UDP (17), length 333)
192.168.99.254.67 > 192.168.99.153.68: BOOTP/DHCP, Reply, length 305, htype 8, hlen 6, xid 0xa27cfc5f, secs 1536, Flags [none]
Client-IP 192.168.99.153
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 192.168.99.254
Domain-Name Option 15, length 18: "vpn.server.tld"
Classless-Static-Route-Microsoft Option 249, length 24: (192.168.70.0/24:192.168.99.254),(192.168.75.0/24:192.168.99.254),(10.0.0.0/24:192.168.99.254)
Vendor-Option Option 43, length 7: 2.4.0.0.0.1.255
PS আমি উপরের কনফিগারেশনটির সফল ব্যবহারের জন্য প্রয়োজনীয় একটি প্রয়োজনীয় অংশ প্রায় ভুলে গেছি। ঠিক আছে, আমি উল্লেখ করা মাইক্রোসফ্ট ডক্সে এটি বর্ণনা করা হয়েছিল, তবে ডকুমেন্টেশনগুলি কে পড়েন? :) ঠিক আছে, ভিপিএন সংযোগে (ডিফল্ট গেটওয়ে ব্যবহার করুন) ক্লায়েন্টদের কনফিগার করা উচিত (উইন্ডোজে এটি সংযোগের বৈশিষ্ট্যগুলিতে রয়েছে -> নেটওয়ার্কিং -> ইন্টারনেট প্রোটোকল সংস্করণ 4 (টিসিপি / আইপিভি 4) -> বৈশিষ্ট্য -> উন্নত -> আইপি সেটিংস )। কিছু ক্লায়েন্টে 'ক্লাস ভিত্তিক রুট সংযোজন অক্ষম করুন' নামে একটি অপশনও রয়েছে - এটি অবশ্যই আনসেট করা উচিত যেহেতু এটি কার্যকর করার জন্য আমরা কার্যকর করার চেষ্টা করছি এমন কার্যকারিতাটি স্পষ্টভাবে অক্ষম করে।