Καλημερα σε ολους. Πριν προχωρησω παρακατω να πω οτι εχω την εγκριση του γειτονα για να παρω ιντερνετ απο αυτον.
Θελω λοιπον να παρω ιντερνετ απο το ασυρματο interface (wlan0) του συστηματος μου και δεν μπορω. Συνδεομαι στο ασυρματο του κανονικα, παιρνω ip απο το ρουτερ του και εκει σταματανε ολα.
Το μονο που μπορω να κανω μετα ειναι ping στο δικο του ρουτερ (2i με ολα στοκ) και σε οτιδηποτε εχει στο δικτυο του, πχ στο pc του που εχει την 192.168.1.2 αυτη τη στιγμηΚώδικας:$ ip -br addr show lo UNKNOWN 127.0.0.1/8 eth0 UP 192.168.1.5/24 wlan0 UP 192.168.1.3/24
Spoiler:
Για κατεβασμα ουτε λογος
Προσθεσα και το ρουτερ του σαν gateway στο route αλλα παλι τιποταΚώδικας:$ curl -O --interface wlan0 http://speedtest.ftp.otenet.gr/files/test10Mb.db % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:01:03 --:--:-- 0
Τι κανω λαθος?Κώδικας:# route add default gw 192.168.1.1 wlan0 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default speedport-entry 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
Να προσθεσω πως η ενσυρματη συνδεση εχει σταθερη ip και αλλαγμενους dns, ενω η ασυρματη τα παιρνει ολα αυτα απο το dhcp του 2ι του γειτονα.
---edit
Ξεχασα να αναφερω πως το ιδιο ακριβως συμβαινει και στο rpi που τρεχει debian 11 stable.
Αλλα εκει θυμαμαι πως καποτε κατεβασα κατι μεσω του wlan0 του παιρνοντας ιντερνετ αποκλειστικα απο το γειτονα. Αυτο εγινε 1-2 χρονια πριν βεβαια και ειχα αλλη διανομη στο rpi.
Εμφάνιση 1-15 από 33
-
29-03-23, 13:44 Ιντερνετ απο ενα συγκεκριμενο network interface #1
Τελευταία επεξεργασία από το μέλος jim_p : 29-03-23 στις 14:31.
ديميتريس
-
29-03-23, 14:01 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #2
Έχω καιρό να ασχοληθώ με routing σε linux, αλλά βλέπω ότι έχεις το ίδιο δίκτυο σε 2 interfaces. Σε αυτές τις περιπτώσεις, το κάθε λειτουργικό συμπεριφέρεται διαφορετικά, και συνήθως με μη ντετερμινιστικό τρόπο ( αφήνοντας στην άκρη πολλαπλά tables/vrfs και κόλλημα με iptables γιατί θαρρώ δεν έχεις κάτι τέτοιο στο νου σου - αν και μπορεί να κάνω λάθος ). Θα μπορούσες να εξηγήσεις λίγο καλύτερα ακριβώς έχεις και τι θες να πετύχεις ? Θες να έχεις 2 διασυνδέσεις προς το internet, ή το συγκεκριμένο μηχάνημα θα παίρνει internet από το wlan0 και θα το δίνει στο eth0 ?
In theory, practice is the same as theory.
In practice, it isn't.
-
29-03-23, 14:02 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #3
Δεν νομίζω να κάνεις δουλειά έχοντας 2 διαφορετικά interfaces με ΙΡs από το ίδιο subnet.
Δοκίμασε να απενεργοποιήσεις το ενσύρματο interface και ξαναπροσπάθησε να δεις
-
29-03-23, 14:11 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #4
Δοκιμασα να το κανω αυτο που λες πριν καιρο, βγαζοντας εντελως το καλωδιο. Αποτελεσμα 0. Ακομα και στον torrent client (qbittorrent) που ορισα να κατεβαζει αποκλειστικα απο το wlan0, δεν κατεβαζε τιποτα.
Ηθελα να γραψω και κατι ακομα που παρατηρησα με τον torrent client αλλα δεν το θυμαμαι τωρα
- - - Updated - - -
@SfH
Θελω να παιρνει ιντερνετ ΚΑΙ απο το wlan0, οπως παιρνει απο το eth0. Απλα δεν το θελω μονιμα, γιαυτο δεν το εχω βαλει να συνδεεται και αυτοματα (μεσω του /etv/network/interfaces) αλλα το συνδεω εγω χειροκινητα. Iptables ή οτιδηποτε αλλο που να κοβει την κινηση δεν υπαρχει.ديميتريس
-
29-03-23, 14:17 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #5
Τότε πιθανότατα σου δημιουργούνται 2 default routes στο table του kernel και δεν ξέρει από που να "βγει". Μπορεί να υπάρχει μόνο ένα default route και να "δείχνει" μόνο σε ένα interface. Οτιδήποτε πιο περίπλοκο (όπως η διπλή παροχή internet) χρειάζεται μάλλον επιπλέον configuration.
Για αρχή ξεκίνα από το να βάλεις σε διαφορετικό subnet το ενσύρματο interface ώστε να μην είναι στο ίδιο με το ασύρματο.Τελευταία επεξεργασία από το μέλος Moho : 29-03-23 στις 14:23.
-
29-03-23, 14:29 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #6
Θυμηθηκα αυτο με το qbittorrent. Οπως φαινεται στην εικονα, του εχω ορισει να παιρνει αποκλειστικα απο wlan0 ΚΑΙ την ip του wlan0 (που δεν ξερω γιατι αλλαξε απο .3 που ηταν πριν), αλλα οπως φαινεται στο upnp-router control κατεβαζει κανονικα απο το δικο μου και τρωει ολο το bw απο την ενσυρματη συνδεση! Αν επαιρνε και απο το ασυρματο θα ελεγε εκει πχ 2.0MB/s+ για μεγιστο, αλλα τερματιζει στο 1.2 που ειναι το μεγιστο της 12αρας συνδεσης μου.
Οι πληροφοριες στα 4 πεδια του upnp-router-control λειπουν επειδη τρεχει 2 φορες η εφαρμογη. Εγω το εκανα ετσι για να μην φαινεται η public ip μου. Η εφαρμογη τραβαει πληροφοριες μονο απο το δικο μου ρουτερ και δεν υπαρχει κατι αλλο που να κατεβαζει αυτη τη στιγμη.
@Moho
Αυτο πως μπορω να το καταλαβω? Και εγω το υπεθεσα αυτο που λες, γιαυτο προσθεσα και το αλλο route.
(προσθεσα στο αρχικο ποστ και κατι για το rpi)Τελευταία επεξεργασία από το μέλος jim_p : 29-03-23 στις 14:34.
ديميتريس
-
29-03-23, 14:34 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #7
Σε αυτή την περίπτωση θα κοίταγα μια από τις παρακάτω λύσεις :
1) Αλλάζεις IP network σε ένα από τα 2 δίκτυα. Είναι η πιο καθαρή λύση χωρίς μπερδέματα. Από κει και πέρα, παίζεις με το routing όπως θες.
2) Βγάζεις τις IP από eth0/wlan0, φτιάχνεις ένα bridge, βάζεις μια IP στο bridge και παίζεις με το next hop. Αυτό θα έχει σα συνέπεια να ενωθεί το δικό σου LAN με του γείτονα , να μοιράζονται τα broadcast και στα 2, να μιλάμε πλέον για ένα failure domain, να υπάρχουν θέματα ασφαλείας, να πρέπει να κάνετε οποιοδήποτε IP address planning από κοινού, κτλ. Προσωπικά θα το απέφευγα - αλλά πιθανώς να είναι η μοναδική λύση αν δε μπορείς να κάνεις renumber κανένα δίκτυο.
Τα παραπάνω καθαρά για να λύσουν το θέμα που έχεις τώρα. Το να έχεις πολλαπλές γραμμές και να δρομολογείς κίνηση ταυτόχρονα σε όλες διαφορετικά υπό προϋποθέσεις είναι διαφορετικό και αρκετά περίπλοκο θέμα.In theory, practice is the same as theory.
In practice, it isn't.
-
29-03-23, 14:38 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #8
Ως root θα κάνεις ifconfig eth0 down και ifconfig wlan0 down για να κλείσουν και τα 2 interfaces και μετά θα κάνεις ifconfig wlan0 up για να ανοίξεις το ασύρματο μόνο.
Κατόπιν θα κοιτάξεις ΤΙ routing σου δείχνει η εντολή route ...
-
29-03-23, 14:44 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #9
Στο linux, σε αντίθεση με άλλα tcp/ip stack implementations, τα IPs ανήκουν στο σύστημα (kernel) και όχι στα interfaces.
Το οτι βάζεις το default route πισω απο device και υποθέτεις οτι εκεί θα στείλει τα πακέτα ουδεμία σημασία έχει. Πριν στειλει το πακέτο, πρεπει πρώτα να βρεί το gateway και όταν κανει lookup 99% το βρίσκει στο eth0 και απο εκεί το στέλνει.
Θα το επιβεβαιώσεις με την εντολή ip route get 192.168.1.1
Επίσης ΔΕΝ χρησιμοποιούμε σε σύγχρονους (>2.4) kernels το αρχαίο εργαλείο /sbin/route αλλά μόνο ip route (ip route add default via 192.168.1.1 η σύνταξη).
Το αυτό και για το αρχαίο εργαλείο ifconfig (ip link & ip addr τα αντίστοιχα commands)
Αυτό που πας να κάνεις (να έχεις connected το ίδιο ακριβώς δίκτυο σε δύο διαφορετικά interfaces) είναι περίεργο, δεν προβλέπεται (για να μην πω απαγορεύεται απο τα RFC) και μόνο προβλήματα και τζάμπα χρόνο θα σου φάει.
Θα πρέπει να έχεις αλλη διευθυνσιοδότηση σε κάθε interface. Μην παιδεύεσε, ακόμα και να δουλέψει για λίγο μπορεί σε λίγη ώρα να σταματήσει να δουλεύει, όπως προείπε και ο sfh η απόφαση ειναι νον-ντεντερμινιστικ.
-
29-03-23, 15:19 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #10
Επειδη εινια πολλα αυτα που ζητηθηκαν, θα τα κανω ολα και θα ξαναποσταρω. Δυο αποριες μονο
- στο ip route add default δεν πρεπει να δηλωσω καπου το interface?
- επειδη το wlan0 το ξεκιναω χειροκινητα με ifconfig wlan0 up, να το εχω ηδη ενεργο και να το ξανακλεισω ή απλα να κλεισω το eth0 και να το ξεκινησω?
Οταν το εκανα με το rpi παντως, που τοτε σιγουρα δεν ηξερα για route κλπ, το εκανα με ενα
Κώδικας:curl -O --interface wlan0 http://speedtest.ftp.otenet.gr/files/test10Mb.db
ديميتريس
-
29-03-23, 15:35 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #11
- δεν θέλει interface. θα το βρεί μόνο του.
- δεν εχει σημασία. μπορεί να δουλεψει μπορει και οχι και αν δουλεψει τωρα μπορεί μετα να μην δουλευει.
το --interface wlan0 απλώς λεει στο curl να βάλει source address στα πακέτα την ip του wlan0. δεν κανονίζει επουδενί το routing για το οποίο αποκλειστικά υπεύθυνος είναι ο kernel.
-
29-03-23, 15:48 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #12
Για το "θα το βρει μονο του". Θα το βρει ακομα και αν τα interfaces εχουν το ιδιο gateway? Πριν τρεξω το route add blablabla που λεω παραπανω, το route ειχε μονο ενα interface εκει μεσα, το eth0, και οσα λεω παραπανω ειχανε την ιδια ακριβως συμπεριφορα (με εξαιρεση το qbittorrent που βρηκα αργοτερα τη ρυθμιση και εκανα τις δοκιμες).
Για το τελευταιο που λες, αν δωσω εκει
Κώδικας:curl --interface wlan0 http://192.168.1.1/common_page/status_info_lua.lua
ديميتريس
-
29-03-23, 17:52 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #13
not sure σε χαμηλό επίπεδο πως τελικά το curl κάνει connect() και με τι παραμέτρους και αν αυτές μπλέκουν πραγματικά το interface κάτι για το οποιο θεωρητικά μια layer7 (ή layer4 αν είστε της νέας σχολής ) εφαρμογή δεν μπορεί και δεν πρέπει να ξέρει/ασχοληθεί . το man πάντως του curl γράφει το παρακάτω και εγώ το μεταφράζω οτι απλώς βάζει source ip την ip που έχει το interface όπως συμβαίνει συνήθως και με άλλες εφαρμογές.
--interface <name>
Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:
curl --interface eth0:1 http://www.netscape.com/
για το >> Για το "θα το βρει μονο του". Θα το βρει ακομα και αν τα interfaces εχουν το ιδιο gateway?
είπαμε οτι αυτό ειναι ανορθόδοξο και δεν πρέπει να γίνεται. move on
μπλέκεις σε περίεργα πολυ-μονοπάτια (multipath - pun intended )
το ποιο σωστό για να κάνεις κάτι σε αυτό που θες να κάνεις είναι η μέθοδος με το bridge όπως προειπώθεικε. Φυσικά αυτό ουτε για αστείο σε σοβαρό/παραγωγικό περιβάλλον. Και καλή τύχη με τα collisions
- - - Updated - - -
και ένα φρέσκο, ωραίο και όπως πάντα ελαφρύ ανάγνωσμα από την cloudflare σχετικά σχετικό με το νήμα και το πώς κάνει connect(), bind(), socket() το linux αλλά άσχετο με τα Interfaces
The quantum state of a TCP portΤελευταία επεξεργασία από το μέλος dpap76 : 29-03-23 στις 16:10.
-
29-03-23, 18:20 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #14
Ενα ενα.
Κλεινοντας το eth0 το route δειχνει μονο το wlan0, ακριβως οπως λεω παραπανω, μονο που στο τελος της πρωτης γραμμης γραφει wlan0 αντι για eth0. Το ιδιο δειχνει και το ip route get 192.168.1.1. Το curl κατεβαζει αλλα πολυυυ αργααα, πχ 10kb/s. Κακη ληψη στο wifi? Εχω αλλο στικακι να δοκιμασω, που σιγουρα θα εχει καλυτερη ληψη μιας και εχει κεραια, αλλα πεφτει σε αλλη αναπηρια που εχω αναφερει στο θεμα των linux kernels.
Αν μετα κανω ifconfig eth0 up το eth0 δεν ξεκιναει ή τουλαχιστον δεν μπορω να κανω ping σε αυτο ή να συνδεθω με ssh. Ξεκιναει με /etc/init.d/networking restart, οποτε αποφευγω το reboot (αλλα εχω ηδη ριξει τα μπινελικια).
Με το eth0 ενεργο, και αφου τρεξω το
Κώδικας:ip route add default via 192.168.1.1
Τελος, δεν θελω bridge, επειδη δεν εχω σκοπο να το εχω ετσι μονιμα. Ο αποτερος σκοπος ειναι να κανω το ιδιο πραγμα στο rpi και να το χρησιμοποιω οποτε το χρειαζομαι. Ιδανικα, θα κανω ενα σκριπτακι που συνεεται στο wifi και καπακι ξεκιναει το qbittorrent-nox σαν service.
Για τον παραπανω λογω δεν παιζει να αλλαξω ip κλπ στο δικο μου δικτυο.ديميتريس
-
29-03-23, 23:36 Απάντηση: Ιντερνετ απο ενα συγκεκριμενο network interface #15
επαναλαμβάνω οτι δεν θα μπορέσεις ταυτόχρονα να έχεις "μια απο εδώ/μια απο εκεί default route" είτε με το χέρι, είτε αυτόματα με script, όσο τα 2 interfaces έχουν το ίδιο connected subnet (192.168.1.0/24)
το θα το βρει μόνο του εννοούσα ότι είναι optional υπο κανονικές συνθήκες η παράμετρος του interface και θα το βάλει στο routing table "μόνο του" μόλις εντοπίσει σε ποιο interface είναι connected το gwaddr (192.168.1.1).
Αλλά αυτό που πας να κάνεις δεν είναι κανονικές συνθήκες. Έχεις το ίδιο subnet κολλημένο (connected) σε δύο διαφορετικά interfaces, δεν ξέρω πως θα συμπεριφερθεί και ποιο interface θα βάλει τελικά και ποιο θα λαμβάνει υπόψη του στη συνέχεια κατά το routing descision.
ip link set wlan0 down <--- κλείνει το interface και ταυτόχρονα αφαιρεί απο το routing table όλα τα routes που δείχνουν σε αυτό το Interface. Εδώ οφείλονται και τα μπινελίκια σου - το ίδιο ακριβώς κάνει και η ifconfig down (ο kernel το κάνει, οχι το ip link/ifconfig για την ακρίβεια)
ip link set eth0 down <--- το ίδιο και για το eth0
ip link set eth0 up; ip addr add 192.168.1.10/24 dev eth0; ip route add default via 192.168.1.1 <-- έχεις internet απο eth0
ή
ip link set wlan0 up; ip addr add 192.168.1.10/24 dev wlan0; ip route add default via 192.168.1.1 <-- έχεις internet απο wlan0
αν δώσεις τα 2 τελευταία commands back2back χωρίς πρώτα να έχεις κλέισει ή βγάλει το ip (ip addr del 192.168.1.10/24 dev xxx) δεν ξέρω πως θα συμπεριφερθεί. ειναι το non-deterministic που λέγαμε.
Bookmarks