orgixmh Δημοσ. 6 Σεπτεμβρίου 2020 Δημοσ. 6 Σεπτεμβρίου 2020 (επεξεργασμένο) Καλησπέρα ινσόμνιακς, έχω στήσει ένα λιγάκι περίεργο οικιακό δίκτυο βασισμένο σε openwrt με σκοπό τον διαμοιρασμό ίντερνετ στο σπίτι. Το σπίτι μου βρίσκεται εκτός κάλυψης DSL και έτσι έχω στήσει ένα wifi link μερικών χιλιομέτρων το οποίο είναι εξαιρετικά ασταθές λόγο των δέντρων που υπάρχουν ανάμεσα στις 2 κεραίες, έτσι αποφάσισα να προσθέσω στο δίκτυο και μία backup γραμμή (4G modem) που να δίνει ίντερνετ στο σπίτι μόνο όταν το λινκ είναι εκτός. Ρύθμισα τις 2 πόρτες από το openwrt ως wan, κούμπωσα την κεραία στο wan1 και στο wan2 ένα 4g modem. Έγραψα ένα script για το openwrt που να κάνει pings από το wan1 σε google ανά 1 sec και αν διαπιστώσει 2 failed pings στην σειρά τότε αλλάζει το default route να βγαίνει από το wan2 (4g). Το script δουλεύει και όταν το wifi link πέφτει τότε όντος κάνει swap την κίνηση στο 4g, youtube, browsing και κάθε σύνδεση που δεν είναι μόνιμα ανοιχτή δουλεύει αλλά οι συνδέσεις που μένουν μόνιμα ανοιχτές (viber, websockets) πέφτουν και μάλιστα καθυστερούν τρομερά να συνδεθούν ξανά (8-15 δευτερόλεπτα). Προς το παρών η λύση είναι να κάνω μόνιμα route την κίνηση websockets στο 4g αλλά αυτό αυξάνει σημαντικά τον όγκο των δεδομένων του 4g. Ο τρόπος που κάνω reroute από iface σε iface είναι ο παρακάτω: function routeTo { route del -net default gw $1 dev $2 &>/dev/null route del -net $1 netmask 255.255.255.0 dev $2 &>/dev/null route add -net $3 netmask 255.255.255.0 dev $4 &>/dev/null route add -net default gw $3 dev $4 &>/dev/null } Από wifi link(eth0) σε 4g (eth1) routeTo 192.168.80.1 eth0 192.168.81.1 eth1 και το ανάστροφο όταν τα ping είναι πάνω από 40 χωρίς σφάλμα: routeTo 192.168.81.1 eth1 192.168.80.1 eth0 Δοκίμασα να κάνω αυτόματα σε ένα client αλλά και στο router flush την cache του dns μόλις γίνει swap αλλά δεν είχα καμία βελτίωση. Αν η σύνδεση ανοίξει 1 sec μετά το swap τότε όλα δουλεύουν ρολόι, είναι σαν οι keep alive συνδέσεις να έχουν ένα huge timeout > 8sec, υπάρχει τρόπος άραγε να τις κλείσω κατά το swap; Εκτός από το να κόψω τα δέντρα , να σπαμμάρω την spaceX να μου δώσει beta to starlink ή και να πάρω τηλέφωνο τον θείο στον ΟΤΕ ώστε να βάλουν γραμμές εδώ υπάρχει καμιά ιδέα για το τι συμβαίνει και αργεί τόσο; Επεξ/σία 6 Σεπτεμβρίου 2020 από orgixmh
NoDsl Δημοσ. 6 Σεπτεμβρίου 2020 Δημοσ. 6 Σεπτεμβρίου 2020 Δοκιμασε να κανεις clear τα nat translations. Δεν ξερω αν το λεει Connection Tracking η μικροτικ.
Επισκέπτης Δημοσ. 6 Σεπτεμβρίου 2020 Δημοσ. 6 Σεπτεμβρίου 2020 Η αλλαγη default router με τον οποιο 'βγαζεις' προς τα εξω το δικτυο σου δεν μου φαινεται καλη ιδεα. Θα μπορουσες απλα οταν δεν εχεις ping να προωθεις την κινηση στο αλλο nic. Θα χρειαστεις να εφαρμοσεις μονο εναν κανονα στο iptables σου και να επιτρεψεις το forwarding μεταξυ των nic σου. Να σημειωσω οτι δεν το εχω κανει ποτε το παραπανω, αλλα αυτο που κανεις μου φσινεται εντελως λαθος στρατηγικη. Αυτα τα πραγματα γινονται με το iptables, ποιο απλα και ξεκαθαρα. Υ. Γ Ψαξε πληροφοριες στο net, θα βρεις καλυτερες ιδεες.
nefilim Δημοσ. 6 Σεπτεμβρίου 2020 Δημοσ. 6 Σεπτεμβρίου 2020 (επεξεργασμένο) Καλή η σκέψη σου με το script, αλλά το openwrt έχει ήδη τα αντίστοιχα εργαλεία "αυτοματοτοποιημένα" (διαλέγεις ping servers priorities κ.α). mwan3 (Load balancing/failover with multiple WAN interfaces) Ή (δεν μπορείς να έχεις και τα δύο) multiwan: Connection to spare internet provider Για την περίπτωσή σου θεωρώ πιο απλό είναι να παίξεις με mutliwan ' το mwan3 είναι πιο πολύ για πολλαπλές συνδέσεις και load balancing. Είχα στήσει κάτι αντίστοιχο με multiwan (dsl και 4g failover) για ένα φίλο πριν κάποια χρόνια αν βρω το config θα το ανεβάσω εδώ. Αλλιώς δες και στο forum του openwrt. Μόλις είδα ότι το mwan3 έχει αντικαταστήσει πλήρως το κατηργημένο πλέον multiwan. κ Κάποια παραδείγματα https://github.com/bertrandmartel/openwrt-mwan-config https://doc.turris.cz/doc/en/howto/multiwan Επεξ/σία 7 Σεπτεμβρίου 2020 από nefilim edit edit
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα