IP는 동일하지만 인터페이스가 다른 여러 게이트웨이를 통한 OpenBSD 경로


9

동일한 게이트웨이 IP를 사용하는 여러 개의 VPN 연결이 있습니다 (제어 할 수 없으므로 변경할 수 없습니다). 이러한 VPN은 모두 서로 다른 네트워크에 대한 액세스를 제공하며 네트워크는 하나 이상의 홉 업스트림 업스트림이므로 모든 경우에 게이트웨이 IP가 필요합니다. Linux를 사용하여 네트워크로 라우팅하기 만하면됩니다.

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

기타

그런 다음 Linux는 각 대상 네트워크에 대한 트래픽을 올바른 게이트웨이로 향하고 올바른 게이트웨이로 향하게하므로 게이트웨이 IP가 각 인터페이스에 대해 동일한 것은 중요하지 않습니다.

내 질문은 OpenBSD에서 어떻게 이것을 달성 할 수 있습니까? 나는 노력하고 실패했다. 내 발견은 특정 목적지에 대해 다음 중 하나를 수행 할 수 있다는 것입니다.

  • 인터페이스를 지정하십시오 (해당 링크에 목적지에 직접 도달 할 수있는 경우)
  • 대상이 링크에 직접 있지 않으므로 게이트웨이 IP를 지정하십시오.

그러나 둘 다 지정하는 방법을 알 수 없습니다.


게이트웨이가 필요합니까? 링크가 이더넷이고 대상이 둘 이상의 홉 거리 ​​인 경우 게이트웨이가 필요합니다. 그러나 VPN은 종종 게이트웨이가 필요하지 않은 지점 간 인터페이스로 작동합니다.
kasperd

예, 인터페이스가 지점 간이지만 대상 네트워크가 모두 홉 이상 떨어져 있고 IP 전달 및 NAT가있는 것처럼 확실히 필요합니다.
bao7uo

지점 간 링크는 게이트웨이를 신경 쓰지 않습니다.
kasperd

좋아, 그럼 어떻게 작동하게 할 수 있니?
bao7uo

-T옵션을 사용하고 route각 대상에 대한 라우팅 테이블을 정의하는 것은 어떻습니까? 인터페이스 규칙마다 더 나은 "절연"을 제공한다고 생각합니다.
gmelis

답변:


1

-ifp 수정자를 사용하여 라우팅하십시오 . 로부터 man 페이지 :

In a change or add command where the destination and gateway are not
sufficient to specify the route, the -ifp or -ifa modifiers may be 
used to determine the interface name or interface address.

그래서 이런 식으로 작동합니다 :

# for  arg in tun0 tun1 tun2; do ifconfig $arg  192.168.11.1/24; done
# route add 10/8 -iface 192.168.11.1 -ifp tun0
add net 10/8: gateway 192.168.11.1
# route add 172.16/12 -iface 192.168.11.1 -ifp tun1
add net 172.16/12: gateway 192.168.11.1
# route add 192.168.254/24 -iface 192.168.11.1 -ifp tun2
add net 192.168.254/24: gateway 192.168.11.1
# route show -inet
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
Iface
10/8               192.168.11.1       GS         0        0     -     8 tun0
localhost          localhost          UHl        0       22 32768     1 lo0
172.16/12          192.168.11.1       S          0        0     -     8 tun1
192.168.11.1       192.168.11.1       UHhl       1        4     -     1 tun0
[...my real routes omitted...]
192.168.254/24     192.168.11.1       S          0        0     -     8 tun2

대상 경로가 겹치는 경우 pf 및 경로 레이블을 사용 하여 도메인 을 일치 시키거나 라우팅 할 수 있습니다 .


고마워 나는 그것을 시도했고 그것을 작동시킬 수 없었다. -iface게이트웨이 주소가 openbsd 상자 자체의 인터페이스 IP가 아닌 업스트림 라우터 (다음 홉) 용이기 때문에 적용 되지 않는다고 생각 합니다. -iface를 제거하면 작동했지만 첫 번째 VPN 인터페이스에서만 작동했습니다. 그래서 할 수 -ifp tap0있고 작동하지만 경로를 추가하려고 -ifp tap1하면 실패 no route to host합니다.
bao7uo

문제가 해결되지 않았지만 도와 주셔서 감사합니다.
bao7uo

나는 리눅스가 어떤 일을하고 있는지에 대해 정직하게 당황했다. -link -llinforoute 명령에 대한 플래그를 시도 했습니까 ? 또한 -iface적용됩니다 (네트워크 경로가 충돌하고 다시 추가 할 수 없기 때문에 언급 한 바와 같이 라우팅 테이블 / DOMIAN없이 오류가 발생합니다). OpenVPN / 탭? 가짜 ptp 인 경우 "다른"끝을 프로비저닝하는 것이 궁금합니다.
quadruplebucky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.