Mam wiele połączeń VPN, które używają tego samego adresu IP bramy (nie mam możliwości zmiany tego, ponieważ jest poza moją kontrolą). Wszystkie te sieci VPN zapewniają dostęp do różnych sieci, a sieci mają co najmniej jeden lub dwa przeskoki w górę, więc we wszystkich przypadkach wymagany jest adres IP bramy. W systemie Linux, aby kierować do sieci, mogę po prostu zrobić:
ip route add $destination_1 via $gateway_ip dev $interface_1
ip route add $destination_2 via $gateway_ip dev $interface_2
ip route add $destination_3 via $gateway_ip dev $interface_3
itp.
Linux umieści następnie ruch dla każdej sieci docelowej na właściwych interfejsach, kierując się do właściwej bramy, więc nie ma znaczenia, że adres IP bramy jest taki sam dla każdego interfejsu.
Moje pytanie brzmi: jak mogę to osiągnąć w OpenBSD? Próbowałem i nie udało mi się. Moje ustalenia są takie, że dla konkretnego miejsca docelowego mogę:
- określić interfejs (jeśli miejsce docelowe jest osiągalne bezpośrednio na tym łączu - czego w moim przypadku nie ma)
- określ adres IP bramy, ponieważ miejsce docelowe nie znajduje się bezpośrednio na łączu
Ale nie mogę wymyślić, jak określić oba.
-T
opcjiroute
i zdefiniowanie tabeli routingu dla każdego miejsca docelowego? Myślę, że zapewnia lepszą „izolację” dla reguł poszczególnych interfejsów.Odpowiedzi:
Do zmiany trasy użyj modyfikatora -ifp . Od strony man :
Więc coś takiego działa:
Jeśli trasy docelowe się pokrywają, możesz użyć etykiet pf i tras do dopasowania lub trasowania domen .
źródło
-iface
zastosowanie, ponieważ adres bramy dotyczy routera wysyłającego (następnego przeskoku), a nie adresu IP interfejsu na samym pudełku openbsd. Kiedy usunąłem -iface, zadziałało, ale tylko dla pierwszego interfejsu VPN. Mogę to zrobić-ifp tap0
i działa, ale jeśli to zrobię,-ifp tap1
nie powiedzie się,no route to host
gdy spróbuję dodać trasę.-link -llinfo
flagi do polecenia trasy? Myślę też, że-iface
ma to zastosowanie (jak zauważyłeś, błąd pojawia się bez routingu tabel / domianów, ponieważ trasa sieci powoduje konflikt i nie można go dodać ponownie). OpenVPN / dotknij? Zastanawiasz się, co zapewnia „drugi” koniec, jeśli jest to fałszywy ptp.