L2TP ভিপিএন এর সাথে সংযুক্ত থাকা অবস্থায় ক্লায়েন্টের জন্য অটো রুট কনফিগারেশন করা কি সম্ভব?


13

আমরা এই টিউটোরিয়ালটি দিয়ে একটি এল 2 টি পি ভিপিএন সার্ভার সেটআপ করেছি , সবকিছু মনোহর মতো কাজ করে।

একটাই ইস্যু

  1. আমরা ক্লায়েন্টকে এই ভিপিএন ব্যবহার করে সমস্ত ট্র্যাফিকের রুট করতে চাই না, কেবলমাত্র একটি নির্দিষ্ট সাবনেট, যেমন 10.0.0.0/20

  2. ম্যাকের জন্য, আমাদের কমান্ডটি ব্যবহার করে ম্যানুয়ালি রুটটি সেট করা দরকার, তবে মোবাইল ডিভাইসগুলির জন্য, মনে হচ্ছে এটি করার কোনও উপায় নেই?

সুতরাং, "10.0.0.0/20" সাবনেটটি স্বয়ংক্রিয়ভাবে ক্লায়েন্টের জন্য কনফিগার করা সম্ভব?


আপনি কি ক্লায়েন্টে 'সমস্ত ট্র্যাফিক ভিপিএন প্রেরণ করুন' বা অনুরূপ বিকল্পটি অক্ষম করার চেষ্টা করেছেন?
বার্ট

উত্তর:


33

ঠিক আছে, এই প্রশ্নটি ইন্টারনেটে বার বার জিজ্ঞাসা করা হয় এবং বেশিরভাগ সময় একটি (আধা) ভুল উত্তর থাকে যা আপনি মূল পোস্টে বর্ণিত যা করতে পারবেন না। আমি একবার এবং সবার জন্য এটি স্পষ্ট করতে দিন :)

সংক্ষিপ্ত উত্তরটি হল এল 2 টি পি (এবং সেই বিষয়ে পিপিটিপি) প্রোটোকলের অভ্যন্তরে রুট পুশ করার সুবিধা নেই তবে এটি প্রোটোকলের বাইরেও অর্জন করা যায়।

যেহেতু এল 2 টি পি মাইক্রোসফ্ট আবিষ্কার, তথ্যের সর্বোত্তম উত্স হ'ল তাদের প্রযুক্তিগত ডকুমেন্টেশন (এবং তারা উপায় দ্বারা এটি বেশ ভাল)। আমি যা নিচে নিচে ব্যাখ্যা করতে যাচ্ছি প্রযুক্তিগত বিবরণ পাওয়া যাবে VPN এর অ্যাড্রেসিং এবং রাউটিং । সবকিছু ঠিকঠাক করে দেওয়ার জন্য কীওয়ার্ডগুলি (যদি আপনি নিজের গবেষণা চালিয়ে যাচ্ছেন) হলেন: ডিএইচসিপিনফর্ম এবং "শ্রেণিবিন্যাস স্ট্যাটিক রুট"।

প্রথমত, এটি কীভাবে কাজ করে:

  1. একটি ক্লায়েন্ট ভিপিএন সার্ভারের সাথে সংযোগ স্থাপন করে
  2. সফল প্রমাণীকরণের পরে একটি সুরক্ষিত টানেল প্রতিষ্ঠিত হয়
  3. ক্লায়েন্টটি ডিএইচসিপি ক্লাসলেস স্ট্যাটিক রুট বিকল্পের জন্য অনুরোধ করার জন্য সংযোগের পরে একটি ডিএইচসিপিনফর্ম বার্তা ব্যবহার করে। এই ডিএইচসিপি বিকল্পের মধ্যে এমন কয়েকটি রুটের একটি সেট রয়েছে যা অনুরোধকারী ক্লায়েন্টের রাউটিং টেবিলটিতে স্বয়ংক্রিয়ভাবে যুক্ত হয় ( আমি সরাসরি মাইক্রোসফ্ট ডকুমেন্টেশন থেকে এই লাইনটি অনুলিপি করে কপি-পেস্ট করেছি :))
  4. ভিপিএন সার্ভার যথাযথ রুটের সেট সহ সেই বার্তাটির উত্তর দেয়

ঠিক আছে, একটি সতর্কতা আছে:

  • সেখানে "ডিএইচসিপি ক্লাসলেস স্ট্যাটিক রুটস" বর্ণনা করে আরএফসি -৪৪৪২ রয়েছে এবং সেখানে বলা হয়েছে যে এই বিকল্পের কোডটি ১২১। অতএব, ক্লায়েন্টের বিস্তৃত পরিসীমা সমর্থন করতে আমাদের উভয় কোডের সাথে প্রতিক্রিয়া জানাতে হবে

