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

Μοίρασμα σύνδεσης internet από Ubuntu σε Win XP


g1annis

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

Από τον server της σχολής το εργαστήριό μου παίρνει ΜΙΑ ip. Στο εργαστήριο υπάρχουν 4 υπόλογιστές που πρέπει και οι 4 να έχουν internet.

 

Συνδέω τη γραμμή πάνω στο 8porot router. Πάνω στο router συνδέω την Eth0 του υπολογιστή που τρέχει xubuntu. Βάζω ip, subnet mask, gateway και DNS που μας παρέχουν από τον server της σχολής και ο xubuntu συνδέεται μια χαρά.

 

ip 160.140.180.108

subnet mask 255.255.255.224

default gateway 150.140.180.97

DNS 150.140.129.30

 

Το ερώτημα τώρα, είναι ΠΩΣ θα μοιραστώ τη σύνδεση του xubuntu με τους άλλους. Ας πούμε με τον διπλανό του που τρέχει XP.

 

Πληροφοριακά, ο xubuntu διαθέτει και 2η κάρτα ethernet.

 

Παρακαλώ αν γνωρίζετε βοηθήστε γιατί επείγει.

 

Ευχαριστώ πολύ.

 

eth0 Link encap:Ethernet HWaddr 00:24:01:65:05:07

inet addr:160.140.180.108 Bcast:150.140.180.127 Mask:255.255.255.224

inet6 addr: fe80::224:1ff:fe65:507/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:25027 errors:0 dropped:0 overruns:0 frame:0

TX packets:12908 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:19809694 (19.8 MB) TX bytes:2779505 (2.7 MB)

Interrupt:19 Base address:0x9000

 

eth1 Link encap:Ethernet HWaddr 00:14:85:b6:0b:65

inet6 addr: fe80::214:85ff:feb6:b65/64 Scope:Link

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:1369 errors:0 dropped:0 overruns:0 frame:0

TX packets:809 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1369841 (1.3 MB) TX bytes:76941 (76.9 KB)

Interrupt:18 Base address:0xc400

 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:133 errors:0 dropped:0 overruns:0 frame:0

TX packets:133 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:22545 (22.5 KB) TX bytes:22545 (22.5 KB)

 

---------- Το μήνυμα προστέθηκε στις 14:59 ----------

 

Τα XP θα συνδεθούν στο 3ο (1o η γραμμή, 2o το Xubuntu) port του router. Σωστά;

 

Τι ip κλπ θα βάλω στα XP;

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

Ένας τρόπος είναι να κάνεις NAT:

  1. Θα ορίσεις μία εσωτερική διεύθυνση είτε ως δεύτερη στο eth0 είτε ως πρώτη στο eth1. Σε κάθε περίπτωση, η συγκεκριμένη κάρτα δικτύου θα πρέπει να βρίσκεται στο ίδιο switch με τους υπόλοιπους υπολογιστές.
     
    Μπορείς να ορίσεις δεύτερη διεύθυνση στο eth0 δίνοντας:
    >sudo ip addr add 192.168.2.1/24 dev eth0


    ή, αν δεν υπάρχει εγκατεστημένο το iproute2,

    >sudo ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0


    , όμως θα πρέπει να το δηλώσεις και στο κατάλληλο μέρος του /etc/network/interfaces για να εκτελείται στο κατάλληλο στάδιο της εκκίνησης, π.χ.:
     

    >iface eth0 inet static
     address 160.140.180.108
     netmask 255.255.255.224
     up ip addr add 192.168.2.1/24 dev eth0


     

  2. Οι υπόλοιποι υπολογιστές θα έχουν διευθύνσεις στο ίδιο υποδίκτυο (π.χ. 192.168.2.1 ως .254). Για gateway θα χρησιμοποιούν την διεύθυνση που όρισες στο (1). Για DNS θα χρησιμοποιούν το 160.140.129.30.
     
     
  3. Ενεργοποιείς το IP forwarding
    >echo 1 > /proc/sys/net/ipv4/ip_forward


    και ορίζεις στο /etc/sysctl.conf

    >net.ipv4.conf.default.forwarding=1
    net.ipv4.conf.all.forwarding=1


    για να γίνεται αυτόματα με την εκκίνηση του λειτουργικού.
     
     

  4. Ορίζεις μέσω iptables να γίνεται NAT για τις διευθύνσεις του τοπικού δικτύου:
    >sudo /sbin/iptables -P FORWARD ACCEPT
    sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT --to-source 160.140.180.108 


     
    και προσθέτεις στο /etc/rc.local
     

    >/sbin/iptables -P FORWARD ACCEPT
    /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT --to-source 160.140.180.108 


    ώστε να εκτελούνται με την εκκίνηση του λειτουργικού.

 

