ওএস এক্সে নির্দিষ্ট ইন্টারফেসের মাধ্যমে আইপি রুটকে কীভাবে নির্দেশ করবেন?


40

আমি একটি ম্যাকের সাথে রয়েছি এবং আমার ওয়াইফাই সংযোগের একটি নির্দিষ্ট গেটওয়ে সত্ত্বেও একটি নির্দিষ্ট ঠিকানাটি রুট করার চেষ্টা করছি।

আমি ব্যাবহার করছি:

route add -host 54.81.143.201 192.168.15.1

কখনও কখনও এটি কাজ করবে, অন্য সময় এটি অভ্যাস করবে না। যা আমি পেয়েছি তা হ'ল এটি যে ইন্টারফেসটি চয়ন করে তা প্রতিবারই আলাদা। এটি en0কাজ করা প্রয়োজন

netstat -nr আউটপুট যখন এটি কাজ করে না:

54.81.143.201      192.168.15.1       UGHS            1       89     en5

এটি যখন কাজ করে তখন এটি হয়: (নোট এন0)

54.81.143.201      192.168.15.1       UGHS            0        1     en

আমি কেন এটা করছি? কারণ আমাদের সংস্থার একটি প্রক্সি রয়েছে যা হিপচ্যাট কাজ করে না। তাই আমি এখনও আমার ওয়ার্কের ইথারনেটে থাকাকালীন একটি ওপেন ওয়াইফাই নেটওয়ার্কের মাধ্যমে হিপচ্যাটের ট্র্যাফিকের পথটি নিচ্ছি।

সম্পাদনা করুন:

আমি কেবল ইন্টারফেস ব্যবহার করে এন্ট্রি যুক্ত করার চেষ্টা করেছি

route add -host 54.81.143.201 -interface en0

54.81.143.201      78:31:c1:c7:52:74  UHS             0        2     en0

হিপচ্যাট সংযোগ করতে ব্যর্থ।

সম্পাদনা 2: কেউ আমার পুরো রাউটিং টেবিলের জন্য জিজ্ঞাসা করেছিলেন, এটি আজ এখানে। মনে রাখবেন যে 54.81.143.201 এখন en3 এর সাথে আবদ্ধ এবং এন0 নয়

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.7.90.1          UGSc           31        6     en3
10.7.90/24         link#4             UCS             4        0     en3
10.7.90.1          0:23:ac:3d:db:c2   UHLWIir        16        0     en3   1200
10.7.90.44         40:6c:8f:19:4a:bb  UHLWI           0        3     en3    946
10.7.90.63         127.0.0.1          UHS             0        0     lo0
54.81.143.201      192.168.15.1       UGHS            0        0     en3
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              3      209     lo0
169.254            link#4             UCS             1        0     en3
169.254.255.255    0:23:ac:3d:db:c2   UHLSW           0        0     en3

যে ক্ষেত্রে এটি কাজ করে না তার জন্য পূর্ণ রাউটিং টেবিলটি পোস্ট করুন। 192.168.15.1 en5 এর মাধ্যমে কি অ্যাক্সেসযোগ্য? যদি তাই হয়, কেন এটি কাজ করে না? যদি তা না হয় তবে এই রুটটি কীভাবে যুক্ত হয়েছে তা দেখা মুশকিল।
ডেভিড শোয়ার্জ

@ ডেভিডশওয়ার্টজ, এটিই আমার কাছে আকর্ষণীয়। 192.168.15.1 en5 এর মাধ্যমে অ্যাক্সেসযোগ্য নয়। বিষয়টি যখন সঠিকভাবে en0 এ নিয়োগ করা হয় তখন কাজ করে works
শান 256

আমাদের রাউটিং টেবিল বা এন 5 এর কনফিগারেশন প্রদর্শন করুন। রুটটি সেভাবে ইনস্টল হওয়ার কোনও কারণ থাকতে হবে এবং সম্ভবত এটিই আসল সমস্যা।
ডেভিড শোয়ার্জ

