रूटिंग टेबल में स्थायी बदलाव करें


10

मेरे पास रास्पबेरी संस्करण जेसी के साथ एक रास्पबेरी पीआई 2 मॉडल बी है और मैं अपने पीसी से रास्पबेरी के लिए इंटरनेट लाने की कोशिश कर रहा हूं। मेरे बीच 2 नेटवर्क इंटरफेस हैं, एक ईथरनेट पर है और दूसरा वाईफाई पर है। मैंने रास्पबेरी में ईथरनेट आईपी पते को स्थिर होने के लिए कॉन्फ़िगर किया है, क्योंकि मेरे पास स्थिर आईपी एड्रेस के साथ घर पर एक छोटा कंप्यूटर नेटवर्क है और मैं चाहता हूं कि रास्पबेरी इसका हिस्सा हो। जैसा कि मेरा इंटरनेट बहुत धीमा है (मैं डायल अप मॉडेम का उपयोग करता हूं) मैं ईथरनेट नेटवर्क के माध्यम से इस धीमे इंटरनेट को साझा नहीं करना चाहता हूं क्योंकि मैं नहीं चाहता कि इस नेटवर्क से जुड़े सभी कंप्यूटर मेरी इंटरनेट स्पीड को सूखा दें। जैसा कि मैंने केवल इंटरनेट को रास्पबेरी में लाने का इरादा किया है, मैंने अपने पीसी में एक वाईफाई हॉटस्पॉट बनाया है जो गतिशील रूप से मेरे रास्पबेरी को एक आईपी एड्रेस प्रदान करता है (हॉटस्पॉट सॉफ्टवेयर में किसी प्रकार का डीएचसीपी है) और वह '

लेकिन तब मेरी समस्या शुरू होती है, डिफ़ॉल्ट रूप से मैं इसे चालू करने के बाद (या यदि मैं डिस्कनेक्ट करता हूं और फिर से कनेक्ट करता हूं), तो रास्पबेरी इंटरनेट से कनेक्ट नहीं होती है। टाइप करके ifconfigमुझे मिलता है:

eth0     
Link encap:Ethernet  HWaddr b8:27:eb:4e:35:65  
inet addr:100.100.100.25  Bcast:100.100.100.255  Mask:255.255.255.0
inet6 addr: fe80::ba27:ebff:fe4e:3565/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

wlan0     
Link encap:Ethernet  HWaddr 74:da:38:55:f3:a2  
inet addr:192.168.137.201  Bcast:192.168.137.255  Mask:255.255.255.0
inet6 addr: fec0::12:c4f1:c3fc:eb1e:3153/64 Scope:Site
inet6 addr: 2002:be0f:9cea:12:1bc0:1969:c17d:f854/64 Scope:Global
inet6 addr: fe80::bdca:7255:2e27:8341/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

जब मैं टाइप करता route -nहूं तो मुझे :

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
0.0.0.0         192.168.137.1   0.0.0.0         UG    303    0        0 wlan0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

यहां आप देख सकते हैं कि मेरे स्थिर ईथरनेट कनेक्शन गेटवे (100.100.100.1) की मीट्रिक मेरे डीएचसीपी वाईफाई कनेक्शन गेटवे (192.168.137.1) की मीट्रिक से कितनी छोटी है, इसलिए मेरा रास्पबेरी गलत इंटरफ़ेस के माध्यम से इंटरनेट प्राप्त करने की कोशिश करता है।

टाइप करने के बाद:

sudo route delete  default gateway 192.168.137.1 

और फिर :

sudo route add  default gateway 192.168.137.1

मेरी राउटिंग टेबल तय है:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.137.1   0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

और रास्पबेरी इंटरनेट का उपयोग करने में सक्षम है।

मेरे प्रश्न हैं:

  1. क्या इस प्रक्रिया को स्वचालित करने का एक तरीका है, इसलिए मुझे रास्पबेरी को चालू करने के लिए हर बार इसे मैन्युअल रूप से नहीं करना होगा?
  2. क्या इसे स्वचालित करने का कोई तरीका है ताकि यह हमेशा यह पहचान सके कि इस इंटरफ़ेस को हॉटस्पॉट DCHP द्वारा दिए गए IP रेंज से Wifi से स्वतंत्र रूप से इंटरनेट प्राप्त करना चाहिए?
  3. निचले मीट्रिक को स्वचालित रूप से ईथरनेट इंटरफ़ेस को क्यों सौंपा गया था?

