Руте које су потребне за испоруку пакета до њиховог коначног одредишта су конфигурисане у интерфејсу или рутеру. Ако рачунар има задатак да пошаље пакет у мрежу, он гледа у табелу рутирања, у којој су наведене ИП адресе одредишта и адресе интерфејса и рутера на кућној мрежи који могу послати пакет на жељену адресу. Ако за циљ није наведена рута, прво се користи такозвани подразумевани пролаз или подразумевана рута. Потпуно иста слика се примећује на рутеру. Уређај гледа одредишну ИП адресу и проверава је у односу на своју табелу рутирања, а затим је прослеђује даље. Затим ћемо, користећи пример, погледати како да конфигуришемо одређене руте и креирамо нове.
Пре него што почнете да мењате било шта, морате да разумете која правила се већ користе. Оперативни систем Линук нуди неколико команди за ово. Да бисмо то урадили, користимо посебну наредбу route
:
$ route
Овако изгледа Линук табела рутирања. Пружа једноставне информације, које нису увек довољне да се разуме суштина ствари. Да бисте добили детаљније информације, користите команду routel
:
$ routel
Овде можете видети ИП адресу (циљ), ИП адресу гејтвеја (гејтвеја), ИП пошиљаоца (извор), протокол, па чак и мрежни интерфејс. Али постоји погоднији начин да видите табелу рутирања у Линук-у користећи ИП команду:
$ ip route
Видимо резултат који је сличан резултату претходне команде. Пошто резултат није дат у најприкладнијој форми, може се користити као аргумент за ip route add
или ip route del
. Верујте ми, веома је згодно. Тако ћете видети да се 192.168.1.1
свуда користи као подразумевани гатеваи. Затим, хајде да разговарамо о томе шта значи излаз ове команде:
default
- подразумевана опција. Ово би требало да садржи ИП адресу циља или маску подмреже;via 192.168.1.1
- означава преко ког гејтвеја можемо доћи до овог циља, за нас је то 192.168.1.1
;dev enp2s0
- мрежни интерфејс преко којег ће овај гатеваи бити доступан;proto static
- значи да је руту поставио администратор, вредност кернел значи да је постављена од стране кернела;metric
је приоритет руте што је нижа вредност, већи је приоритет.Затим, погледајмо како су конфигурисане руте за Линук.
Корисник и даље има могућност да конфигурише табелу рутирања користећи ip
команду. На пример, да бисте променили подразумевану руту, само покрените:
$ ip route add default via 192.168.1.1
Дакле, можете додати руту за било коју ИП адресу, на пример, за 243.143.5.25
:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Дакле, наводимо ИП адресу циља, а затим и гатеваи на локалној мрежи преко којег се може доћи до ове адресе. Једини проблем је што су такве руте активне до првог поновног покретања рачунара. Након поновног покретања, они се аутоматски бришу. Да бисте поправили овај недостатак, руте треба додати у конфигурациони фајл.
На пример, системи породице Ред Хат имају конфигурационе датотеке /etc/sysconfig/network-scripts/route-ethX
. Свака датотека може описати неколико рута, на пример:
GATEWAY
=10.10.0.1
NETMASK
=255.0.0.0
IPADDR
=10.10.0.22
Ова конфигурациона датотека користи гатеваи, ово је мрежни пролаз за интерфејс, netmask
је мрежна маска, а ipaddr
је ИП адреса интерфејса. На Дебиан-у и његовим дистрибуцијама, можете конфигурисати руте у датотеци /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
је мрежни пролаз. У томе нема ништа компликовано. Сада ће додате руте остати чак и након поновног покретања.
Зато смо погледали како рутирање функционише у Линук-у, како је рутирање конфигурисано у Линук-у и зашто је потребно.