প্রশ্ন ওপেন ভিপিএন: সকল DNS এন্ট্রি সার্ভার থেকে ক্লায়েন্টগুলিতে ধাক্কা দেয় না। (Dnsmasq)


আমি এই সমস্যার সমাধান খুঁজে বের করার চেষ্টা করছি, কিন্তু এখনও পর্যন্ত কোন উত্তর খুঁজে পাইনি, তাই আমি আশা করি আপনি আমাকে সাহায্য করতে পারেন।

আমার একটি সার্ভার রয়েছে উবুন্টু 10.04, যার একটি স্ট্যাটিক আইপি ঠিকানা এবং একটি URL টি নির্দেশ করছে, server.foo.com বলুন

এই সার্ভারে আমি নিম্নলিখিত কনফিগারেশনের সাথে চলমান একটি ওপেনভিপিএন সার্ভার পেয়েছি:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
;push "dhcp-option DOMAIN foo.com"
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 1
plugin /usr/lib/openvpn/openvpn-auth-pam.so vpnlogin

ক্লায়েন্ট অনুসরণ হিসাবে কনফিগার করা হয়:

client
dev tun
proto udp
remote server.foo.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass
ca ca.crt
cert server.crt
key server.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 1
auth-nocache

আপনি সার্ভার কনফিগারেশন দেখতে পারেন হিসাবে, আমি এটি উপর চলমান একটি DNS সার্ভার পেয়েছিলাম। নিম্নলিখিত সার্ভারে /etc/dnsmasq.conf নিম্নলিখিত কনফিগারেশন সহ, এই সার্ভারটি একটি dnsmasq সার্ভার:

interface=tun0
listen-address=127.0.0.1
dhcp-authoritative
cache-size=0
no-negcache

/Etc/dnsmasq.d/ এ এমন ফাইল রয়েছে যা এই সার্ভারে URL গুলিকে রুট করে, যা VPN ক্লায়েন্টগুলিতে ধাক্কা দেওয়া উচিত। তাদের মধ্যে সবচেয়ে গুরুত্বপূর্ণ:

address=/server.foo.com/10.8.0.1

মনে রাখবেন যে এই URL টি আমার সর্বজনীন URL এ ঠিক একই। আমি পরীক্ষার জন্য অন্যান্য DNS এন্ট্রি তৈরি করেছি, উদাহরণস্বরূপ ঠিকানা = / server2.foo.com / 10.8.0.1

এখন আমি এই সার্ভারে চলমান একটি HTTP পরিষেবা পেয়েছি, এবং আমি শুধুমাত্র ব্যবহারকারীদের কাছে আমার ল্যানের পাশাপাশি ওপেন ভিপিএন ক্লায়েন্টদের কাছে পৌঁছানোর অনুমতি দিতে চাই। আমি UUW তে সমস্ত ইনকামিং ট্র্যাফিককে অবরুদ্ধ করেছি, ব্যতিক্রমগুলি হচ্ছে:

To         Action       From
1194       ALLOW        Anywhere
53         ALLOW        10.8.0.0/24
80/tcp     ALLOW        10.8.0.0/24
80/tcp     ALLOW        192.168.0.0/24

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

তবে এন্ট্রি server.foo.com দৃশ্যত উপেক্ষা করা হয়, সম্ভবত একটি পাবলিক DNS এর পক্ষে। যখন আমি ফায়ারফক্স বা ক্রোমে server.foo.com টাইপ করি তখন আমার ল্যানের বাইরে থাকলেও ভিপিএন-এর সাথে সংযুক্ত থাকলে, আমি একটি টাইমআউট পাই। 10.8.0.1, এবং server2.foo.com এর মতো অন্যান্য এন্ট্রি সব কাজ করে।

উইন্ডোজ 7২-বিট-এ একটি ট্রাসারআউট দেখায় যে উদাহরণস্বরূপ server2.foo.com এক ঝাঁকে 10.8.0.1 এ প্রেরিত হয়, কিন্তু server.foo.com একটি পাবলিক DNS সার্ভারের মাধ্যমে চলে এবং আমার সার্বজনীন স্ট্যাটিক আইপি সংযোগ করার চেষ্টা করে যা ব্লক করা হয়, এইভাবে একটি টাইমআউট প্রদান।

আমি এখনও অনেক কিছু চেষ্টা করেছি, এখনো এটি কাজ করে না:

  1. DNS সার্ভার আধিকারিক সেট করা (উপরে বর্ণিত dnsmasq.conf: dhcp-authoritative)।
  2. OpenVPN এর জন্য server.conf এ "dhcp-option DOMAIN foo.com" ধাক্কা দিন।

সম্ভবত একটি সংক্ষিপ্ত প্রশ্ন কি জন্য যেমন একটি দীর্ঘ পোস্টের জন্য দুঃখিত। এবং আমি আশা করি কেউ আমাকে সাহায্য করতে পারে।

শুভেচ্ছান্তে, মাইক।


5
2018-03-16 14:53


