Gentoo Linux

Σύντομος οδηγός: Πώς να χρησιμοποιήσετε υπολογιστή με λειτουργικό Gentoo Linux ως IPv6 CPE

Σκοπός του παρόντος οδηγού είναι να περιγράψει το πως μπορεί να χρησιμοποιηθεί ένα σύστημα που τρέχει Gentoo Linux ή άλλη διανομή του Linux σαν CPE, ελληνιστί ρούτερ, με υποστήριξη IPv6. Προϋπόθεση είναι να έχετε ήδη ρυθμίσει το σύστημα σας να λειτουργεί σαν IPv4 router μέσω PPPoE, καθώς και κάποια εξοικείωση με το περιβάλλον κονσόλας. Οι οδηγίες είναι συγκεκριμένες προς το Gentoo αλλά με κάποια προσαρμογή μπορούν να χρησιμοποιηθούν και σε άλλες διανομές.

Προτείνεται η χρήση όσο το δυνατόν νεότερου kernel καθώς έχουν φτιαχτεί αρκετά bugs σχετικά με το IPv6. Οι οδηγός δοκιμάστηκε και γράφτηκε με kernel version 2.6.37

Στο ακόλουθο κείμενο υποθέτουμε ότι το interface eth0 είναι το εσωτερικό interface του μηχανήματος με πρόσβαση στο τοπικό δίκτυό μας. Κάνετε αλλαγές ανάλογα με την δικιά σας τοπολογία δικτύου.

Ξεκινώντας, χρειάζονται τα πακέτα sys-apps/iproute2 και net-misc/dibbler (έκδοση 0.7.3 η νεότερη) καθώς και το net-misc/radvd. Αφού τα εγκαταστήσετε, ξεκινάμε με το configuration του dibbler. Επεξεργαστείτε το /etc/dibbler/client.conf ως εξής:

iface ppp0 {
rapid-commit yes
pd
option dns-server
}

Σειρά έχει το confguration του ppp. Στις επιλογές του ppp στο /etc/conf.d/net προσθέτουμε το ακόλουθο string: “ipv6 ,” προσοχή, το κόμμα είναι απαραίτητο! Παράδειγμα ρύθμισης του ppp:

pppd_ppp0=(
#Do not require the peer to authenticate itself
"noauth"
#if you wanna set the default route to the peer, uncomment following line
"defaultroute"
#set it when you want to use peer DNS entries
#/etc/resolv.conf will be changed when link goes up
#and restored to the previous content when link goes down
"usepeerdns"
#holdoff = Specifies how many seconds to wait before re-initiating the link after it terminates
#lcp-echo-interval = Send a LCP echo request frame to the peer at every n seconds
#lcp-echo-failure = The peer will be presumed dead after n consecutive unreplied echo frames
"holdoff 15 lcp-echo-interval 30 lcp-echo-failure 4 mru 1492 mtu 1492"
#this options disable compression completely
"noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
#enable ipv6 handshaking
"ipv6 ,"
)

Επίσης, φροντίστε να αλλάξετε το domain του username σας σύμφωνα με τις οδηγίες που μπορείτε να βρείτε στο FAQ του πιλοτικού προγράμματος του ΟΤΕ.

Επόμενο βήμα, να δώσουμε το απαραίτητο script στον ppp το οποίο θα εκτελεστεί μετά το σήκωμα του PPP interface και θα ρυθμίσει τις IP στο σύστημά μας καθώς και τον radvd.

Πηγαίνουμε στο /etc/ppp/ .Εκεί δίνοντας ls -l βλέπουμε οτι τα αρχεία ipv6-up και ipv6-down είναι symbolic links. Σβήνουμε τα link και δίνουμε:

cp ip-up ipv6-up
cp ip-down ipv6-down
chmod 755 ipv6-up ipv6-down

Ακολούθως τα ανοίγουμε και αλλάζουμε το κάθε script ώστε η γραμμή που ξεκινά με την εντολή “cd” να είναι ως εξής:

File: ipv6-up
cd /etc/ppp/ipv6-up.d || exit
File: ipv6-down
cd /etc/ppp/ipv6-down.d || exit
Μετά τις αλλαγές, δημιουργούμε τους 2 αυτούς καταλόγους:
mkdir ipv6-up.d
mkdir ipv6-down.d

