Προς το περιεχόμενο

1 NIC, 2 IPs, η μία με dhcp και η άλλη static;


alkisg

Προτεινόμενες αναρτήσεις

Γεια χαρά,

 

θέλω να κάνω το εξής περίεργο:

Σε έναν edubuntu server με μία μόνο κάρτα δικτύου, να δηλώσω στο /etc/network/interfaces δύο IPs,

η μία eth0 που να είναι static 192.168.0.1

και η άλλη eth0:1 που να παίρνει διεύθυνση μέσω dhcp server από έναν router, ώστε να έχω και πρόσβαση στο internet.

 

Έτσι θα υπάρχουν εν τέλει δύο dhcp3 servers στο δίκτυο, ένας του router και ένας του edubuntu που θα ακούει σε άλλη πόρτα.

Απ' ότι κατάλαβα, o dhcp server δεν μπορεί να ξεκινήσει αν δεν έχω static ip, σωστά; Οπότε αναγκαστικά πάω σε δύο IPs...

 

Επομένως αυτό που ζητάω είναι τη σύνταξη του αρχείου interfaces που θα κάνει τα παραπάνω. Το πάλεψα κάμποσο αλλά επειδή επείγει, αν κανένας καλός χριστιανός έχει λίγη όρεξη ας βοηθήσει... Ευχαριστώ!

 

edit: δηλαδή κάτι τέτοιο, αλλά δεν μου δουλεύει:

>
auto lo
iface lo inet loopback

auto eth0 eth0:1
iface eth0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0

iface eth0:1 inet dhcp

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σε γενικές γραμμές είναι σωστό. Δοκίμασε αντί για eth0 να βάλεις eth0:0 και μετά κάνε restart στα interfaces σου

>/etc/init.d/networking restart

Επίσης βάλε το auto eth0:0 και auto eth0:1 πρίν το configuration του κάθε interface, οχι μαζί. Δώσε μας το output.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Από μια πρόχειρη δοκιμή που έκανα, οι dhcp clients δεν θέλουν να τρέξουν σε ένα alias interface (π.χ. eth0:1).

 

>duke ~ # dhclient eth0:1
SIOCSIFFLAGS: Cannot assign requested address
SIOCSIFFLAGS: Cannot assign requested address
Bind socket to interface: No such device

 

>duke ~ # dhcpcd eth0:1
err, eth0:1: SO_SOBINDTODEVICE: No such device

 

Δοκίμασε να κάνεις αυτό που έκανες, αλλά αντίστροφα: να παίζει με dhcp το eth0 και η static διεύθυνση να καρφώνεται στο alias interface.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μέχρι στιγμής το έφτασα να τρέχει με

>
auto eth0:0
iface eth0:0 inet static
address 192.168.0.1
netmask 255.255.255.0

auto eth0
iface eth0 inet dhcp

 

Αλλά δεν τρέχει ο dhcp3-server όταν τον βάζω να ακούσει στην eth0:0.

 

Δοκιμάζω και το ανάποδο και ενημερώνω εντός ολίγου! :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ενδιαφέρον αυτό που λέει ο nske. Θα μπορούσες να αλλάξεις το mac address του alias interface με την επιλογή hwaddress ethe HH:HH:HH:HH:HH:HH στο config σου, όπου ΗΗ είναι ενα δεκαεξαδικό. Λογικά εκεί τα 3 πρώτα bytes είναι διαφορετικά για κάθε manufacturer αλλά δεν νομίζω ο dhcp server να κάνει τόσο ψαγμένους ελέγχους οπότε βάζεις οτι θέλεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ, είμαι σε καλό δρόμο! Δουλεύουν όλα, αλλά δυστυχώς η eth0:0 παίρνει IP από τον εσωτερικό dhcp server του ubuntu αντί να πάρει από το router.

 

Οπότε πρέπει να βρω ένα τρόπο να απαγορεύσω στον dhcp μου να δίνει IP στην eth0:0.... Καμιά ιδέα;

 

