আমি উবুন্টু ১১.১০ চালাচ্ছি - অন্যান্য অনেক সার্ভারের মধ্যে একটি ডিরেক্টরি ভাগ করে নেওয়ার জন্য এনএফএস সেটআপ করছি। ফায়ারওয়ালে কোন বন্দরগুলি খুলতে হবে?
আমি উবুন্টু ১১.১০ চালাচ্ছি - অন্যান্য অনেক সার্ভারের মধ্যে একটি ডিরেক্টরি ভাগ করে নেওয়ার জন্য এনএফএস সেটআপ করছি। ফায়ারওয়ালে কোন বন্দরগুলি খুলতে হবে?
উত্তর:
$ rpcinfo -p | grep nfs
এনএফএস সার্ভারের জন্য পোর্ট 111 (টিসিপি এবং ইউডিপি) এবং 2049 (টিসিপি এবং ইউডিপি)।
ক্লাস্টার এবং ক্লায়েন্টের স্থিতির জন্য পোর্ট (পূর্বের জন্য পোর্ট 1110 টিসিপি, এবং পরবর্তীগুলির জন্য 1110 ইউডিপি) পাশাপাশি এনএফএস লক ম্যানেজারের জন্য একটি পোর্ট (পোর্ট 4045 টিসিপি এবং ইউডিপি) রয়েছে। কোন পরিষেবাগুলি ক্রস-গেটওয়ে প্রয়োজন তার উপর নির্ভর করে আপনাকে কোন বন্দরগুলির অনুমতি দেওয়ার দরকার তা কেবলমাত্র আপনি নির্ধারণ করতে পারেন।
grep nfsদেখিনি, তবে 111 এর জন্য রয়েছে তা শিখতে আমি গ্রেপটি ছেড়ে দিয়েছি portmapper। জেনে রাখাও ভাল! (এবং আপনি যেমন উল্লেখ করেছেন, প্রয়োজনীয় হিসাবে)
111 এবং পোর্টম্যাপারের জন্য 2049 এবং এনএফএস-এর জন্য, আপনাকে মাউন্ট পোর্ট এবং সম্ভবত রিকোটাড, লকড এবং স্ট্যাটেডের অনুমতি দিতে হবে যা সমস্ত গতিশীল হতে পারে। এই দুর্দান্ত এনএফএস সুরক্ষা গাইডটি আপনার স্টার্টআপ স্ক্রিপ্টগুলি এবং স্ট্যাটিক পোর্টগুলি ব্যবহার করতে বাধ্য করার জন্য কার্নেল মডিউল কনফিগারেশন পরিবর্তন করার পরামর্শ দেয়।
উপরের গাইড ছাড়াও, যার ফায়ারওয়ালগুলির একটি বিভাগ রয়েছে, এনএফএসকে শক্ত করার বিষয়ে অন্য প্রশ্নের আমার উত্তর দেখুন ।
RPCMOUNTDOPTS="--port 34567"এবং তারপর পুনর্সূচনা sysctl --systemএবং/etc/init.d/nfs-kernel-server restart
আমি এই পৃষ্ঠায় আমার সমস্যার জন্য দরকারী দিকনির্দেশগুলি পেয়েছি, তবে রেসিপি অনুসরণ করা সহজ ছিল না। সুতরাং এখানে আমার রেসিপি।
টিএল; ডিআর - এটি ঠিক করার পরে উভয় এনএফএস পোর্ট (111, 2049) এবং মাউন্ট পোর্টের অনুমতি দেওয়া দরকার।
নির্দেশাবলী:
gksudo gedit /etc/default/nfs-kernel-server
RPCMOUNTDOPTS=--manage-gidsRPCMOUNTDOPTS="--port 33333"বা অন্য কোনও বন্দর নম্বর।
এখন ব্যবহার করে এনএফএস পুনরায় সেট করার চেষ্টা করুন:
sudo service nfs-kernel-server restart
এবং এটি ব্যবহারে সহায়তা করে কিনা পরীক্ষা করুন:
rpcinfo -p | grep "tcp.*mountd"
আমার জন্য এটি যথেষ্ট ছিল না, তবে পুরোপুরি পুনঃসূচনাটি সমস্যার সমাধান করেছে।
( creditণ )
(1) পুরানো নিয়ম মুছুন, ম্যানুয়ালি এটি করুন বা ফায়ারওয়ালের জন্য যদি এটিই একমাত্র ব্যবহার হয় তবে পুনরায় সেট করুন:
sudo ufw reset
sudo ufw enable
(২) এনএফএস এবং মাউন্ট করা পোর্ট যুক্ত করুন
sudo ufw allow in from 10.0.0.1/20 to any port 111
sudo ufw allow in from 10.0.0.1/20 to any port 2049
sudo ufw allow in from 10.0.0.1/20 to any port 33333
(আপনার স্থানীয় আইপি বা এর anyপরিবর্তে " " এ পরিবর্তন করুন 10.0.0.1/20)
এটুকুই আছে।
sudo service nfs-config restartপুনরায় চালু করার আগে একটি সাধারণ nfs-kernel-serverউইল ঠিকঠাক করে।
systemctl, এটি systemctl restart nfs-kernel-server.service।
sudo nfs allow proto tcp from 10.0.0.1/20 to any port 111,2049,33333পরে (ঠিক আছে, দুটি ফোলা ফোপস) sudo nfs allow proto udp from 10.0.0.1/20 to any port 111,2049,33333। নোট পোর্ট 33333 উপরের উদাহরণ অনুযায়ী। উত্তরটি নির্দেশিত হিসাবে আপনি অন্য একটি বন্দর ব্যবহার করতে পারেন।
এটি সমস্ত এনএফএস-সম্পর্কিত প্রোগ্রাম দ্বারা ব্যবহৃত সমস্ত পোর্টের একটি তালিকা দেবে:
rpcinfo -p | awk '{print $3" "$4}' | sort -k2n | uniq
ফার্মের মাধ্যমে আরপিসিইনফো থেকে পোর্টগুলি পেতে ব্যাকটিক্স ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ:
সার্ভার:
proto tcp {saddr ($CLIENT) {
dport (`rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:tcp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}
proto udp {saddr ($CLIENT) {
dport (`rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:udp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}
ক্লায়েন্ট:
proto udp {saddr ($SERVER) {ACCEPT;}} # NFS
(আপনি যদি কেবলমাত্র টিসিপি ব্যবহার করতে চলেছেন তবে আপনার কেবলমাত্র proto tcpঅংশটি প্রয়োজন )।
রেকর্ডগুলির জন্য, আমাকে একটি কনফিগারেশনের জন্য 111, 2049 এবং 1048 পোর্টগুলির জন্য অনুমতিগুলি যুক্ত করতে হয়েছিল যেখানে উইন্ডোজ 2008 আর 2 সার্ভার দ্বারা একটি এনএফএস শেয়ার রফতানি হয় এবং ক্লায়েন্টরা উবুন্টু 12.04.4 হয়।
আমি আশা করি এটা কারো সাহায্যে লাগবে.