[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Ово је стара верзија документа!


Умрежавање

Netconfig

Рачунари сами по себи нису баш интересантни. Наравно, можете инсталирати игре на њима, али то ће их претворити у славне конзоле за забаву. Данас, рачунари треба да буду способни да комуницирају једни са другима; треба да буду умрежени. Било да инсталирате пословну мрежу са стотинама или хиљадама рачунара или једноставно постављате један рачунар за приступ интернету, са Слеквером је једноставно и лако. Ово поглавље ће вас научити како да подесите типичне жичане мреже. Уобичајено подешавање бежичне мреже ће бити темељно објашњено у следећом делу, али велики део онога што овде прочитате ће бити применљиво и тамо.

Постоји много различитих начина да конфигуришете ваш рачунар како би се повезао на мрежу или интернет, али се они могу свести на две основне категорије: статичке и динамичке. Статичке адресе су стабилне; оне се постављају се са намером да се не мењају, бар не у скорије време. Динамичке адресе су непостојане; претпоставка је да ће се адреса променити некад у будућности. Типично било која врста мрежног сервера захтева статичку адресу тако да друге машине знају где да га контактирају кад им затребају услуге. Динамичке адресе су намењене коришћењу у радним станицама, интернет клијентима, као и свакој машини која не захтева статичку адресу из било ког разлога. Динамичке адресе су флексибилније, али представљају компликације саме по себи.

Постоји много различитих врста мрежних протокола на које можете рачунати, али већина људи има потребу да се позабави само Интернет Протоколом (ИП).Из тог разлога ћемо се искључиво фокусирати на ИП у овој књизи.

Ручна конфигурација

У реду, дакле инсталирали сте Слеквер, подесили сте радну површ, али не можете да се повежете на интернет или ваш пословни LAN (Local Area Network), шта ћете урадити? Срећом, одговор на то питање је једноставан. Слеквер садржи бројне алатке за конфигурацију мрежног повезивања. Прва на коју ћемо се осврнути је врло моћна ifconfig(8), која се користи за подешавање или модификацију конфигурације најкоришћенијег хардвера за мрежна повезивања: Мрежну карту (Network Interface Card (NIC) или Етернет карту). ifconfig је невероватно моћна алатка и може да уради знатно више од самог подешавања ИП адреса. За комплетно упознавање, треба да прочитате man страну. За сада, користићемо је да прикажемо и променимо мрежне адресе неких етернет уређаја.

darkstar:~# ifconfig
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:699 errors:0 dropped:0 overruns:0 frame:0
          TX packets:699 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:39518 (38.5 KiB)  TX bytes:39518 (38.5 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:1c:b3:ba:ad:4c  
          inet addr:192.168.1.198  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:b3ff:feba:ad4c/64 Scope:Link          
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1630677 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1183224 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1627370207 (1.5 GiB)  TX bytes:163308463 (155.7 MiB)

wmaster0  Link encap:UNSPEC  HWaddr 00-1C-B3-BA-AD-4C-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Као што се јасно види овде, када је покренете без аргумената, ifconfig ће приказати све информације за све присутне етернет карте (и бежичне етернет карте). Горњи приказ представља типично бежично повезивање са мог преносног рачунара, тако да не бојте се да ако оно што видите на вашем систему не одговара овоме. Уколико не видите ниједно ethX или wlanX сучеље, могуће да је сучеље искључено. Да бисте приказали све тренутно присутне мрежне уређаје, небитно да ли су укључени или искључени, једноставно додајте аргумент -a.

darkstar:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:19:e3:45:90:44  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:122780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:124347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60495452 (57.6 MiB)  TX bytes:17185220 (16.3 MiB)
          Interrupt:16 

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:699 errors:0 dropped:0 overruns:0 frame:0
          TX packets:699 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:39518 (38.5 KiB)  TX bytes:39518 (38.5 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:1c:b3:ba:ad:4c  
          inet addr:192.168.1.198  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:b3ff:feba:ad4c/4 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1630677 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1183224 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1627370207 (1.5 GiB)  TX bytes:163308463 (155.7 MiB)

wmaster0  Link encap:UNSPEC  HWaddr 00-1C-B3-BA-AD-4C-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Приметите да је сада eth0 сучеље излистано у излазу. ifconfig може такође да промени тренутне поставке на мрежној карти. Типично, потребно је променити ИП адресу и маску подмреже, али ви можете променити виртуално било које параметре.

darkstar:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
darkstar:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:19:e3:45:90:44  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:122780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:124347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60495452 (57.6 MiB)  TX bytes:17185220 (16.3 MiB)
          Interrupt:16 

Ако погледате пажљиво, видећете да сада сучеље има ИП адресу 192.168.1.1 и маску подмреже 255.255.255.0. Сада смо подесили основе за повезивање на нашу мрежу, али још увек треба да подесимо уобичајени пролаз и наше ДНС сервере. Да бисмо то урадили, потребно је да погледамо још неке алатке.

Следећа наша тачка кроз земљу умрежавања је једнако моћна route(8). Ова алатка је одговорна за модификовање језгарне табеле рутирања која погађа пренос свих података на мрежи. Табеле рутирања могу постати веома комплексне, а могу бити и једноставне. Већини корисника ће бити потребно да подесе само подразумевани пролаз, па ћемо овде показати како се то ради. Ако вам из неког разлога буде потребна комплекснија табела рутирања, саветујемо вам да прочитате целу man страну за route као и да проучите друге изворе. За сада, хајде да погледамо нашу табелу одмах после подешавања eth0.

darkstar:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo

Нећу овде објашњавати све, али до општих информација је веома лако доћи ако сте уопште упознати са умрежавањем. Поља Destination и Genmask одређују распон ИП адреса. Уколико је дефинисан Gateway, информација у облику пакета ће бити послата до тог домаћина за отпремање. Такође одређујемо сучеље у последњем пољу где информација треба да пређе. Тренутно, можемо да комуницирамо само са рачунарима чије су адресе између 192.168.1.0 и 192.168.1.255 и нас кроз сучеље петље, врсте виртуелне мрежне карте која служи да рутира информацију са овог рачунара до њега самог. Како бисмо доспели до остатка света, потребно је да подесимо подразумевани пролаз.

darkstar:~# route add default gw 192.168.1.254
darkstar:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0

Можете одмах приметити додатак подразумеваној рути. Ово одређује шта рутер треба да користи како би стигао до адреса које нису одређене било где у нашој табели рутирања. Сада, ако бисмо желели да се повежемо на рецимо, 64.57.102.34, информација ће бити послата до 192.168.1.254 која је одговорна за испоруку података за нас. Нажалост, још нисмо завршили. Треба нам начин за конвертовање имена домена као што је slackware.com у ИП адресе које рачунар може да користи. За то морамо да искористимо ДНС сервер.

Срећом, подешавање рачунара да користи екстерни (или чак интерни) ДНС сервер је веома једноставно. Искористите омиљени уређивач текста и отворите фајл /etc/resolv.conf. Не питајте ме шта се десило са e. На мом рачунару resolv.conf изгледа овако.

# /etc/resolv.conf
search lizella.net
nameserver 192.168.1.254

Многим корисницима неће бити потребна линија која се односи на претрагу. Ово се користи да мапира име домаћина за име домена. У основи, ако ја покушам да се повежем на „barnowl“, рачунар ће знати да тражи „barnowl.lizella.net“ захваљујући овој линији. Углавном смо заинтересовани за линију која се односи на име срвера. Ово говори Слекверу на који ДНС (domain name server) да се повеже. Уопштено говорећи, ово би увек требало бити одређено ИП адресом. Уколико знате које ДНС сервере треба да користите, само их додајте једног по једног у посебне линије које се односе на име сервера. Заправо, не познајем бројчану границу имена сервера које можете да додате у resolv.conf, тако да можете додати колико желите. Када се ово заврши, моћи ћете да комуницирате са другим домаћинима преко њиховог потпуно квалификованог имена домена.

Али Алане! То је много посла! Не желим ово да понављам на десетине или чак стотине других машина. Потпуно сте у праву, и зато људи паметнији од вас и мене креирају ДХЦП. ДХЦП (DHCP) значи Dynamic Host Control Protocol и представља метод за аутоматско конфигурисање рачунара помоћу јединствених ИП адреса, мрежних маски, пролаза и ДНС сервера. У највећем броју случајева, користићете ДХЦП. Већина бежичних рутера, ДСЛ и кабловских модема, чак и заштитних зидова има ДХЦП сервере како би вам олакшали живот. Слеквер укључује две главне алатке за повезивање на постојећи ДХЦП сервер, а може да делује и као ДХЦП сервер за друге рачунаре. За сада, пажњу ћемо обратити само на ДХЦП клијенте.

Први на нашој листи је dhcpcd(8), део ИСЦ ДХЦП комплета алата. Претпоставимо да је ваш рачунар физички повезан на вашу мрежу, и да имате оперативни ДХЦП сервер на тој мрежи, можете конфигуриати ваш мрежни уређај једним потезом.

darkstar:~/ dhcpcd eth0

Уколико све прође по плану, ваш мрежни уређај би требало да буде прописно конфигурисан, и моћи ћете да комуницирате са другим рачунарима на вашој мрежи, и уопште са интернетом. Ако из неког разлога dhcpcd омане, пробајте са dhclient(8). dhclient је алтернатива за dhcpcd и у основи функционише на исти начин.

darkstar:~/ dhclient eth0
Listening on LPF/eth0/00:1c:b3:ba:ad:4c
Sending on   LPF/eth0/00:1c:b3:ba:ad:4c
Sending on   Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.254
bound to 192.168.1.198 -- renewal in 8547 seconds.

Зашто Слеквер укључује два ДХЦП клијента? Понекад одређени ДХЦП сервер може бити сломљен и може да не одговара ни на dhcpcd ни на dhclient. У том случају се можете вратити на други ДХЦП клијент у нади да ћете добити одговарајући одговор (одзив) са сервера. Традиционално, Слеквер користи dhcpcd који функционише у највећем броју случајева, али у неким ситуацијама може бити неопходно коришћење dhclient-а. Оба су сјајна ДХЦП клијента, тако да можете користити онај који вам највише одговара.

Аутоматско конфигурисање помоћу rc.inet1.conf

Веома је корисно поседовати вештину ручног конфигурисања сучеља, али то понекад може да буде исцрпно. Нико не жели да ручно подешава своју интернет везу сваки пут када подиже систем. Што је још важније, нећете увек имати физички приступ машини за време стартовања. Слеквер вам олакшава аутоматско конфигурисање етернет (и бежичних) уређаја при стартовању система са /etc/rc.d/rc.inet1.conf. За сада, фокусираћемо се на традисионално жичано етернет умрежавање; следеће поглавље ће се бавити различитим бежичним опцијама.

rc.inet1.conf је невероватно моћан конфигурациони фајл, способан за конфигурацију већине мрежних уређаја аутоматски кад се Слеквер покрене. Фајл је испуњен корисним коментарима, али постоји и man страна која темељније обрађује његову употребу. За почетак, погледаћемо неке од опција које користим на мојим машинама.

# Config information for eth0:
IPADDR[0]="192.168.1.250"
NETMASK[=]"255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
# Some lines ommitted.
GATEWAY="192.168.1.254"

Ово представља већину неопходних информација за конфигурацију статичке ИП адресе на једном етернет адаптеру. netconfig ће уместо вас испунити већину ових вредности за етернет уређај. Уколико имате више мрежних уређаја и потребно је да се сви они активирају аутомарски при покретању система, мораћете да уређујете или да додате додатне улазе у овај фајл на исти начин како је горе приказано. Прво, да савладамо неке основе.

Као што сте можда већ приметили, IPADDR[n] је Интернет Протокол Адреса (Internet Protocol Address) за n мрежни уређај. Уобичајено, вредности n одговара eth0, eth1, и тако даље, али није увек тако. Можете одредити ове вредности да се односе на друге мрежне адаптере помоћу IFNAME[n] варијабиле, али то ћемо оставити за бежично умрежавање, пошто се то више односи на бежичне мрежне адаптере.

Исто тако, NETMASK[n] је маска подмреже за дати мрежни адаптер. Уколико ове линије остану празне, статичке ИП адресе неће бити аутоматски додељене мрежном адаптеру. Варијабила USE_DHCP[n] говори Слекверу (природно) да користи ДХЦП за конфигурацију сучеља. DHCP_HOSTNAME[n] се ретко користи, али неки ДХЦП сервери га могу захтевати. У том случају, мора да буде подешено одговарајуће име домаћина. Коначно, стижемо до GATEWAY променљиве. Она је уствари постављена у фајлу, ниже него што је приказано у мом примеру, и контролише подразумевани пролаз. Можда ћете се запитати зашто не постоји GATEWAY[n] променљива. Одговор на то лежи у начину на који Интернет Протокол функционише. Нећу дубље улазити у дискусију по овом питању, али површно се може рећи да постоји само један уобичајени пут који рачунар користи невезано за број сучеља која су му додата.

Уколико сте приморани да користите статичку ИП адресу, морате набавити јединствену ИП адресу и маску подмреже за дато сучеље, као и уобичајену адресу пролаза, и све то унети овде. У rc.inet1.conf нема места за унос ДНС информација, тако да ће ДНС сервери морати ручно да буду унети у resolv.conf како је објашњено у Ручној конфигурацији. Наравно, уколико користите netconfig, ово ће за вас урадити програм. Погледајмо сада друго сучеље на мом рачунару.

# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]="yes"
DHCP_HOSTNAME[1]=""

Овде ја говорим Слекверу да конфигурише eth1 користећи ДХЦП. Не морам да постављам IPADDR[1] или NETMASK[1] варијабиле када користим ДХЦП (заправо, ако су подешене, биће игнорисане). Слеквер срећом контактира ДХЦП сервер чим се машина стартује.

Навигација кроз поглавља

Претходно поглавље: Emacs

Следеће поглавље: Бежично умрежавање

 sr:slackbook:network ()