edit: Άκυρο, αφού έτσι κι αλλιώς θέλω τελικά να τον βάλω να ακούει σε άλλη πόρτα.

Επομένως πιστεύω ότι είμαι ΟΚ προς το παρόν, αν τα βρω πουθενά σκούρα θα ξαναποστάρω. Ευχαριστώ πολύ!

 

Τρέχον interfaces:

>
auto eth0:0
iface eth0:0 inet static
address 192.168.0.1
netmask 255.255.255.0
hwaddress ether 00:1b:24:89:65:d1

auto eth0
iface eth0 inet dhcp
hwaddress ether 00:1b:24:89:65:d6

 

Τρέχον ifconfig output:

>
eth0      Link encap:Ethernet  HWaddr 00:1b:24:89:65:d1  
         inet addr:192.168.0.250  Bcast:192.168.0.255  Mask:255.255.255.0
         inet6 addr: fe80::21b:24ff:fe89:65d1/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:35 errors:0 dropped:0 overruns:0 frame:0
         TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:2492 (2.4 KB)  TX bytes:7749 (7.5 KB)
         Interrupt:17 

eth0:0    Link encap:Ethernet  HWaddr 00:1b:24:89:65:d1  
         inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         Interrupt:17 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σκεφτόμουν κάτι του στύλ

>auto eth0:0
iface eth0:0 inet static
address 192.168.0.1
netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet dhcp
hwaddress ether 00:1b:24:89:65:d6 (εάν αυτή είναι η ψεύτικη mac)

 

Δοκίμασέ το και μπορεί να δουλέψει καλύτερα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Νομίζω ότι κάπου στις ενδιάμεσες δοκιμές το είχα κάνει κι αυτό, και αν θυμάμαι καλά δούλεψε αλλά νόμισα ότι δεν δούλευε (δεν είχα internet) επειδή έπαιρνα IP από τον λάθος dhcp... :)

 

Η ψεύτικη mac είναι αυτή που λήγει σε d1. Το περίεργο είναι ότι το ifconfig μου τις δείχνει και τις δύο με το ψεύτικο mac!

 

Anyway αφού δουλεύει και λόγω περιορισμένου χρόνου προχωρώ στη ρύθμιση custom πόρτας για τον dhcp3 server. Στη συνέχεια έχω να κάνω 10 boot δισκέτες με custom πόρτα dhcp client για τους client υπολογιστές και τελικά (επειδή όλα αυτά γίνονται στο φορητό μου) το αποτέλεσμα θα είναι να "κουβαλάω" ένα κινητό εργαστήριο στο laptop μου!!! (edubuntu / ltsp).

 

Αυτά είναι τα καλά του Linux, σε αφήνει να κάνεις ό,τι θες...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στο φορητό; USB to ethernet με drivers για Linux;

 

Πιο δύσκολο το βλέπω από το να κάνω απλά μια ρύθμιση, όπως κι έγινε.

Χωρίς να υπολογίσουμε το έξτρα κόστος, και το ότι θα απαιτείται και ένα δεύτερο ftp καλώδιο, το οποίο δεν είναι πάντα εύκολο να το σέρνεις από το rack στη σχετική θέση εργασίας.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είδα ότι ήταν φορητός. Αλλά και φορητός να ήταν PCMCIA δεν έχει; Τέλος πάντων αφού το έφτιαξες...

 

http://www.e-shop.gr/show_per.phtml?id=PER.614309

http://www.e-shop.gr/show_per.phtml?id=PER.613409

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έτσι θα υπάρχουν εν τέλει δύο dhcp3 servers στο δίκτυο, ένας του router και ένας του edubuntu που θα ακούει σε άλλη πόρτα.

Απ' ότι κατάλαβα, o dhcp server δεν μπορεί να ξεκινήσει αν δεν έχω static ip, σωστά; Οπότε αναγκαστικά πάω σε δύο IPs...

 

