ম্যাক ওএস এক্সে টার্মিনাল (বা স্ক্রিপ্ট) থেকে ডিএনএস সার্ভার পরিবর্তন করুন


29

আমি কীভাবে ম্যাক ওএস এক্সের টার্মিনাল থেকে আমার ডিএনএস সার্ভারটি পরিবর্তন করতে পারি? [আমার এটি দরকার কারণ আমার ডিএনএস আমার ভিপিএন এর সাথে সঠিকভাবে কাজ করছে না। কখনও কখনও এটি আমার মূল সংযোগের জন্য ডিএনএস ব্যবহার করে, এবং কখনও কখনও এটি ভিপিএন (যা এটি হওয়া উচিত) এর জন্য নির্দিষ্ট ডিএনএস ব্যবহার করে]]

উত্তর:


15

আপনি scutilটার্মিনাল থেকে ইন্টারেক্টিভভাবে ব্যবহার করতে পারেন । sudo scutilএই ডিমান্ডগুলি চালনা করুন এবং চালনা করুন, যেখানে উপযুক্ত হবে সেখানে আপনার ডিএনএস সার্ভারগুলি অদলবদল করুন:

> খোলা
> d.init
> d.add সার্ভার অ্যাড্রেসস * 8.8.8.8 9.9.9.9
> স্থিতি স্থিতি: / নেটওয়ার্ক / পরিষেবা / PRIMARY_SERVICE_ID / ডিএনএস
> ছেড়ে দিন

আপনার ডিএনএস সার্ভারগুলি ব্যবহার 8.8.8.8এবং 9.9.9.9ব্যবহার করার পরিবর্তে ।

কেবল সমস্যাটি হ'ল এটি পুনরায় বুটগুলি জুড়ে অবিরাম নয় । আপনি যদি স্থায়ী পরিবর্তন চান, আপনি ncutil চাইবেন/etc/resolv.confওএস এক্স এর নতুন সংস্করণগুলিতে সম্পাদনা যথেষ্ট নয় কারণ কনফিগার করা এখন বর্তমান সেটিংসের তথ্য সংরক্ষণ করার জন্য একটি ডাটাবেস ব্যবহার করে, যা অন্যান্য অ্যাপ্লিকেশনগুলি পড়ে। কিছু অ্যাপ্লিকেশন এখনও পড়বে /etc/resolv.conf (উদাহরণস্বরূপ হোস্ট), যদিও এটি সমস্ত অ্যাপ্লিকেশনের ক্ষেত্রে নয়।


2
8.8.8.8 একটি বৈধ, যদিও। গুগলের পাবলিক ডিএনএস। 8.8.4.4 গৌণ হয়। :-)
সেমিকোলন ভুলে

আমি জানি, আমি এটি ব্যবহার করি :)
জন টি

1
এটা করা উচিত। আপনি scutil --dnsনিশ্চিত করতে ব্যবহার করতে পারেন ।
জন টি

2
এটি আমার ম্যাক ওএসএক্স ১০..5.৫ এমবিপি-তে কাজ করবে বলে মনে হচ্ছে না, অন্তত আক্ষরিক অর্থে সম্পন্ন করার পরে নয়। আমি কি set State:/Network/Service/PRIMARY_SERVICE_ID/DNSলাইনে কিছু প্রতিস্থাপন করা উচিত বা আমি এটি যেমনটি ব্যবহার করতে পারি? নতুন ডিএনএস সার্ভারগুলি scutil --dnsপরিবর্তনের পরে আউটপুটে প্রদর্শিত হবে?
এসএসসি

2
@ এসএসসি চালান scutilঅনুসরণ করে > listPRIMARY_SERVICE_ID এর সাথে প্রতিস্থাপনের কীটি সন্ধান করুন।
জে.মনি

46

আপনি ব্যবহার করতে পারেন networksetup:

sudo networksetup -setdnsservers <networkservice> DNS1, DNS2, DNS3

উদাহরণস্বরূপ (বিমানবন্দর সংযোগটি গুগলের ডিএনএস সার্ভার ব্যবহার করে)

sudo networksetup -setdnsservers AirPort 8.8.8.8 8.8.4.4