পছন্দ করুন আমি এখন আমার পুরো রাউটিং টেবিলটি পোস্ট করছি।
শান 256

আপনি যে রাউটিং টেবিলটি দেখিয়েছেন en3তা স্পষ্টভাবে সঠিক। 192.168.15.1 অন্য কোনও ইন্টারফেসের মাধ্যমে পৌঁছনীয় নয়। সেই রাউটিং টেবিলের 192.168.15.1 এ পৌঁছানোর একমাত্র উপায়টি কি ডিফল্ট রুট দিয়েই যায়? (কথায় কথায়, মনে হচ্ছে আপনি কী করছেন সে সম্পর্কে আপনার কোনও ধারণা নেই You আপনি অবাক হবেন বলে মনে হয় যে সিস্টেমটি অসম্ভবটি করছে না))
ডেভিড শোয়ার্জ

উত্তর:


34

চেষ্টা করুন:

route add -host 54.81.143.201 -interface en0

2
এটি চেষ্টা করার পরে আমি এটিই পাই: রুট: খারাপ ঠিকানা: en0
Sean256

দুঃখিত, এটি পরীক্ষা করার জন্য আমার কাছে ম্যাক নেই। দেখে মনে হচ্ছে সিনট্যাক্সটি ভুল ছিল। আমি উত্তরটি পরিবর্তন করেছি। আবার চেষ্টা করুন.
drk.com.ar

1
দুঃখের সাথে একই জিনিস -> রুট: খারাপ ঠিকানা: en0
Sean256

আবার চেষ্টা কর. এবার আমি গেটওয়ে সরিয়েছি। এছাড়াও, আপনি আইপি কনফিগারেশন জড়িত দেখতে আপনার প্রশ্নে ifconfig আউটপুট যোগ করতে পারেন?
drk.com.ar

আমি কেবল এটি চেষ্টা করেছি (আসলে আমারও আগে ছিল) এবং এটি আমার টেবিলে একটি এন্ট্রি যুক্ত করে, এটি সমস্যার সমাধান করে না। হিপচ্যাট সংযোগ করতে ব্যর্থ। রাটিং টেবিলটিতে এমনভাবে প্রবেশ করার সময় এখানে প্রবেশ রয়েছে -> 54.81.143.201 78: 31: c1: c7: 52: 74 UHS 0 2 en0
Sean256

3