alki, θα σε απογοητεύσω, αλλά δεν είναι τόσο απλό το να έχεις 2 DHCP servers στο ίδιο δίκτυο. Οι θύρες του DHCP πρωτοκόλλου είναι hardcoded, αν βάλεις έναν dhcp server να ακούει σε άλλη θύρα, απλά δε θα δουλέψει ποτέ. Επίσης αν έχεις 2 dhcp servers πάνω στο ίδιο δίκτυο και δεν έχουν μεταξύ τους σχέση master-slave, τότε δεν είναι μονοσήμαντα καθορισμένο ποιός θα απαντήσει το request.

 

Γενικά αυτό που προσπαθείς να κάνεις είναι «σπασμένο» απ' όλες τις μεριές (από το ότι έχεις 2 DHCP servers πάνω στο ίδιο δίκτυο, μέχρι το ότι κυκλοφορείς δύο διαφορετικά subnets πάνω στο ίδιο φυσικό μέσο). Πες μας αν θες ποιό είναι το τελικό αποτέλεσμα που θες, μήπως υπάρχει κάποιος καλύτερος τρόπος να το πετύχεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@firewalker: δυστυχώς ούτε pcmcia δεν έχει, acer aspire 5920G. Πάντως δίκιο έχεις, η λογική λύση θα ήταν 2 κάρτες δικτύου με τη μία να συνδέεται στο switch και η άλλη στον router.

 

@apoikos: Το κατάφερα με τον dhcp, αλλά έχω κολλήσει στο επόμενο βήμα, αλληλεπίδραση ltsp/dhcp.

 

Φυσικό αποτέλεσμα:

Υπάρχει σε χώρο άσχετο από μένα ένα στημένο εργαστήριο με 12 Η/Υ και ένα server. Στο εργαστήριο υπάρχει και router με dhcp server.

Εγώ θέλω να πάω με το φορητό μου, να βγάλω το ftp καλώδιο από τον server και να το συνδέσω στο φορητό μου, κάνοντας server τον φορητό μου.

Επόμενο βήμα: βάζω από ένα etherboot CD σε όλους τους clients και τους κάνω να φορτώσουν linux από τον φορητό μου (thin clients).

Με λίγα λόγια, θέλω να "κουβαλάω" το δικό μου εργαστήριο το οποίο θα αποτελείται από τον φορητό μου και μια ντουζίνα boot CD.

 

Για να δει το φορητό internet, χρειάζεται dhcp client.

Για να φορτωθεί το ubuntu μέσω ltsp, χρειάζεται ο φορητός να είναι dhcp server (δίνει κάποιες πληροφορίες όπως boot file name κτλ που δεν μπορεί να τις δώσει ένας router, και εξάλλου ο σκοπός είναι να μην αγγίξω καθόλου το εργαστήριο, αφού κάθε φορά μπορεί να είναι διαφορετικό εργαστήριο).

 

Τι έχω καταφέρει μέχρι στιγμής:

ΟΚ με τις ip, και έχω static ip με dhcp server, και το alias παίρνει dynamic ip από τον εξωτερικό dhcp server, δίνοντας στο φορητό (και εν δυνάμει στο υπόλοιπο εργαστήριο) πρόσβαση internet.

ΟΚ με την εκκίνηση των clients, με μια δισκέτα από rom-o-matic.net και με τη ρύθμιση ALTERNATE_DHCP_PORTS_1067_1068 φορτώνουν το αρχικό initrd από τον φορητό μου οι clients.

 

Και ακριβώς μετά είναι το πρόβλημα, αφού φορτωθεί το initrd γίνεται δεύτερο dhcp request, το οποίο όμως δεν έχω καταφέρει να το αλλάξω στην 1067 και έτσι παίρνει ip από τον router η οποία δεν περιέχει πληροφορία nbd image name και κάνει fallback σε busybox.

 

Το σημείο που βρίσκεται το πρόβλημα είναι στο αρχείο scripts/nfs μέσα στο initrd, όπου θα πρέπει να του προσθέσω τη νέα πόρτα,

ipconfig -p 1068

 

και αυτό ακριβώς είναι που δεν έχω καταφέρει.

