Aynı IP'ye sahip ancak farklı arayüzlerde farklı ağ geçitleri üzerinden OpenBSD yolu


9

Aynı ağ geçidi IP'sini kullanan birden fazla VPN bağlantım var (bunu kontrolüm dışında olduğu için değiştirme yeteneğim yok). Bu VPN'lerin tümü farklı ağlara erişim sağlar ve ağlar yukarı akışta en az bir veya iki duraktır, bu nedenle her durumda bir ağ geçidi IP'si gereklidir. Linux ile ağlara yönelmek için şunları yapabilirim:

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

vb.

Linux daha sonra her hedef ağın trafiğini doğru ağ geçidine yönlendirilen doğru arabirimlere yerleştirir, bu nedenle ağ geçidi IP'sinin her arabirim için aynı olması önemli değildir.

Benim sorum, bunu OpenBSD'de nasıl başarabilirim? Denedim ve başarısız oldum. Bulgularım, belirli bir varış noktası için:

  • bir arabirim belirtin (hedefe bu bağlantıda doğrudan erişilebiliyorsa - bu benim durumumda değil)
  • hedef doğrudan bağlantıda olmadığından bir ağ geçidi IP'si belirtin

Ama ikisini de nasıl belirleyeceğimi bilemiyorum.


Bir ağ geçidinin gerekli olduğundan emin misiniz? Bağlantı Ethernet ise ve hedef birden fazla uzaktaysa bir ağ geçidi gerekir. Ancak VPN'ler genellikle ağ geçidine ihtiyaç duymayan noktadan noktaya arayüzler gibi davranır.
kasperd

Evet, kesinlikle arayüzler noktadan noktaya olmasına rağmen, hedef ağların hepsi birden fazla hop uzaklıkta ve ip yönlendirme ve NAT dahil olduğu için
gereklidir

Noktadan noktaya bağlantılar ağ geçitleri ile ilgilenmez.
kasperd

tamam, ama o zaman işe nasıl alabilirim?
bao7uo

Her hedef için bir yönlendirme tablosu -Tkullanma routeve tanımlama tablosunu kullanmaya ne dersiniz ? Arayüz kuralları için daha iyi "yalıtım" sağladığını düşünüyorum.
gmelis

Yanıtlar:


1

Kullanım -ifp için değiştirici güzergahı . Gönderen adam sayfası :

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.

Yani böyle bir şey işe yarıyor:

# 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

Hedef rotalarınız çakışıyorsa , alan adlarını eşleştirmek veya yönlendirmek için pf ve rota etiketlerini kullanabilirsiniz .


Bunun için teşekkürler. Ben denedim ve işe yaramadı. -ifaceAğ geçidi adresi, openbsd kutusunun kendisinde bir arabirimin IP'si değil, yukarı yönlü bir yönlendirici (sonraki atlama) için geçerli olduğunu düşünmüyorum . -İface'i kaldırdığımda işe yaradı, ama sadece ilk VPN arayüzü için. Bu yüzden yapabilirim -ifp tap0ve işe yarıyor, ama yaparsam rotayı eklemeye çalıştığımda -ifp tap1başarısız oluyor no route to host.
bao7uo

Sorunu çözmese de, sana ödül verdim çünkü yardım etmeye çalıştığın için minnettarım.
bao7uo

Dürüst olmak gerekirse linux orada başlık altında ne yaptığını şaşkın ... BSD gw yerel değil şikayet ederek "doğru" bir şey yapıyor. -link -llinfoRoute komutunun bayraklarını denediniz mi? Ayrıca, bence -ifacegeçerli (belirttiğiniz gibi tabloları / domianları yönlendirmeden hata alıyorsunuz, çünkü ağ yolu çakışıyor ve tekrar eklenemiyor). OpenVPN / dokunun? Eğer sahte bir ptp ise, "öteki" son ne sağlar merak ediyorum.
quadruplebucky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.