Ubuntu ruuter: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 264: Line 264:
   range 192.168.0.10 192.168.0.200;
   range 192.168.0.10 192.168.0.200;
}</pre>
}</pre>
<pre>/etc/init.d/dhcp3-server start</pre>


=Testimine=
=Testimine=

Revision as of 17:50, 9 November 2010

Sissejuhatus

Vahel võib tekkida vajadus jagada võrguühendust mitme masina vahel. Teenusepakkujad võimaldavad vahel võrguühenduse saamise ühele arvutile ühe ostetud ühenduse kohta. Selleks, et jagada antud ühendust mitme arvuti vahel on meil vaja ruuterit. Ruuterit võib osta poest valmis karbina või siis ise teha mõnest arvutist, millele saab lisada ka mõningaid muid teenuseid.

Eeldused

Antud lahendus on testitud Ubuntu 10.04 LTS koodnimega "Lucid Lynx" serveril.

Eeldab kasutaja varasemat kokkupuudet Unix/Linux/BSD käsustikuga ja arusaamist Unix-i laadsete operatsioonisüsteemide toimimisest. Samuti elementaarset arusaama arvutivõrkudest ja nende toimimise põhimõtetest.

Arvutil, millest hakatakse tegema ruuterit peaks olema 2 võrgukaarti (üks välise ühenduse jaoks ja teine sisese ühenduse jaoks) ja eelinstalleeritud operatsioonisüsteem.

Välise internetiühenduse puhul saadakse IP aadress teenusepakkujalt DHCP abil. Arvutil peaks olema olemas internetiühendus.

Installeerimine

Esmalt uuendame tarkvara nimekirjad

apt-get update

Installeerime nimeserveri, DHCP serveri, võrgusilla tööriistad, nimeserveri tööriistad

apt-get install bind9 dhcp3-server bridge-utils dnsutils

Seadistamine

Üldine seadistamine

Seadistame serverile nime. Selleks muudame esiteks /etc/hostname faili

nano /etc/hostname

Serveri nimeks paneme "ruuter". Muudetud faili sisu peaks nüüd olema

ruuter

Seadistame serverile ka domeeni ja täieliku domeeninime (FQDN - Fully Qualified Domain Name). Selleks muudame /etc/hosts faili

nano /etc/hosts

Domeeniks paneme "domeen.local" ja täielikuks domeeninimeks "ruuter.domeen.local". Failis peab muutma 127.0.1.1 aadressiga algavat rida järgmiseks

127.0.1.1     ruuter.domeen.local     ruuter

Ja lisame uue rea

192.168.0.1     ruuter.domeen.local     ruuter

Võrgukaartide seadistamine

Kuna ruuteril on 2 võrgukaarti, üks välisühenduse ja teine sisese ühenduse jaoks, siis on vaja seadistada ka võrguühendused. Selleks avame /etc/network/interfaces faili

nano /etc/network/interfaces

DHCP ja DNS serveri teenuste jaoks on vaja sisevõrku kuuluvale võrgukaardile staatilisi aadresse. Samuti seadistame silla. Muudetava faili sisu peaks nägema vastavalt ülesande püstitusele välja järgmine

# The loopback network interface
auto lo
interface lo inet loopback

# WAN network interface
auto eth0
iface eth0 inet dhcp

# LAN network interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
bridge-ports eth1

Taaskäivitame võrguteenuse

/etc/init.d/networking restart

Muudame serveri kuulama iseenda DNS serveri vastuseid. Selleks avame /etc/resolv.conf faili

nano /etc/resolv.conf

Faili sisu peaks olema selline

nameserver 127.0.0.1

NB! Kuna DNS server veel ei tööta, siis hetkel nimelahendus ka ei tööta.

Turvavõtme genereerimine

Kindlustamaks, et keegi peale DHCP serveri ei saaks DNS kirjeid uuendada peame looma salajase võtme, mida teavad nii DHCP server kui DNS server, mille abil tuvastatakse soovitud muudatuse lubatavus.

Genereerime võtme

dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER

Salvestame võtme ajutisse faili, kust saame seda pärast kopeerida konfiguratsioonifailidesse

cat Kdhcp_updater.*.private | grep Key > voti.txt

Eemaldame süsteemist genereeritud võtme

rm Kdhcp_updater.*

Bind9 seadistamine

Seadistame DNS serveri vahendama päringuid. Selleks avame /etc/bind/named.conf.options faili

nano /etc/bind/named.conf.options