অন্যরা ইঙ্গিত হিসাবে, এটি আসলে 3 সমস্যা।

  1. আপনার ওয়্যারলেস ইন্টারফেসটি en0, en3 এবং en5 এর মধ্যে পরিবর্তিত হচ্ছে বলে মনে হচ্ছে।

    আমার ম্যাকবুক এয়ারে, এন0 সর্বদা ওয়্যারলেস থাকে; থান্ডারবোল্ট থেকে ইথারনেট সর্বদা এন 3 থাকে এবং ইউএসবি থেকে ইথারনেট সর্বদা এন 5 থাকে। তবে আপনি যদি আপনার ম্যাকের কোনও অন্য বন্দরে কোনও অ্যাডাপ্টারটি প্লাগ করেন তবে তার এনআইসি নাম পরিবর্তন হবে। আপনার প্রথমে এটি সমাধান করা দরকার। আপনার ওয়্যারলেসের সর্বদা একই নাম রয়েছে তা নিশ্চিত করুন। অন্যথায় আপনি যখন স্থিতিশীল রুট কমান্ডটি প্রবেশ করেন, লোকেশনটিতে কোনও এনআইসি প্লাগ ইন না করা থাকলে en0, আদেশটি (স্পষ্টতই) "ঠিকানা ত্রুটিতে" ব্যর্থ হবে (শারীরিক ঠিকানার কোনও লিঙ্ক নেই)।

    তেমনি, নিশ্চিত হয়ে নিন যে অ্যাডাপ্টার সর্বদা একই এসএসআইডিতে সংযুক্ত থাকে। গেটওয়ের ঠিকানা স্পষ্টতই সাবনেটের জন্য বৈধ হতে হবে এবং বিভিন্ন ওয়াইফাই নেটওয়ার্কের বিভিন্ন সাবনেট থাকবে। এটি অন্য ধরণের ত্রুটি সৃষ্টি করতে পারে।

    ওয়্যারলেসটি যদি আপনার একমাত্র নেটওয়ার্ক সংযোগ হয় তবে আপনি নির্দিষ্ট করেন নি। উপরেরটি দেওয়া, আমার ধারণা না ...? ভিএমওয়্যার বা সমান্তরালগুলির কারণে এই এবং ভার্চুয়াল নেটওয়ার্কিং অতিরিক্ত জটিলতার কারণ হতে পারে। (উদাহরণস্বরূপ, যদি উভয় সংযুক্ত নেটওয়ার্ক একই আইপি স্পেস ব্যবহার করে ... ভার্চুয়াল মেশিনগুলি প্রায়শই ব্রিজ হয় এবং তাদের নিজস্ব আইপি / রুট / লিঙ্ক থাকে ...) নেটওয়ার্ক টপোলজি পোস্ট করতে সহায়তা করবে।

  2. একবার যে সম্পন্ন হয় চেষ্টা sudo route add -host 54.81.143.201 -iface en0বা sudo ipfw। আপনি যদি অ্যাডাপ্টারের নাম সম্পর্কে নিশ্চিত না হন তবে আপনি এর পরিবর্তে এর ম্যাক ঠিকানাটি নির্দিষ্ট করতে পারেন:sudo route add -host 54.81.143.201 -link 14:10:9f:e7:fd:0a

    সম্পর্কিত: https://discussion.apple.com/thread/5049994?searchText=policy%20route

  3. আপনি যদি পুনরায় বুট করেন তবে এটি অবিরত নাও থাকতে পারে। এটি আলাদাভাবে পরিচালনা করতে হবে।



2

আমি -linkকোনও ম্যাক ঠিকানা নির্দিষ্ট করার বিকল্পটি ব্যবহার করে একটি ইন্টারফেস জুড়ে একটি রুট যুক্ত করতে সক্ষম হয়েছি ।

route add -host 54.81.143.201 -link [mac addr of 192.168.15.1 on en0]

54.81.143.201এটি উপযুক্ত ইন্টারফেসের জন্য ট্র্যাফিক প্রেরণ করবে ।

আপনার দুটি পৃথক 192.168.15.*হোস্ট ঠিকানা নিযুক্ত করা আছে, প্রতিটি ইন্টারফেসের একটি, ঠিক আছে? অন্যথায়, আপনি কোনও ইন্টারফেসের বাইরে ট্র্যাফিক প্রেরণ করতে পারেন, তবে প্যাকেটগুলির যে কোনও উত্স আইপিতে ট্র্যাফিক ফিরে আসবে।


সুতরাং আমি ম্যাক অ্যাডার ব্যবহার করে আপনি যা পরামর্শ দিয়েছিলেন তা চেষ্টা করে দেখেছি এবং আজবভাবে আমার রাউটিং টেবিলটি এন 3 এর জন্য এন 3 এর জন্য একটি এন্ট্রি দেখায় -> 54.81.143.201 00: 1d.88.4a.21.da ইউজিএইচএস 0 0 এন 3
Sean256

আপনি যখন 'আরপ-কান' করেন, তখন আপনার কোন প্রবেশিকা রয়েছে ...?
নেভিন উইলিয়ামস

2

এই সমাধানটি সর্বশেষ MacOS 10.12 (সিয়েরা) এ কাজ করে। এখানে সারকথা

#!/bin/bash

# NOTE: wifi network interface is: en1
wifi_router=192.168.200.1
wifi_address=en1:ec.35.86.4f.00.cc
TOADDR=`ifconfig en1 inet | sed -nl 's/\w*inet \([^ ]*\).*/\1/p'`
TO=`echo -n ${TOADDR//[[:space:]]}`

