Пакеттерді соңғы тағайындалған жерге жеткізу үшін қажет маршруттар интерфейсте немесе маршрутизаторда конфигурацияланады. Егер компьютерге желіге пакет жіберу міндеті қойылса, онда ол тағайындаулардың IP мекенжайларын және пакетті қажетті мекенжайға жібере алатын үй желісіндегі интерфейстер мен маршрутизаторлардың мекенжайларын көрсететін маршруттау кестесін қарайды. Егер мақсат үшін ешқандай маршрут көрсетілмесе, алдымен әдепкі шлюз немесе әдепкі маршрут деп аталады. Маршрутизаторда дәл осындай сурет байқалады. Құрылғы тағайындалған IP мекенжайын қарап, оны маршруттау кестесімен салыстырады, содан кейін оны қайта жібереді. Әрі қарай, мысалды пайдалана отырып, белгілі бір маршруттарды конфигурациялау және жаңаларын жасау жолын қарастырамыз.
Кез келген нәрсені өзгертуді бастамас бұрын, қандай ережелер қолданылып жатқанын түсінуіңіз керек. Linux операциялық жүйесі бұл үшін бірнеше пәрмендерді қамтамасыз етеді. Ол үшін арнайы route
командасын қолданамыз:
$ route
Linux маршруттау кестесі осылай көрінеді. Ол қарапайым ақпарат береді, бұл мәселенің мәнін түсіну үшін әрдайым жеткіліксіз. Толық ақпаратты алу үшін routel
пәрменін пайдаланыңыз:
$ routel
Мұнда сіз IP мекенжайын (мақсат), шлюздің IP мекенжайын (шлюз), жіберушінің IP-ін (көзі), протоколды және тіпті желі интерфейсін көре аласыз. Бірақ IP пәрмені арқылы Linux маршруттау кестесін қараудың ыңғайлы жолы бар:
$ ip route
Біз алдыңғы команданың шығысына ұқсас нәтижені көреміз. Нәтиже ең қолайлы пішінде берілмегендіктен, оны ip route add
немесе ip route del
үшін аргумент ретінде пайдалануға болады. Маған сеніңіз, бұл өте ыңғайлы. Осылайша сіз 192.168.1.1
барлық жерде әдепкі шлюз ретінде пайдаланылатынын көресіз. Әрі қарай, осы команданың нәтижесі нені білдіретіні туралы сөйлесейік:
default
- әдепкі опция. Бұл мақсаттың IP мекенжайын немесе ішкі желі маскасын қамтуы керек;via 192.168.1.1
- бұл мақсатқа қай шлюз арқылы жетуге болатынын көрсетеді, біз үшін бұл 192.168.1.1
;dev enp2s0
- бұл шлюз қол жетімді болатын желілік интерфейс;proto static
- маршрутты әкімші орнатқанын білдіреді, мән ядросы оның ядромен орнатылғанын білдіреді;metric
– маршруттың басымдылығы неғұрлым төмен болса, соғұрлым басымдық жоғары болады;Әрі қарай, Linux маршруттары қалай конфигурацияланғанын қарастырайық.
Пайдаланушы әлі де ip
пәрмені арқылы маршруттау кестесін конфигурациялау мүмкіндігіне ие. Мысалы, әдепкі маршрутты өзгерту үшін жай ғана іске қосыңыз:
$ ip route add default via 192.168.1.1
Сонымен, кез келген IP мекенжайы үшін маршрут қосуға болады, мысалы, 243.143.5.25
үшін:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Сонымен, біз мақсаттың IP мекенжайын, содан кейін осы мекенжайға жетуге болатын жергілікті желідегі шлюзді көрсетеміз. Жалғыз мәселе - мұндай маршруттар компьютердің бірінші қайта жүктелуіне дейін белсенді. Қайта жүктегеннен кейін олар автоматты түрде жойылады. Бұл кемшілікті түзету үшін конфигурация файлына маршруттарды қосу керек.
Мысалы, Red Hat отбасылық жүйелерінде /etc/sysconfig/network-scripts/route-ethX
конфигурация файлдары бар. Әрбір файл бірнеше маршруттарды сипаттай алады, мысалы:
GATEWAY
=10.10.0.1
NETMASK
=255.0.0.0
IPADDR
=10.10.0.22
Бұл конфигурация файлы шлюзді пайдаланады, бұл интерфейске арналған шлюз, netmask
- желі маскасы және ipaddr
- интерфейстің IP мекенжайы. Debian және оның дистрибутивтерінде /etc/network/interfaces
файлында маршруттарды конфигурациялауға болады. Мұнда маршрут командасы iface
бөліміне қосылады. Мысалы:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
-net
опциясын пайдаланып біз мақсатты желіні көрсетеміз, netmask
- желі маскасы, ал gw
шлюз. Бұл туралы күрделі ештеңе жоқ. Енді қосылған маршруттар қайта жүктеуден кейін де қалады.
Сонымен, біз Linux жүйесінде маршруттау қалай жұмыс істейтінін, Linux жүйесінде маршруттау қалай конфигурацияланатынын және ол не үшін қажет екенін қарастырдық.