Δες και εδώ:

https://help.ubuntu.com/community/Internet/ConnectionSharing

 

Υσ. Φυσικά αυτό είναι εντελώς βασικό και ανοιχτό από άποψη ασφάλειας.

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

Σε ευχαριστώ πολύ nske. Το πρόβλημα λύθηκε. Τώρα βέβαια τα XP βλέπουν τα πάντα και τον εκτυπωτή ακόμα, αλλά δε μπορούν να εγκαταστήσουν τον σχετικό driner.

 

Αυτό βέβαια είναι ένα άλλο θέμα με το οποίο θα ασχοληθώ αύριο.

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

nske, όντως μετά το πρώτο reboot, ο διπλανός δικτυακός υπολογιστής δεν έχει internet.

 

Ένακα την προσθήκη του

 

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

 

στο τέλος του /etc/network/interfaces

 

όπότε το αρχείο έγινε

auto lo

iface lo inet loopback

 

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

 

και το pc δεν εκκινούσε αφού στο boot-up έβγαζε μήνυμα fail στο loading NFS κάτι.

 

Μετά έσβησα από το αρχείο τις γραμμές που προϋπήρχαν ώστε το αρχείο έγινε

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

αλλά και πάλι το ίδιο πρόβλημα. Δεν εκκινεί καν.

 

Που έχω κάνει λάθος;

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

Το έκανα έκανα και reboot, αλλά δε συνδέεται ούτε καν ο server. Μάλιστα δεν εμφανιζει ούτε καν στις συνδέσεις το eth0.

 

Στην ουσία θέλουμε να δίνει κατά την εκκίνιση την εντολή

 

sudo ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0

 

σωστά;

 

Τότε γιατί στο /etc/network/interfaces δίνουμε

 

>auto eth0
iface eth0 inet static
 address 160.140.180.108
 [color="Red"]netmask 255.255.255.224[/color]
 up ip addr add 192.168.2.1/24 dev eth0

Είναι σωστό αυτό; Έφυγα από το εργαστήριο κι αυτό δεν το είδα τότε για να το δοκιμάσω. Θα το δοκιμάσω όμως αύριο. Μέχρι τότε όμως για πες μου. Σωστή είναι η subnetmask?

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

Στην ουσία θέλουμε να δίνει κατά την εκκίνιση την εντολή

 

sudo ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0

 

σωστά;

 

Τότε γιατί στο /etc/network/interfaces δίνουμε

>auto eth0
iface eth0 inet static
 address 160.140.180.108
 [color="Red"]netmask 255.255.255.224[/color]
 up ip addr add 192.168.2.1/24 dev eth0

Είναι σωστό αυτό; Έφυγα από το εργαστήριο κι αυτό δεν το είδα τότε για να το δοκιμάσω. Θα το δοκιμάσω όμως αύριο. Μέχρι τότε όμως για πες μου. Σωστή είναι η subnetmask?

 

Στην ουσία εμείς θέλουμε να προσθέσεις μία δεύτερη διεύθυνση στο eth0. Αυτό γίνεται με δύο εναλλακτικούς τρόπους: είτε απευθείας με την εντολή ip:

>ip addr add 192.168.2.1/24 dev eth0

είτε εναλλακτικά μέσω alias interface, με την εντολή:

>ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0

 