Στον κατάλογο ipv6-up.d δημιουργούμε ένα αρχείο κειμένου, έστω 00-ipv6.sh, με τα εξής περιεχόμενα:

#!/bin/sh
rm /etc/dibbler/radvd.conf
/etc/init.d/dibbler-client restart
while [ ! -f /etc/dibbler/radvd.conf ]
do
sleep 2
done
prefix=`cat /etc/dibbler/radvd.conf|grep -m1 "prefix"|sed -e 's/.*prefix.//' -e 's/::\/.*//'`
ip addr add $prefix:f101::1 dev eth0
ip addr add $prefix::1 dev ppp0
ip route add 2000::/3 via $5 dev ppp0
sed -i -e 's/\(prefix*\).*/\1 '"$prefix"'::\/64/' /etc/radvd.conf
/etc/init.d/radvd restart

Στον κατάλογο ipv6-down.d με την ίδια διαδικασία φτιάχνουμε πάλι ένα αρχείο κειμένου με τα εξής περιεχόμενα:

#!/bin/sh
ip addr del `ip -6 addr show eth0 | grep " 2.*/128 scope global"|sed -e 's/.*inet6 //' -e 's/.scope.*//'` dev eth0
/etc/init.d/dibbler-client stop
/etc/init.d/radvd stop

Επόμενο βήμα, ρύθμιση του radvd. Ανοίγουμε το /etc/radvd.conf και το κάνουμε ως εξής:

interface eth0
{
IgnoreIfMissing on;
AdvSendAdvert on;
AdvManagedFlag off;
AdvOtherConfigFlag on;
# Advertise at least every 30 seconds
MaxRtrAdvInterval 30;
prefix ::/64
{
AdvOnLink on;
AdvAutonomous on;
# Very short lifetimes for dynamic addresses
AdvValidLifetime 300;
AdvPreferredLifetime 120;
};
};

Εδώ ουσιαστικά έχουμε τελειώσει. Προαιρετικά, αν τρέχετε κάποιον τοπικό DNS server/forwarder με υποστήριξη IPv6 μπορούμε να τον δώσουμε στους LAN clients με την χρήση του dibbler-server που είναι ένας κανονικός DHCPv6 server. Απλά θέτουμε το αρχείο /etc/dibbler/server.conf ως εξής:

log-mode short
stateless
iface eth0 {
option dns-server 2000::100,2000::101
# renew obtained paramters every 1800 seconds
option lifetime 1800
}

Στη θέση τις διεύθυνσης που ακολουθεί το “option dns-server” βάζετε την Link Local IPv6 διεύθυνση του εσωτερικού LAN interface σας, eth0 στο παράδειγμά μας. Τέλος, φροντίζουμε ο dibbler-server να ξεκινά όταν ξεκινά και το σύστημα.

Αν όλα πήγαν καλά, επανεκκινώντας την σύνδεση PPP θα πρέπει να έχετε dual-stack σύνδεση. Δίνοντας την εντολή “ip addr show ppp0″ θα πρέπει να δείτε 1 διεύθυνση IPv4 και 2 διευθύνσεις IPv6, μία με scope global και μια με scope link. Με την αντίστοιχη εντολή για το eth0 θα πρέπει να δείτε το ίδιο.

Από αυτή τη στιγμή το σύστημά σας έχει πλέον συνδεσιμότητα IPv6. Όπως και το απλό IPv4, χρειάζονται τα κατάλληλα μέτρα προστασίας, όπως π.χ. ένα firewall, αλλά αυτό ξεφεύγει από τα πλαίσια του παρόντος οδηγού και αφήνεται στον χρήστη

Submitted by: charlie2alpha

One Response to “Gentoo Linux”

  1. […] -Τις σχετικές οδηγίες μπορείτε να τις βρείτε στον οδηγό που έχει δημοσιευθεί στην αντίστοιχη σελίδα του OTE: Gentoo Linux ώς IPv6 Router […]

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Copyright OTE 2017 Suffusion theme by Sayontan Sinha