আপনি চালিয়ে নেটওয়ার্ক পরিষেবাটির নাম জানতে পারেন networksetup -listallnetworkservices। এটি সম্ভবত 'Wi-Fi' হবে be

এটি একইরূপে যদি আপনি সিস্টেম পছন্দসমূহে নেটওয়ার্ক পছন্দসই ফলকে প্রবেশ করতে চলেছেন তবে এটি পুনরায় বুট করার জন্য অবিচ্ছিন্ন।

আপনি যখন স্নো চিতাবাঘের একটি ডিএনএস ইস্যুতে ছুটে যাচ্ছেন তখন ঘটবে যখন ডিএনএস সার্ভারের আদেশের পরিবর্তনগুলি অনুসন্ধান করা হবে (প্রশ্নটি দেখুন ৮৪১৪৪ ))


বাহ, 84144 হ'ল আমার সমস্যা হচ্ছে। এখনও এই সমস্ত প্রক্রিয়া .... অনেক ধন্যবাদ আপনাকে!
ড্যান রোজনস্টার্ক

6
ডিএনএস অপসারণ করতে sudo networksetup -setdnsservers <networkservice> empty
ইচ্ছুককে

14

চেলিওনের পোস্টের জবাব দেওয়ার মতো পর্যাপ্ত পয়েন্ট আমার কাছে নেই তবে এতে যোগ করার জন্য আমি ইন্টারফেসগুলি তালিকাবদ্ধ করে শুরু করব

networksetup -listallnetworkservices

আপনি যখন ইন্টারফেসটি পরিবর্তন করতে চান তা নীচে করতে পারেন (আমি Wi-Fi ব্যবহার করছি তবে আপনি অন্য কোনও ইন্টারফেস করতে পারেন)

sudo networksetup -setdnsservers Wi-Fi empty
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
sudo killall -HUP mDNSResponder

উপরের প্রথম লাইনটি ডিএনএস সেটিংস খালি করে দেবে তারপরে এটি ডিএনএস সার্ভারের সাথে অনুসরণ করুন যা আমরা ব্যবহার করতে চাই এবং ডিএনএস ক্যাশে সূক্ষ্মভাবে সাফ করতে চাই

ডিএনএস পরিবর্তন যাচাই করতে আপনি এটি আগে এবং পরে বা পরে সহজভাবে করতে পারেন

scutil --dns | grep 'nameserver\[[0-9]*\]'

যে কেউ এই পৃষ্ঠা জুড়ে হোঁচট খেয়েছে। আমার এখন গিটহাবের একটি সংক্ষেপ রয়েছে যা সাহায্য করা উচিত। gist.github.com/dkittell/34fe7b7422323fba546948b7448933a5
ডেভিড কিটেল

1

resolv.conf ওএসএক্সে আর কাজ করে না। নীচে নীচে সেই ফাইলের শীর্ষে একটি বিজ্ঞপ্তি রয়েছে:

#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
#   scutil --dns
#
# SEE ALSO
#   dns-sd(1), scutil(8)
#
# This file is automatically generated.
#

এছাড়াও, networksetup -listallnetworkservicesসমস্ত ভিপিএন ইন্টারফেসের তালিকা করে না।

ডান ইন্টারফেসটিকে লক্ষ্য করে স্কিউটিলটি ব্যবহার করার একটি উপায় এখানে রয়েছে: ১. commands.txtইন্টারেক্টিভ স্কুটিল সরঞ্জামটির জন্য আপনার আদেশগুলি দিয়ে একটি ফাইল তৈরি করুন । যেমন আমার ক্ষেত্রে পালস সুরক্ষিত ইন্টারফেসের জন্য সামগ্রী:

get State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
d.add ServerAddresses * 8.8.8.8 9.9.9.9
set State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
  1. পাইপযুক্ত কমান্ডগুলি দিয়ে স্কুটিল চালান ((আপনার জন্য সুডোর প্রয়োজন set)
sudo scutil < commands.txt

0

আপনি এটি /etc/resolv.conf সম্পাদনা করে সক্ষম হবেন (মনে রাখবেন resolv.conf রিবুটের পরে পুনরায় সেট করা হয়েছে), আশা করি এটি সহায়তা করে - http://developer.apple.com/mac/library/docamentation/Darwin/References/ manpages / man5 / resolver.5.html


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