Η διαδικασία περιγράφεται στο περίπου εδώ:

https://lists.ubuntu.com/archives/edubuntu-users/2006-August/000169.html

 

Αλλά αν και φτιάχνω υποτίθεται ένα αλλαγμένο initrd, στους clients μοιράζεται απείραχτο, χωρίς το -p 1068... Προφανώς κάπου το βάζω λάθος ή κάτι δεν κάνω update.

 

Δεν θα με πείραζε να έφτιαχνα και 12 διαφορετικά boot CD (από rom-o-matic) με static IPs για τους clients (+πληροφορίες για boot file name κτλ), αλλά φοβάμαι ότι μετά το φόρτωμα του αρχικού initrd πάλι θα ζητήσουν ip από το router...

 

 

Ένα σημείο που θα με βοηθήσει να εντοπίσω πιο γρήγορα το πρόβλημα: πώς αποσυμπιέζω, αλλάζω και ξανασυμπιέζω ένα initrd αρχείο χωρίς να εμπλακώ σε chroot, mkinitramfs και λοιπά;

 

Υ.Γ. αυτό

μέχρι το ότι κυκλοφορείς δύο διαφορετικά subnets πάνω στο ίδιο φυσικό μέσο

γιατί είναι κακό; Δεν τα αναλαμβάνει όλα το switch?

Βγάζοντας προσωρινά το καλώδιο του router κατά την εκκίνηση των clients, και χρησιμοποιώντας τη standard θύρα του dhcp server (67) δούλεψε κανονικά, είχα και thin clients και internet. Έχω όμως την εντύπωση ότι το δίκτυο (screen refresh) σερνόταν λίγο, δικαιολογείται αυτό ή είναι η εντύπωσή μου;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ένα σημείο που θα με βοηθήσει να εντοπίσω πιο γρήγορα το πρόβλημα: πώς αποσυμπιέζω, αλλάζω και ξανασυμπιέζω ένα initrd αρχείο χωρίς να εμπλακώ σε chroot, mkinitramfs και λοιπά;

Αποσυμπίεση:

>
zcat initrd.img | cpio -i -d --no-absolute-filenames

 

Συμπίεση

>
find . | cpio -o -H newc | gzip > initrd_new.img

 

Υ.Γ. αυτό

 

γιατί είναι κακό; Δεν τα αναλαμβάνει όλα το switch?

Βγάζοντας προσωρινά το καλώδιο του router κατά την εκκίνηση των clients, και χρησιμοποιώντας τη standard θύρα του dhcp server (67) δούλεψε κανονικά, είχα και thin clients και internet. Έχω όμως την εντύπωση ότι το δίκτυο (screen refresh) σερνόταν λίγο, δικαιολογείται αυτό ή είναι η εντύπωσή μου;

 

Ότι λειτουργεί, λειτουργεί. Μπλέκουν όμως τα broadcast domains των subnets με το broadcast domain του ethernet. Ο «σωστός» τρόπος να κάνεις κάτι τέτοιο είναι με VLANs και trunking.

 

Έτσι όπως το θέτεις, και εφόσον βρήκες τρόπο να αλλάζεις το port στους dhcp clients εύκολα, είναι ο απλούστερος τρόπος.

 

Προσωπικά, αν υπήρχε κάποιο ελαφρύ multicast DNS implementation, θα έφτιαχνα κάτι πάνω σε αυτό. Είναι non-intrusive ως προς το δίκτυο (θα παίρνεις δηλαδή τις κανονικές ips που κυκλοφορούν στο LAN) και πλήρως decentralized. Θα μπορούσες λοιπόν να σηκώνεις στο server ένα avahi που κάνει advertise το ltsp.local και μετά οι clients να κάνουν ένα query από το initrd, να βλέπουν ότι το ltsp.local αντιστοιχεί στην τάδε IP και να χρησιμοποιούν αυτή ως server. Δυστυχώς δεν φαίνεται να υπάρχει κάτι αρκετά ελαφρύ ώστε να μπαίνει στο initrd όμως.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...