IP Masq

drcypher drcypher at hack.gr
Sat Jun 1 14:13:02 EEST 2002


Γεια σε όλους,
  προσπαθώ καιρό να συνδέσω ένα Linux Slackware 8.0 με πυρήνα 2.4.17 που
έχει dialup σύνδεση με Internet, με ένα μηχάνημα Windows 98 που δεν έχει
σύνδεση, έτσι ώστε το δεύτερο να μοιράζεται από το πρώτο. Συνδέονται
μέσω ενός μόνο UTP καλωδίου (δεν υπάρχουν άλλα pc στο δίκτυο).
  Για το λόγο αυτό, έψαξα στο Internet και εκτός του HOWTO βρήκα και
άλλα docs, τα οποία όμως δε διέφεραν και πολύ. Τέλος πάντων, τελικά
χρησιμοποίησα τη λύση του HOWTO, δηλ. το scriptάκι που δίνουν εκεί.
Εκτός από τις γραμμές που φορτώνουν τα modules του πυρήνα (όλα καλά)
υπάρχουν και οι παρακάτω:

EXTIF="ppp0"
INTIF="eth0"

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

echo "   clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT 
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT 
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD 
$IPTABLES -t nat -F

echo "   FWD: Allow all connections OUT and only existing and related
ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state
ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG

echo "   Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

  Αυτό, λοιπόν, το έχω βάλει να τρέχει κατά την εκκίνηση του συστήματος.
Έχω επίσης ρυθμίσει το eth0, και έχω δώσει στο Linux διεύθυνση
192.168.0.1 και στα windows 192.168.0.2. Ακολούθησα και τις οδηγίες για
τη ρύθμιση των windows προκειμένου να δουλέψει το ip masq, και τελικά,
εκτέλεσα τις δοκιμές που έλεγε και το howto και πήρα τα εξής
αποτελέσματα:
1. Μπορώ να κάνω ping από και προς τον server και τον client
χρησιμοποιώντας τις τοπικές διευθύνσεις τους (198.162...). Μπορώ να
συνδεθώ με telnet στο server (κανονικά login και όλα).
2. Μπορώ να συνδεθώ όπως πάντα στο Internet από το Linux έχω dns,
δουλεύουν όλα καλά.
3. Μπορώ να κάνω ping από τα windows στην IP Address που παίρνει το
linux κατά τη σύνδεση στο internet.
Εν ολίγοις, μπορώ να τα κάνω όλα εκτός από:
1. Ping από windows σε άλλη IP διεύθυνση στο Internet.
2. Χρήση ονομάτων αντί για IP (dns)

Εδώ θα ήθελα να σημειώσω τη μεγάλη σύγχυση που έχω τελικά, αφού έχω
διαβάσει αρκετά κείμενα για Internet με Linux και DNS. Νομίζω ότι το
τοπίο είναι πολύ θολό ως προς τα μηχανήματα που συνδέονται στο Internet
με dialup και δεν έχουν δικό τους registered domain. Όπου το ζητάει (και
στα κείμενα υπάρχει π.χ. το example.com) εγώ τι πρέπει να βάζω; Τίποτα;
Κάτι άσχετο όπως το example.com? Έναν υπάρχοντα Server που δεν έχει
καμία σχέση με μένα;
Κατά τη ρύθμιση του Slackware, που μου ζήτησε ένα όνομα για το μηχάνημα
του έδωσα. Μετά μου ζήτησε και domain. Για ποιο λόγο; Αφού δεν είναι
registered. Αυτό που έδωσα, και φυσικά δεν υπάρχει πουθενά (π.χ.
foo.bar.com) θα μου προκαλέσει προβλήματα όταν χρησιμοποιώ εφαρμογές του
internet? Μήπως παρόλο που δεν είναι έγκυρη διεύθυνση, θεωρείται έγκυρο
στοιχείο του μηχανήματος, οπότε θα έπρεπε να το δηλώνω ως τέτοιο κάθε
φορά που μου ζητάει ένα πρόγραμμα το domain μου?
Επίσης, στα windows, στο dns, τι έπρεπε να δώσω; Εγώ είχα βάλει την
otenet.gr και τα ip 195.170.0.2 και 195.170.2.1 (όμως δε δούλευε) Να
σημειώσω, ότι στο resolv.conf του Linux έχω μόνο search foo.bar.com και
τίποτα άλλο. Έχω βάλει το xisp να αλλάζει το resolv.conf όσο είμαι
συνδεδεμένος βάσει των στοιχείων που παίρνει από την otenet.gr και όντως
προσθέτει τα σωστά ip όση ώρα είμαι συνδεδεμένος.

Τι μπορεί, λοιπόν, να φταίει;
Να μην ξεχάσω να πω ότι μόλις πρόσφατα κατάφερα να κάνω τη samba (με
server το linux) να δουλέψει. Υπάρχει περίπτωση οι ρυθμίσεις της στα
windows ή στο linux να αποκλείουν ρυθμίσεις που χρειάζονται για να
δουλέψει το IP Masq ? (δεν έχω ρυθμίσει wins server, αλλά έχω ρυθμίσει
το server ως dns proxy, και πλέον έχω στα windows ως dns server το
Linux, δηλ. foo.bar.com και ip 192.168.0.1, χωρίς να ξέρω αν είναι dns
server ή τέλος πάντων πως κάνω ένα μηχάνημα που συνδέεται με dialup dns
server)

Είμαι σε πλήρη σύγχυση :-) Τι να κάνω; Ευχαριστώ για το χρόνο σας

-- 
Doctor Cypher, C/C++ Wanna-Be Coder
[http://www.hack.gr/users/drcypher]



More information about the Linux-greek-users mailing list