मैं पहले से ही समाधान की जाँच कर चुका हूं कि रूटिंग टेबल में बदलाव कैसे जारी रखा जाए? लेकिन मेरे लिए काम नहीं करता है क्योंकि रास्पियन जेसी में आप सीधे स्थैतिक आईपी पते को प्राप्त करने के लिए /etc/network/interfacesसंपादित नहीं करते हैं/etc/dhcpcd.conf

जवाबों:


11

क्या इस प्रक्रिया को स्वचालित करने का एक तरीका है, इसलिए मुझे रास्पबेरी को चालू करने के लिए हर बार इसे मैन्युअल रूप से नहीं करना होगा?

अगर 2 # प्रश्न हल किया जा सकता है - और इसकी आवश्यकता नहीं हो सकती ...

क्या इसे स्वचालित करने का कोई तरीका है ताकि यह हमेशा यह पहचान सके कि इस इंटरफ़ेस को हॉटस्पॉट DCHP द्वारा दिए गए IP रेंज से Wifi से स्वतंत्र रूप से इंटरनेट प्राप्त करना चाहिए?

में /etc/dhcpcd.confजोड़ने

interface wlan0;
metric 200;

interface eth0
metric 300;

यह WLAN इंटरफ़ेस के निचले मीट्रिक को असाइन करेगा, ताकि किसी को इंटरनेट अनुरोधों के लिए चुना जाएगा।

निचले मीट्रिक को स्वचालित रूप से ईथरनेट इंटरफ़ेस को क्यों सौंपा गया था?

क्योंकि यह तरीका मैन dhcpcd.conf (5) के अनुसार मेट्रिक्स सौंपा गया है :

 metric metric
         Metrics are used to prefer an interface over another one, lowest
         wins.  dhcpcd will supply a default metric of 200 +
         if_nametoindex(3).  An extra 100 will be added for wireless
         interfaces.

+1 बहुत बहुत धन्यवाद, मेरे पास अभी तक कोई जवाब नहीं है। मैं हर बार जब मैं ऐसा करने के लिए एक मैनुअल स्क्रिप्ट चला रहा था
VMMF

ध्यान दें, यह गैर डीएचसीपी कनेक्शन के लिए काम नहीं करता है। यदि आपके पास / etc / नेटवर्क / इंटरफ़ेस में एक स्थिर कनेक्शन है, तो आप गेटवे xxx.xxx.xxx.xxx को बदलकर गेटवे मीट्रिक को सेट कर सकते हैं। अप रूट रूट के साथ डिफ़ॉल्ट gw xxx.xxx.xxx.xxx मेट्रिक ####
समीर पुरी

0

जो मैं करता हूं, वह बस इसे बूट पर चलाने के लिए है।

अपनी फ़ाइल में उस विशिष्ट क्रम में जोड़ें sudo route delete defaultऔर जोड़ें ।sudo route add default gateway 192.168.137.1/etc/init.d/rc.local

मैं भूल गया कि /etc/init.d/rc.localजेसी के लिए बॉक्स से बाहर काम करता है, या भले ही आपको इसे छूना चाहिए या नहीं, लेकिन यह एक और समाधान खोजने के लिए तुच्छ होना चाहिए (मैंने पहले ही किया था)

और यह # 1 हल करता है।


कनेक्शनों को प्राथमिकता देने के लिए, मैं आपको स्थापित करने की सलाह देता हूं ifmetric। फिर, बस अपने कनेक्शन को प्राथमिकता दें/etc/network/interfaces

सर्वोच्च प्राथमिकता 0 है, अगला 1 है, फिर 2, और इसी तरह।

iface eth0 inet dhcp
 metric 1

iface wlan0 inet static
 address 192.168.0.1
 netmask 255.255.255.0
 network 192.168.0.0
 metric 0

iface eth1 inet dhcp
 metric 2

और यह # 2 के लिए है।


मुझे लगता है कि # 3 हुआ क्योंकि देवों ने सोचा कि किसान गैर-पावरसुमेर वातावरण में वाईफाई को प्राथमिकता दी जाती है। मैं केवल अटकलें लगा सकता हूं क्योंकि मुझे इस पर कोई जानकारी नहीं मिल सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.