Το netmask 255.255.255.224 στο /etc/network/interfaces είναι το subnet mask της πρώτης, public, διεύθυνσης, όπως ανέφερες ότι είναι στο πρώτο post.

 

Το subnet mask της δεύτερης διεύθυνσης το περάσαμε με το /24 (24bits, =255.255.255.0). Φυσικά, αφού έχεις τόσους λίγους host, και αυτό θα μπορούσε να είναι 255.255.255.224, δηλαδή /27. Αρκεί η διεύθυνση κάθε υπολογιστή να βρίσκεται μέσα στο ίδιο subnet.

 

Αν επιλέξεις τον δεύτερο τρόπο που ανέφερες (με ifconfig και alias interface), αντί για up ip addr add 192.168.2.1/24 dev eth0 θα ορίσεις up ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0

 

Δε ξέρω ποιο είναι το πρόβλημα, κατά το documentation (δεν έχω κάποια εγκατάσταση debian-based διανομής) φαίνεται σωστό το configuration, και τα αναγκαία πακέτα να είναι προεγκατεστημένα. Βέβαια πάντα θα μπορούσες να βάλεις την εντολή να εκτελείται π.χ. από το rc.local, αλλά θα ήταν προχειρότητα.

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

Με το που γράφω την εντολή

 

ip addr add 192.168.2.1/24 dev eth0

 

στο τερματικό και πατάω enter, αυτομάτως ο δεύτερος υπολογιστής συνδέεται. Το πρόβλημα είναι ότι αν κάνω reboot τον server πρέπει να ξαναδώσω χειροκίνητα την εντολή ip addr add 192.168.2.1/24 dev eth0 για να συνδεθεί ξανά ο γειτονικός υπολογιστής.

 

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

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

Το θέμα με λίγα λόγια είναι πως θα γίνει, ο server να τρέχει την εντολή αυτή κατά την εκκίνηση.
Βέβαια πάντα θα μπορούσες να βάλεις την εντολή να εκτελείται π.χ. από το rc.local, αλλά θα ήταν προχειρότητα.

https://help.ubuntu.com/community/RcLocalHowto

 

Το ιδανικό θα ήταν κάποιος που χρησιμοποιεί Debian να ελέγξει το /etc/network/interfaces σου μήπως βρει το λάθος. Το ακριβές μήνυμα που επιστρέφεται όταν επανεκκινείς το init script του δικτύου (/etc/init.d/networking restart) θα βοηθούσε.

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

Στο 1ο σου post στο 4ο βήμα λές

Ορίζεις μέσω iptables να γίνεται NAT για τις διευθύνσεις του τοπικού δικτύου:

 

>sudo /sbin/iptables -P FORWARD ACCEPT
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT[/cOdE]

 
και προσθέτεις στο /etc/rc.local
 
 
 
[cOdE]/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT[/cOdE]

 
ώστε να εκτελούνται με την εκκίνηση του λειτουργικού.Όταν δίνω
[code]sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT

 

μου εμφανίζει

>iptables v1.4.1.1: You must specify --to-source
Try `iptables -h' or 'iptables --help' for more information

 

Όσο για το τελευταίο σου post,

Το ακριβές μήνυμα που επιστρέφεται όταν επανεκκινείς το init script του δικτύου (/etc/init.d/networking restart) θα βοηθούσε.
μου βγάζει
>* Reconfiguring network interfaces...                                          ifdown: failed to open statefile /var/run/network/ifstate: Permission denied
ifup: failed to open statefile /var/run/network/ifstate: Permission denied [fail]

Με sudo μου βγάζει

>* Reconfiguring network interfaces...                                          Ignoring unknown interface eth1=eth1.
Ignoring unknown interface eth0=eth0. [OK ]

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

Στο 1ο σου post στο 4ο βήμα λές

Όταν δίνω

>sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT

 

μου εμφανίζει

>iptables v1.4.1.1: You must specify --to-source
Try `iptables -h' or 'iptables --help' for more information

 

