Routing statyczny w Linuxie polega na ręcznym skonfigurowaniu tabel routingu w celu określenia, jakie pakiety mają być przesyłane przez konkretne interfejsy sieciowe. W przeciwieństwie do routingu dynamicznego, w którym routery wymieniają informacje o trasach między sobą, routing statyczny jest konfigurowany lokalnie na danym systemie.
Przyjrzyjmy się przykładowemu scenariuszowi routingowemu w Linuxie, gdzie mamy dwa interfejsy sieciowe: eth0 i eth1. Załóżmy, że chcemy skonfigurować routing statyczny, aby pakiety kierowane do pewnej podsieci były przesyłane przez interfejs eth1.
Sprawdź dostępne interfejsy sieciowe:
$ ip link show
Wynik może wyglądać mniej więcej tak:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
Widzimy tutaj dwa interfejsy: eth0 i eth1.
Dodaj trasę statyczną dla konkretnej podsieci, aby pakiety były kierowane przez interfejs eth1:
$ sudo ip route add 192.168.10.0/24 via <adres_IP_eth1> dev eth1
Zamień <adres_IP_eth1>
na rzeczywisty adres IP interfejsu eth1.
Na przykład, jeśli adres IP interfejsu eth1 to 192.168.1.100, to komenda będzie wyglądać następująco:
$ sudo ip route add 192.168.10.0/24 via 192.168.1.100 dev eth1
Sprawdź tablicę routingu:
$ ip route show
Wynik powinien zawierać wpis dla 192.168.10.0/24 kierujący pakiety przez interfejs eth1.
W ten sposób skonfigurowaliśmy routing statyczny, aby pakiety kierowane do podsieci 192.168.10.0/24 były przesyłane przez interfejs eth1. Można dodać więcej tras statycznych w celu skonfigurowania bardziej złożonych scenariuszy routingu.