लिनक्स में स्थिरता जोड़ने के लिए एक साथ दो आईएसपी कनेक्शन का उपयोग करना


1

मेरा दो अलग आईएसपी से इंटरनेट कनेक्शन है। W00 पर eth0 और 4G पर ADSL। क्या कोई ऐसा तरीका है कि यदि एक आईएसपी विफल हो जाता है, तो दूसरा बिना भौतिक राउटर और होस्ट ओएस (उबंटू 18.04) द्वारा स्वचालित रूप से खत्म हो जाता है?


2
देखें इस
xenoid

2
@ एक्सनॉइड: मुझे गंभीर संदेह है कि बॉन्डिंग संभवतः दो अलग-अलग अपस्ट्रीम आईएसपी के साथ काम कर सकती है
विशाल

यदि आप एक "आईएसपी विफल" का पता लगाने के लिए कैसे जा रहे हैं? नियमित अंतराल में पिंग जांच? राउटर की जानकारी? एक विधि चुनें, इसे लागू करें, स्थिति बदलने पर मार्गों को अपडेट करने के लिए एक स्क्रिप्ट लिखें। क्षमा करें, कोई बाहर का रास्ता AFAIK नहीं है।
11

1
@ कोमलता नरम कनेक्शन के साथ बहुत सारे उपयोगों के लिए, यह (वेब ​​सर्फिंग, मेल ..) होगा। बेशक, एक लंबा HTTP ट्रांसफर बाधित हो जाएगा।
क्लेनोइड

1
@Tim_Stewart इसके अलावा मैंने स्क्रिप्ट को बिल्कुल वही बदल दिया है जो मैं चाहता हूं: gist.github.com/Daniyal-Javani/6ea632dbbb744f0e4f6dd0004b0355e
Daniyal

जवाबों:


2

मैंने व्यक्तिगत रूप से मेजबान ओएस से ऐसा करने की कोशिश नहीं की है। लेकिन आगे और पीछे के बाद, मैंने यह देखने के लिए इंटरनेट पर खुदाई करने का फैसला किया कि क्या मुझे पता चल सकता है कि आप क्या देख रहे हैं।

मुझे उपयोगकर्ता के "अप्सू" द्वारा बनाए गए gist.github.com पर गेटवे फेल-ओवर के लिए एक उदाहरण स्क्रिप्ट मिली। आप यहां बैश स्क्रिप्ट डाउनलोड कर सकते हैं।

आपको इसे अपने विशिष्ट सेटअप में बदलना होगा, अपने इंटरफ़ेस के नाम, प्रवेश द्वार के पते जोड़ना होगा और आपको जाना अच्छा होना चाहिए।

होस्ट OS के लिए स्क्रिप्ट:

#!/bin/bash

# Set defaults if not provided by environment
CHECK_DELAY=${CHECK_DELAY:-5}
CHECK_IP=${CHECK_IP:-8.8.8.8}
PRIMARY_IF=${PRIMARY_IF:-eth0}
PRIMARY_GW=${PRIMARY_GW:-1.2.3.4}
BACKUP_IF=${BACKUP_IF:-eth1}
BACKUP_GW=${BACKUP_GW:-2.3.4.5}

# Compare arg with current default gateway interface for route to healthcheck IP
gateway_if() {
  [[ "$1" = "$(ip r g "$CHECK_IP" | sed -rn 's/^.*dev ([^ ]*).*$/\1/p')" ]]
}

# Cycle healthcheck continuously with specified delay
while sleep "$CHECK_DELAY"
do
  # If healthcheck succeeds from primary interface
  if ping -I "$PRIMARY_IF" -c1 "$CHECK_IP" &>/dev/null
  then
    # Are we using the backup?
    if gateway_if "$BACKUP_IF"
    then # Switch to primary
      ip r d default via "$BACKUP_GW" dev "$BACKUP_IF"
      ip r a default via "$PRIMARY_GW" dev "$PRIMARY_IF"
    fi
  else
    # Are we using the primary?
    if gateway_if "$PRIMARY_IF"
    then # Switch to backup
      ip r d default via "$PRIMARY_GW" dev "$PRIMARY_IF"
      ip r a default via "$BACKUP_GW" dev "$BACKUP_IF"
    fi
  fi
done

नेटवर्क हार्डवेयर के साथ:

इस फ़ंक्शन के लिए राउटर का उपयोग करने के लिए काफी फायदे हैं, क्योंकि मेजबान ओएस से बस विफल-ओवर के लिए। क्या तुरंत दिमाग में आता है एक साथ दोनों कनेक्शन बैंडविड्थ का उपयोग कर रहा है। (ISP कनेक्शन दोनों का पूर्ण उपयोग)

आप दोहरी WAN राउटर के रूप में PFsense / OpenSense का उपयोग कर सकते हैं। (अधिकांश पुराने पीसी हार्डवेयर काम करेंगे।) मेरा मानना ​​है कि डीडी-डब्ल्यूआरटी समर्थित रूटर्स भी कुछ ट्विकिंग के साथ WAN फेल-ओवर में सक्षम हैं। या आप बॉक्स समाधान से बाहर जा सकते हैं, जैसे कि सोफोस या नेटगियर प्रोसेफ, मुझे यकीन है कि अन्य हैं, लेकिन अधिकांश बॉक्स समाधान घर के उपयोगकर्ताओं की तुलना में अधिक महंगे हैं जो भुगतान करने के लिए तैयार हैं। एक दोहरी वान राउटर सेटअप आपको अपने इंटरनेट बैंडविड्थ को बढ़ाने की अनुमति देता है। आप अपनी विशिष्ट आवश्यकताओं के लिए शेष ट्रैफ़िक लोड कर सकते हैं। आप इंटरनेट कनेक्शन अतिरेक और असफलता प्राप्त कर सकते हैं।

सादर,

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