Ναι αρχικά στο παράδειγμα χρησιμοποιούσα τη MASQUERADE που βρίσκει αυτόματα την public διεύθυνση, μετά σκέφτηκα ότι αφού έχεις static δεν χρειάζεται MASQUERADE αλλά απλά SNAT, αλλά ξέχασα ότι αυτό θέλει να του τη δηλώσεις. Δηλαδή:

>iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT --to 160.140.180.108

 

Όσο για το τελευταίο σου post, μου βγάζει
>* Reconfiguring network interfaces...                                          Ignoring unknown interface eth1=eth1.
Ignoring unknown interface eth0=eth0. [OK ]

 

Αυτό είναι το error που σε ενδιαφέρει, αλλά δυστυχώς εμένα δε μου λέει κάτι.

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

Αγαπητοί συμφορουμίτες Debian-άδες.

 

Έχω φτάσει στο τελευταίο στάδιο του στησίματος του δικτύου. Έχω ακολουθήσει ακριβώς τα βήματα του πρώτου post του nske

 

Παρένθεση: (@ nske: φίλε διόρθωσε μόνο την εντολή iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT, προσθέτωντας το --to-source 160.140.180.108 στο τέλος, σε 2 σημεία που αναφέρεται η εντολή στο πρώτο σου post ώστε να βοηθήσει και τους επόμενους που θα ψάξουνε)

 

Έχω 2 προβλήματα:

 

1) Αν κάνω την τροποποίηση του /etc/network/interfaces

ώστε να γράφει

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

Το σύστημα ΔΕΝ φορτώνει καν αφού σε κάποιο στάδιο της φόρτωσης βγάζει 2-3 failed.

 

Αν το τροποποιήσω ώστε να γράφει

auto lo

iface lo inet loopback

 

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

τότε μπαίνω κανονικά στο σύστημα αλλά δεν έχω internet πουθενά.

 

ΤΟ ΕΡΩΤΗΜΑ ΛΟΙΠΟΝ ΕΙΝΑΙ: τι ακριβώς πρέπει να γράφει το /etc/network/interfaces;

 

By default γράφει

auto lo

iface lo inet loopback

 

 

2) Αν αφήσω το /etc/network/interfaces ως έχει δηλαδή

auto lo

iface lo inet loopback

τότε ο xubuntu server ΕΧΕΙ internet και το ΜΟΝΟ που πρέπει να κάνω για να συνδεθούν και οι hosts, είναι να δώσω την εντολή
ip addr add 192.168.2.1/24 dev eth0
.

 

Για να γίνει αυτό όμως πρέπει να συνδεθώ ως admin.

 

ΤΟ ΕΡΩΤΗΜΑ ΕΙΝΑΙ, τι ακριβώς πρέπει να κάνω για να γίνεται αυτόματα το ip addr add 192.168.2.1/24 dev eth0 κατά την εκκίνση του συστήματος.

 

 

 

ΜΙΑ ΠΑΡΑΤΗΡΗΣΗ: Ψάχνοντας να βρω λύση, παρατήρησα ότι κάποιοι δίνουν τις εντολές

sudo /sbin/iptables -P FORWARD ACCEPT και

sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 --source 192.168.2.1/24 -j SNAT --to-source 160.140.180.108

με ανάποδη σειρά. Μπορεί αυτό να έχει κάποια σχέση; Ευχαριστώ.
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ΤΟ ΕΡΩΤΗΜΑ ΕΙΝΑΙ, τι ακριβώς πρέπει να κάνω για να γίνεται αυτόματα το ip addr add 192.168.2.1/24 dev eth0 κατά την εκκίνση του συστήματος.

 

Κατω απο τις επιλογες του eth0 θα βαλεις και ενα

>auto eth0

και το interface θα ξεκινα στην εκκινηση.

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

Με λίγα λόγια το /etc/network/interfaces θα πρέπει να γράφει

auto lo

iface lo inet loopback

 

iface eth0 inet static

address 160.140.180.108

netmask 255.255.255.224

up ip addr add 192.168.2.1/24 dev eth0

auto eth0

Σωστά;

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

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

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

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