Kommenteerime sisse forwarders sektsiooni ja kirjutame sinna ISP DNS serverite IP aadresid. Muudetud fail peaks välja nägema järgmine

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

         forwarders { 
                194.126.97.30;
                194.204.0.1;
         };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Muudame faili /etc/bind/named.conf.local

nano /etc/bind/named.conf.local

Lisame konfiguratsioonifaili salajase võtme ja selle seaded, tsoonid ning logimise. Muudetud konfiguratsioonifail peaks välja nägema järgmine

#The secret key used for DHCP updates.
key DHCP_UPDATER {
        algorithm HMAC-MD5.SIG-ALG.REG.INT;
        secret "aaaaaaaaaaaaa";
};

zone "domeen.local" IN {
        type master;
        file "/etc/bind/zones/db.domeen.local";
        allow-update { key DHCP_UPDATER; };
};

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "/etc/bind/db.0.168.192.in-addr.arpa";
        allow-update { key DHCP_UPDATER; };
};

logging {
        channel query.log {
                file "/var/log/query.log";
                serverity debug 3;
        };
        category queries { query.log; };
};

Serveris peaks pöördteisenduse tsooni(0.168.192.in-addr.arpa) puhul nimi vastama valitud sisevõrgu aadressiruumi.

Loome tsoonifailidele kataloogi

mkdir /etc/bind/zones

Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Loome tsoonifaili domeenile "domeen.local"

nano /etc/bind/zones/db.domeen.local

Tsoonifaili sisu peaks välja nägema järgmiselt

; Host-to-IP Address DNS Pointers for domeen.local
; The following parameters set when DNS records will expire, etc.
; Importantly, the serial number must always be iterated upward to prevent
; undesirable consequences. A good format to use is YYYYMMDDII where
; the II index is in case you make more that one change in the same day.
domeen.local. IN SOA ruuter.domeen.local. (
    2010110901 ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)
; NS indicates that ruuter is the name server on domeen.local
domeen.local. IN NS ruuter.domeen.local.
; Set an alias (canonical name) for ruuter
bzr IN CNAME ruuter.domeen.local.
; Set the address for localhost.domeen.local
localhost    IN A 127.0.0.1
; Set the hostnames in alphabetical order
ruuter       IN A 192.168.0.1

Loome tsoonifaili pöördteisenduse tsoonile

nano /etc/bind/zones/db.0.168.192.in-addr.arpa

Tsoonifaili sisu peaks välja nägema järgmiselt

; IP Address-to-Host DNS Pointers for the 192.168.0.0 subnet
@ IN SOA ruuter.domeen.local. (
    2010110902 ; serial
    8H ; refresh
    4H ; retry
    4W ; expire
    1D ; minimum
)
; define the authoritative name server
           IN NS ruuter.domeen.local.
; our hosts, in numeric order
1         IN PTR ruuter.domeen.local.

Taaskäivitame DNS serveri, et muudatused rakenduksid

/etc/init.d/bind9 restart

DHCP3-Server seadistamine

Seadistame DHCP serveri. Selleks avame konfiguratsioonifaili

nano /etc/dhcp3/dhcpd.conf

DHCP konfiguratsioonifaili sisu peaks välja nägema järgmiselt

ddns-update-style interim;
ignore client-updates;
ddns-domainname "domeen.local.";
ddns-rev-domainname "in-addr.arpa.";

default-lease-time 600;
max-lease-time 7200;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;

option domain-name "domeen.local";
option domain-name-servers ruuter.domeen.local;

authoritative;

log-facility local7;

key DHCP_UPDATER {
        algorithm HMAC-MD5.SIG-ALG.REG.INT;
        secret "aaaaaaaaa";
};

zone domeen.local. {
        primary 192.168.0.1;
        key DHCP_UPDATER;
}

zone 0.168.192.in-addr.arpa. {
        primary 192.168.0.1;
        key DHCP_UPDATER;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.10 192.168.0.200;
}
/etc/init.d/dhcp3-server start

Testimine

Varundamine

Taastamine

Kasutatud kirjandus

http://lani78.wordpress.com/2008/08/09/setting-up-a-dns-for-the-local-network/

http://lani78.wordpress.com/2008/08/10/setting-up-a-dhcp-server-on-ubuntu-hardy-heron/

http://lani78.wordpress.com/2008/08/12/dhcp-server-update-dns-records/

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

https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel

https://wiki.itcollege.ee/index.php/DHCP_teenus_Ubuntu_Server_s%C3%BCsteemis

Autor

Kalev Jõgi