Ако правите мрежови експерименти с GNS3 или настройвате машина с Линукс като рутер, понякога може да ви се наложи да настроите статични пътища(static routes).В Ubuntu базираните дистрибуции с които съм по-запознат това може да стане по няколко начина. Най-опростения и временен вариант е да вкарате пътя с команда. Например искате да вкарате път към мрежа 192.168.5.0/24 през интерфейс eth1, който е с адрес 192.168.4.1. Следната командата следва да бъде изпълнена(с администраторски права):

route add -net 192.168.5.0/24 gw 192.168.4.1 eth1

или

route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.4.1 eth1

/Няма нужда да добавяте пътища за мрежи, към които сте директно свързани. Системата би трябва да ги добавя автоматично/

Резултатът и от двете команди е еднакъв, така че дали ще напишете /24 за маска или 255.255.255.0 няма никакво значение. Това което прави командата е : route add означава добавяне на пътя, -net означава че пътя е към цяла мрежа а не към определен хост например. Следва адреса на мрежата с нейната маска и gw означава gateway или шлюз, за да знае системата накъде да насочи пакетите които идват за тази мрежа. Последното eth1 е локалният интерфейс. Не съм пробвал но принципно би трябва да стане и без се зададе интерфейс, разликата е че системата ще провери 2 пъти таблицата за да намери откъде да изпрати пакета. Препоръчва се за по-оптимална работа да се зададе пълен път, както е в примера с ip адрес и локален интерфейс. Резултатът може да се провери като се изпълни пак командата route. Освен пътищата по подразбиране би трябва да видите и добавеният от вас. route

Това са пътищата конфигурани при мен. С разликата е че при мен бяха нужни за едни експерименти и всички пътища от 100 до 104 са насочени към 192.168.100.1 който е адреса на локалният tap0 интерфейс. Този интерфейс е изкуствено създаден с цел експерименти. Имената на реалните интерфейси в повечето случаи са ethX за Ethernet и wlanX за Wireless устройства където X е номерът на устройството. Като се има предвид че номерацията винаги започва от 0.

Вторият начин за добавяне на пътищата е пак подобен на първия, с разликата че вместо да ги пишете всеки път наново след рестарт на системата, може да ги сложите в /etc/rc.local.Това е файл който системата изпълнява след стартирането и след зареждане на мрежовите настройки и един вид се използва като startup script. По същият начин запишете командата за създаване на път в този файл с помощна на някой текстов редактор. Също така могат да се зададат и други команди, които искате системата да изпълнява след всяко стартиране. Ето за пример моят rc.local файл:

route2 Освен пътища, за да работи рутирането в Линукс трябва да е включена опцията ip forwarding. Това може да се провери с командата:

cat /proc/sys/net/ipv4/ip_forward

Ако върне резултат 0 значи препращането е изключено, ако върне 1 това означава че опцията е включена. Това echo1 > /proc/sys/net/ipv4/ip_forward включва препращането, но пак е временно решение и се налага след рестарт да се прилага всеки път отново. Ако искате тази опция да остане постоянно включена трябва да редактирате вашия /etc/sysctl.conf файл и да махнете отметката от #net.ipv4.ip_forward=1 полето.