আমাকেও সম্প্রতি একই রকম কাজ করতে হয়েছিল এবং অনুসন্ধানে এই উত্তরটি এসেছিল। দুর্ভাগ্যক্রমে, নাফির উত্তরগুলি ipfwহ'ল যা এখন অবহিত এবং ওএসএক্সে অনুপলব্ধ; এবং কেভিন লিয়ারির উত্তরটি আসলে কিছুটা হ্যাকিশ। সুতরাং আমাকে আরও ভাল কিছু (ক্লিনার) তৈরি করতে হয়েছিল এবং এটি উত্তরোত্তর জন্য এখানে ভাগ করে নেওয়ার সিদ্ধান্ত নিয়েছে। এই উত্তরটি মূলত পদ্ধতির পদে উল্লেখিত উপর ভিত্তি করে তৈরি এই সারকথা ।
ওপি যেমন উল্লেখ করেছে, 192.168.99.100 এ একটি ব্রাউজার দেখানো লোকালহোস্ট: 8000 এ কোনও সার্ভারের কাছ থেকে প্রতিক্রিয়া পাওয়া উচিত। একটি উপনাম যুক্ত করা ifconfigসত্যিই প্রয়োজনীয় নয়, pfctlএকা যথেষ্ট: pf.confফাইলটি /etc/pf.confসংশোধন করতে হবে এটি অর্জনের জন্য।
আমরা প্রথমে (উবুন্টু সঙ্গে) একটি নতুন নোঙ্গর ফাইল (এটা কল দিন তৈরি redirectionকরুন): /etc/pf.anchors/redirection। এটি মুলত একটি নিয়মিত টেক্সট ফাইল এবং (ঠিক কেভিন Leary এর উত্তরে মত) নিম্নলিখিত লাইন রয়েছে: rdr pass on lo0 inet proto tcp from any to 192.168.99.100 port = 80 -> 127.0.0.1 port 8000। নতুন অ্যাঙ্কর ফাইলটি তৈরি হয়ে গেলে, ফাইলের মধ্যে এটি উল্লেখ করা দরকার pf.conf। pf.confSudo দিয়ে ফাইলটি খুলুন এবং rdr-anchor "redirection"শেষ rdr-anchor লাইন (যা rdr-anchor "com.apple/*") এর পরে যুক্ত করুন load anchor "redirection" from "/etc/pf.anchors/redirection"এবং শেষে যুক্ত করুন।
শেষ পর্যন্ত, pf.conf ফাইলটি দেখতে এমন হওয়া উচিত:
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
rdr-anchor "redirection" #added for redirection/port forwarding
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
load anchor "pow" from "/etc/pf.anchors/redirection" #added for redirection/port forwarding
এবং এটি প্রায় এটি। প্রথমে এটি অক্ষম করার জন্য pfctlজারি করে পুনরায় চালু করুন sudo pfctl -dএবং তারপরে sudo pfctl -fe /etc/pf.confএটি আবার শুরু করুন।
এখন, আপনার যদি প্রতিটি পুনঃসূচনা হওয়ার পরে pfctlস্বয়ংক্রিয়ভাবে এটির প্রয়োজন হয় তবে আর একটি ছোট্ট কাজ করা দরকার: প্রবর্তন ডেমোনটি আপডেট করা দরকার (রেফারেন্সড গিস্ট উল্লেখ করেছে যে পিএফ বুটে স্বয়ংক্রিয়ভাবে সক্ষম হয়ে গেছে, তবে এটি মনে হয় না) কোডটি দেখার থেকে কেস)। (Sudo সহ) খুলুন System/Library/LaunchDaemons/com.apple.pfctl.plistএবং এটি দেখুন:
<array>
<string>pfctl</string>
<string>-f</string>
<string>/etc/pf.conf</string>
</array>
এবং লাইনটি <string>-e</string>শেষ পর্যন্ত এটির মতো করে যুক্ত করুন:
<array>
<string>pfctl</string>
<string>-e</string>
<string>-f</string>
<string>/etc/pf.conf</string>
</array>
যা করা উচিৎ.
ক্যাভিয়েট : অ্যাপল আর লঞ্চ রাক্ষস ফাইলগুলি ঠিক তেমনভাবে পরিবর্তন করতে দেয় না (সুডো, না চমড, না অন্য কোনও কিছু দিয়ে)। শুধুমাত্র পথ সঙ্গে মেরামত হয় সিস্টেম ইন্টিগ্রিটি প্রোটেকশন পুনরুদ্ধার মোড এবং লঞ্চ টার্মিনাল মধ্যে বুট: সেটিংস। এর সাথে এসআইপি স্থিতি পরীক্ষা করুন csrutil status, এটি সাধারণত সক্ষম করা উচিত। এটির সাথে অক্ষম করুন csrutil disableএবং স্বাভাবিক মোডে রিবুট করুন এবং তারপরে উপরের আলোচনা অনুসারে প্লাস্ট ফাইলটিতে পরিবর্তনগুলি করুন। একবার হয়ে গেলে, পুনরুদ্ধার মোডে ফিরে যান এবং জারি করে সুরক্ষাটি পুনরায় সক্ষম করুন (এটি যথাযথ কারণে রয়েছে) জারি করে csrutil enable।
ব্যাখ্যা: লোকালহোস্ট লো -0 এর জন্য ইতিমধ্যে (ডিফল্ট) উলাম যে কমান্ডটি জারি করা হয়েছে তা পরীক্ষা করে দেখতে পারেন - এই সত্যটি লোকালহোস্টের জন্য অতিরিক্ত অতিরিক্ত নাম যুক্ত না করা এবং কেবলমাত্র ফাইলে ডিফল্ট ঠিকানা ব্যবহার করার জন্য ব্যবহৃত হচ্ছে ।ifconfig127.0.0.1pf.conf
আপডেট: দুর্ভাগ্যক্রমে, দেখে মনে হচ্ছে প্রারম্ভকালে ফাইলটি লোড করা কাজ করে না। এটি বাছাই করার জন্য আমি এখনও সাহায্য পাওয়ার চেষ্টা করছি। ততক্ষণে, sudo pfctl -f /etc/pf.confশুরু করার পরে দৌড়ানো কৌতুকটি করে।