উত্স




উত্তর:


আমি আপনার সেটআপ বিরতি বা কাজ না মনে হয়:

আপনার OpenVPN ক্লায়েন্ট কনফিগারেশন OpenVPN সার্ভারের সাথে সংযোগ করার জন্য server.foo.com এর সর্বজনীন ঠিকানা ব্যবহার করে। স্পষ্টতই ভিপিএন টানেল প্রতিষ্ঠার আগে এই ঠিকানাটি দেখানো হবে।

Tunnel ইনস্টল করার পরে dnsmasq কনফিগারেশনের মাধ্যমে আপনি OpenVPN আইপি দিয়ে server.foo.com এর জন্য একটি DNS এন্ট্রি push করার চেষ্টা করছেন। ওপেন ভিপিএন ক্লায়েন্ট এটি উপেক্ষা করে (যেহেতু এটি ইতিমধ্যে সার্ভার.ফু.কম. সম্পর্কে ইতিমধ্যেই জানে কারণ এটি টানেল স্থাপন করার জন্য এটি দেখতে ছিল) বা এটির প্রতি শ্রদ্ধা করবে এবং তারপরে টানেলটি ড্রপ করবে কারণ ওপেন ভিপিএন ক্লায়েন্ট কনফিগারেশন এখন নির্দেশ করবে nonexistent আইপি ঠিকানা। সার্ভার.ফু.কম. এর পাবলিক আইপি এর জন্য DNS সার্ভারের TTL এর উপর নির্ভর করে, পরবর্তীটি আপনার ওপেন ভিপিএন সেশনের সময় ঘটতে পারে।

টিএল; ডিআর: আপনি মূলত server.foo.com সম্পর্কে আপনার ক্লায়েন্ট দ্বন্দ্ব সংক্রান্ত তথ্য জানাতে চেষ্টা করছেন। আমি আপনার মনে কি কি একটি ভাল উপায় মনে করতে পারে না। একটি বিকল্প একটি দ্বিতীয় DNS এন্ট্রি সেট আপ হতে পারে একটি রেকর্ড vpnserver.foo.com যা একই IP কে server.foo.com হিসাবে নির্দেশ করে এবং তারপরে আপনার OpenVPN কনফিগারেশনটি ব্যবহার করার জন্য এটি পরিবর্তন করুন।


1
2018-03-16 17:43



ধন্যবাদ তোমার উত্তরের জন্য. আমি একই জিনিস নিয়ে ভাবছি, এবং ওপেন ভিপিএন ক্লায়েন্ট কনফিগারে সার্ভারের বাইরের আইপি ঠিকানায় সার্ভারের URL টি ফাইল করা হয়েছে। সুতরাং এখন এটি server.foo.com ব্যবহার করে না এবং এটি সংযোগ করার আগে একটি DNS সন্ধান করে না। তবে এটি এখনও কাজ করে না। আগে একই সমস্যা। অন্যান্য URL গুলি VPN নেটওয়ার্কে সঠিকভাবে সমাধান করা হয় (উদাঃ server2.foo.com), তবে মূল URL নয়। সম্ভবত এটি আইপি মনে করে এবং বিপরীত DNS সন্ধান করে এবং সংশ্লিষ্ট URL টি সংরক্ষণ করে? - Michael
যে খুব কাজ করবে। যেমন, সার্ভার কনফিগারেশনের জন্য আপনি যদি DNS চান তবে আপনাকে সম্ভবত vpn.foo.com মত একটি ভিন্ন নাম বাছাই করতে হবে। - cjc
কিন্তু আমি নিশ্চিত যে এটি কিছু উপায়ে করা যেতে পারে। আমি জানি যে VPN এর মধ্যে থাকার সময় একটি বিকল্প URL ব্যবহার করা সহজ হবে, তবে ছোট জিনিসগুলি আমার মতো বাগ করবেন :) কোনও কনফিগারেশন ফাইলের মধ্যে একটি সুইচ থাকা উচিত যা ক্লায়েন্টগুলিতে যে পুনঃনির্দেশটি ঘটতে বাধ্য করে। আপনার সাহায্যের জন্য যদিও ধন্যবাদ! - Michael


যদিও খুব দেরি হয়ে গেছে কিন্তু এক সম্ভাব্য কাজকর্মটি টানেলের মাধ্যমে সমস্ত ক্লায়েন্ট ট্র্যাফিককে বিচ্ছিন্ন করতে পারে (যদি ক্লায়েন্ট দৃশ্যটি এটি অনুমোদন করে)। আপনি আপনার সার্ভারের কনফিগারেশন ফাইলে নিম্নলিখিত নির্দেশাবলী যোগ করার প্রয়োজন। উদাহরণস্বরূপ ধাক্কা "পুনঃনির্দেশ-গেটওয়ে def1" বিস্তারিত জানার জন্য এখানে এই ভাবে ক্লায়েন্ট পাবলিক DNS জন্য চেক করবে না।


0
2017-08-01 18:47