echo "ADDING ROUTE TO $1 VIA en1 (wi-fi): $TO"
route -n add -host $1 $wifi_router -ifp $wifi_address -ifa $TO -static

echo ""
echo "ROUTE ADDED:"
route get $1

এটি ব্যবহার করুন:

> sudo ./route_wifi.sh IP_ADDRESS

এটি ধরে নিয়েছে যে ওয়াইফাই ইন্টারফেসটি হ'ল: এন 1

Wifi_router এবং wifi_address ভেরিয়েবলের জন্য সঠিক মান রাখতে ভুলবেন না । ওয়াইফাই_এড্রেস ফর্ম্যাটটি নোট করুন , যা: নেটওয়ার্ক ইন্টারফেসের নাম ' : ' এর সাথে ইন্টারফেস ম্যাক ঠিকানা ' ' বিভেদক । নিশ্চিত যে বেশিরভাগ প্রয়োজনীয় তথ্য ifconfig কমান্ড আউটপুট থেকে বের করা যায় , তবে আমি তার জন্য খুব অলস =)


সুপারউজারে আপনাকে স্বাগতম। আপনার পোস্টে লিঙ্ক থেকে সর্বাধিক প্রাসঙ্গিক তথ্য ধারণ করার চেষ্টা করুন। এটি সম্পর্কে এখানে আরও পড়ুন ।
স্টাইরোফোন ফ্লাই

1

ওএস এক্স routeকমান্ডটি এখানে নথিভুক্ত করা হয়েছে-ifscopeপরামিতি এবং তার মান আপনি একটি ইন্টারফেস-বাউন্ড রুট নির্দিষ্ট করার অনুমোদন দেবে।

এটি অবশ্য আপনি যা চান তা নয়। আপনাকে আপনার নেটওয়ার্কগুলি ঠিক করতে হবে যাতে তাদের আইপি রেঞ্জগুলি অনন্য। এর বাইরে, ইন্টারফেস মেট্রিক্স (ওরফে অগ্রাধিকারগুলি) প্রভাবিত করে কোন ইন্টারফেসটি অন্যথায় সমান সুবিধাজনক বিকল্প থেকে বেছে নেওয়া হয়েছে।


-1

সুতরাং যে ভেন্ডর সার্ভারটি আপনি দাবি করছেন সেই পরিষেবা "হিপচ্যাট" সম্পর্কিত 54.81.143.201? এই ক্ষেত্রে, আমি এটিকে আরও বড় পরিসরের জন্য 54.81.143.0 255.255.255.0 এর জন্য একটি রাউটিং এন্ট্রি করব। সম্ভবত সফ্টওয়্যারটি ব্যবহার করার সময়, আপনি সর্বদা এই নির্দিষ্ট সার্ভারের সাথে কথা বলছেন না, তবে তাদের একই ক্লাবটি একই সাবনেটে 54.81.143.0/24। এছাড়াও, অতিরিক্ত, নতুন এন্ট্রি তৈরি করার সময় আপনার রুট মেট্রিকগুলি সঠিক কিনা তা নিশ্চিত করুন। আপনি যদি 54.81.143.0/24 192.168.15.1 মেট্রিক 20 এন 5-তে কোনও রুট তৈরি করেন তবে 0.0.0.0/0 10.7.90.1 মেট্রিক 10 এন0-এ যাওয়ার রুটও রয়েছে। কম্পিউটারটি আপনার নতুন এন্ট্রিটিকে উপেক্ষা করবে এবং ট্র্যাফিককে ডিফল্ট রুটে (এন0 এর মাধ্যমে) রুট করা চালিয়ে যাবে কারণ এটি আরও বেশি পছন্দসই। আমি এই মাধ্যমে ঝাঁকুনি এবং এটি নির্দেশ করতে চেয়েছিলেন। চিয়ার্স!


-1

আপনার এনআইসির নাম যুক্ত করার চেষ্টা করা উচিত:

route add -net 10.13.0.0 netmask 255.255.0.0 dev NicNameHere

এটি সেন্টোসে আমার জন্য কাজ করে।


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