আমি ভিপিএন সার্ভার হিসাবে লিনাক্স বাক্সটি ব্যবহার করে একটি সাধারণ কনফিগারেশন বর্ণনা করতে যাচ্ছি (আপনি মাইক্রোসফ্ট ডকুমেন্টেশনের লিঙ্কটি ব্যবহার করে এমএস সার্ভারগুলি কনফিগার করতে পারেন)।

ক্লায়েন্টগুলিতে রুটগুলি কনফিগার করতে আমাদের নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে:

  • 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) -> বৈশিষ্ট্য -> উন্নত -> আইপি সেটিংস )। কিছু ক্লায়েন্টে 'ক্লাস ভিত্তিক রুট সংযোজন অক্ষম করুন' নামে একটি অপশনও রয়েছে - এটি অবশ্যই আনসেট করা উচিত যেহেতু এটি কার্যকর করার জন্য আমরা কার্যকর করার চেষ্টা করছি এমন কার্যকারিতাটি স্পষ্টভাবে অক্ষম করে।


এটি আমার বোঝা যায় যে ক্লাসিক এল 2 টি পি পি পি প্যাকেটগুলিকে ইউডিপি-র উপরে আবদ্ধ করে। আমি ভুল হতে পারি তবে আমি মনে করি না যে পিপিপি, বিশেষত অতিরিক্ত রুট প্রেরণের মাধ্যমে ডিএইচসিপি সমর্থিত। L2TP সংস্করণ 3 (লিনাক্স কার্নেল জমিটিতে এখনও বেশ নতুন) আপনাকে ইথারনেট ফ্রেমগুলি encapsulate করতে দেয় যাতে এটি সম্ভব হতে পারে, তবুও আমি নিশ্চিত যে মাইলেজটি মোবাইল ডিভাইসগুলির পক্ষে কতটা সমর্থিত।
ম্যাথু ইফি

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

1
এছাড়াও, আমি L2TP- র জন্য মাইক্রোসফ্ট প্রযুক্তিগত ডকুমেন্টেশনের একটি লিঙ্ক অন্তর্ভুক্ত করেছি যখন তারা কীভাবে ডিএইচসিআইএনফোর্ম ব্যবহার করে জিনিসগুলি সঠিকভাবে সেট আপ করতে পারে তার বিবরণ দিলে এই ধরণের মন্তব্য পাওয়া খুবই আশ্চর্যজনক। আমি বুঝতে পারি যে লোকেরা উত্তরটি কখনই পড়তে চায় না (যদিও এটি কোনও ওয়ার্কিং সিস্টেম থেকে কনফিগারেশন ফাইল অন্তর্ভুক্ত করে) কারণ এটি কারওর গবেষণা, তবে যখন কোনও প্রযুক্তিগত বিশদ বিবরণ থাকে তখন "আমি মনে করি না পিপিপির উপর ডিএইচসিপি সমর্থিত" saying প্রোটোকলের স্রষ্টা যেখানে এটি বলে যে এটি এইভাবে ডিজাইন করা হয়েছিল এক ধরণের অদ্ভুত।
গ্যালাক্সি

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

ম্যাথিউ, ধন্যবাদ :) হ্যাঁ, আমরা ঠিকানা অ্যাসাইনমেন্টের জন্য ডিএইচসিপি ব্যবহার করছি না, এটি আইপিসিপি দ্বারা সম্পন্ন হয়েছে (এবং আপনি যেমন বলেছেন এলসিপি নয়, তবে এটি অপ্রাসঙ্গিক) তবে মাইক্রোসফ্ট প্রযুক্তিগত ডকুমেন্টেশনে উল্লেখ করা হয়েছে যে কোনও বৈধ ক্লায়েন্টকে অপশন 249 সহ DHCPINFORM বার্তা পাঠাতে হবে রুট কনফিগারেশন এবং আমি আমার উত্তরে ঠিক এটি বর্ণনা করেছি। ঠিক আছে, ইতিমধ্যে কেউ আমার উত্তরটি ভোট দিয়েছেন যদিও এটি একটি কার্যকর, কার্যকর উত্তর :)
গ্যালাক্সি

1

আমি মনে করি না আপনি কোনও ক্লায়েন্টকে কোনও এল 2 টিপি / আইপিএসইসি ভিপিএন-এর পথে যেতে পারেন push আপনাকে সরাসরি ক্লায়েন্টে কনফিগারেশন করতে হবে।

আপনি কী মোবাইল ক্লায়েন্টের সাথে সমস্যায় পড়েছেন? আপনি যদি ব্যবহার করছেন অপারেটিং সিস্টেম এবং সফ্টওয়্যারটি জানতে পারি তবে কিছু ইনপুট সরবরাহ করা আরও সহজ।

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