Ubuntu ruuter
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. home.lan. IN SOA ubuntu.home.lan. hostmaster.home.lan. ( 2008080901 ; serial 8H ; refresh 4H ; retry 4W ; expire 1D ; minimum ) ; NS indicates that ubuntu is the name server on home.lan ; MX indicates that ubuntu is (also) the mail server on home.lan home.lan. IN NS ubuntu.home.lan. home.lan. IN MX 10 ubuntu.home.lan. ; 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
touch /etc/bind/zones/db.domeen.local
DHCP3-Server seadistamine
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