tel: 607 418 664 e-mail: biuro@faut.pl

Zaloguj się Załóż konto

Routing dla dwóch odseparowanych interfejsów w sterowniku WAGO PFC200

 

Opis rozwiązania umożliwiającego jednoczesną komunikację przez dwa niezależne interfejsy Ethernet posiadające własne bramy domyślne. Rozwiązanie wykorzystuje policy routing systemu Linux (iproute2) oraz dwie niezależne tablice routingu.

Opis rozwiązania jest dla użytkowników zaawansowanych i należy go traktować jako wskazówki odnośnie kierunku działań a nie jako instrukcję typu kopiuj-wklej.

 

 

Środowisko testowe

Parametr Wartość
Sterownik WAGO PFC200
Firmware 03.06.19(18)
Środowisko narzędziowe eCockpit
Visualization Profile CODESYS V3.5 SP15 Patch 4
Protokół do testów np. Modbus UDP

Cel

Sterownik posiada dwa niezależne interfejsy Ethernet:

  • 192.168.1.x
  • 192.168.2.x

Każdy interfejs posiada własną bramę domyślną. Standardowa tablica routingu Linux pozwala tylko na jedną trasę default, dlatego wykorzystano policy routing oraz dwie dodatkowe tablice routingu.

 

Konfiguracja tablic routingu

 

Plik:

/etc/iproute2/rt_tables

Dodać:

1 rt1
2 rt2

 

Konfiguracja sieci

Skrypt:

/etc/config-tools/events/networking/update_routing

 

Przykład konfiguracji tablic

 

ip route add 192.168.1.0/24 dev br0 src 192.168.1.202 table rt1
ip route add default via 192.168.1.254 dev br0 table rt1
ip rule add from 192.168.1.202/32 table rt1
ip rule add to 192.168.1.202/32 table rt1

ip route add 192.168.2.0/24 dev br1 src 192.168.2.202 table rt2
ip route add default via 192.168.2.254 dev br1 table rt2
ip rule add from 192.168.2.202/32 table rt2
ip rule add to 192.168.2.202/32 table rt2

 

Modyfikacja funkcji AddDefaultRoute (Firmware 18)

 

Ścieżka wykonywania:

 

update_routing
    └── DoUpdate
          └── SetRoutes
                └── AddDefaultRoute

 

Należy rozszerzyć funkcję o parametr numeru tablicy routingu:

 

function AddDefaultRoute
...
local norttable=$3
...

 

Zamiast standardowego:

 

route add default gw ...

 

należy dodać:

 

ip route add $defnetw/24 dev br$norttable src $defip table rt$norttable
ip route add default via $defgwip dev br$norttable table rt$norttable
ip rule add from $defip/32 table rt$norttable
ip rule add to $defip/32 table rt$norttable

 

Firmware 19

 

Od firmware 19 producent przebudował skrypt konfiguracji sieci. Ścieżka wykonywania wygląda następująco:

 

update_routing
    └── DoUpdate
          └── SetRoutes
                └── AddRoutes

 

W związku z tym wcześniejsza modyfikacja funkcji AddDefaultRoute nie działa i skrypt należy przygotować od nowa.

 

Sprawdzenie konfiguracji

 

Wyświetlenie tablic routingu:

ip route list table rt1
ip route list table rt2

 

Wyświetlenie reguł:

ip rule show

 

Przykładowy wynik

 

0:      from all lookup local
32764:  from 192.168.1.202 lookup rt1
32765:  from 192.168.2.202 lookup rt2
32766:  from all lookup main
32767:  from all lookup default

 

Źródła

  • https://www.thomas-krenn.com/pl/wiki/Dwa_default_gateway_w_jednym_systemie


powrót do bazy wiedzy