OpenVPN yönlendirme ağ geçidi diğer tünelleri kırar


2

Bu benim ifconfig kurulumum:

eth1      Link encap:Ethernet  HWaddr 54:04:a6:49:99:16  
          inet addr:192.168.0.12  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::5604:a6ff:fe49:9916/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:33325389 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19876569 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:38511610122 (38.5 GB)  TX bytes:5030880286 (5.0 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1532251 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1532251 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:128544929 (128.5 MB)  TX bytes:128544929 (128.5 MB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1663663 errors:0 dropped:489668 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:14523 (14.5 KB)  TX bytes:1140762511 (1.1 GB)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.9.0.6  P-t-P:10.9.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1623870 errors:0 dropped:570939 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:828 (828.0 B)  TX bytes:1130753499 (1.1 GB)

wlan0     Link encap:Ethernet  HWaddr 00:21:00:e6:c8:aa  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Bu yüzden bu ip yönlendirme kurulumu var:

default via 192.168.0.1 dev eth1  proto static 
10.8.0.0/24 via 10.8.0.5 dev tun0 
10.8.0.5 dev tun0  proto kernel  scope link  src 10.8.0.6 
10.9.0.0/24 via 10.9.0.5 dev tun1 
10.9.0.5 dev tun1  proto kernel  scope link  src 10.9.0.6 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.12  metric 1 
192.168.1.0/24 via 10.8.0.5 dev tun0 

Amaçlandığı gibi çalışır. Her iki tünelden (openvpn) makineleri pingleyebiliyorum.

Ancak eklediğimde

sudo ip route add 0.0.0.0/1 via 10.9.0.5 dev tun1 
sudo ip route add 128.0.0.0/1 via 10.9.0.5 dev tun1 

her şey kırılıyor. Artık makinelere iki tünelden de ping atamıyorum.

Gerçekten neden olsa anlamadım. Çünkü "yüksek önek" rotası olarak tanımladım

10.8.0.0/24 via 10.8.0.5 dev tun0 

neden yeni "alt ön ek" rotası 10.8.0.1'e ping atmamı engelliyor?


Bağlam için, bu istemcinin bağlandığı ve 10.8.0.6 ipini aldığı bir openvpn sunucusu kullanıyorum. Bundan sonra aynı "orijinal" sunucuya (10.8.0.1) bağlı olan başka bir openvpn sunucusuna (10.8.0.10) bağlanır. İlk sunucu aslında beni sadece ikinci sunucuyla aynı alt ağa yerleştirir (ikinci sunucunun statik bir ipi yoktur ve bağlantı noktası iletilemez). Eklemekte olduğum 2 düşük önek yolu, ikinci bir sunucu üzerinden tüm trafiği iletmeye çalışırken "yönlendirme ağ geçidi" seçeneğinin bir parçası.


DÜZENLE:

Tüm yapılandırma dosyalarını ekliyorum. (Alakasız veya varsayılan ayarları atlayacağım)

  • main> İnternet trafiği yönlendirmesini sağlamaya çalışan ana müşteri
  • alpha> herkesi aynı alt ağa yerleştiren sunucu
  • beta> ana, trafiğini yönlendirmek istediği sunucu / istemci. (not, beta statik bir IP’ye sahip değildir ve bağlantı noktası değiştirilemez)

alpha server.conf

port 443
proto udp
dev tun
server 10.8.0.0 255.255.255.0
client-to-client
# broadcast beta's subnet
route 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"

beta client.conf (alfa sunucusuna bağlanmak için kullanılır)

client
dev tun
proto udp
remote [alpha IP] 443

beta server.conf (trafik bu sunucu üzerinden yönlendirilmelidir)

port 444
proto udp
dev tun
server 10.9.0.0 255.255.255.0
client-to-client
push "redirect-gateway local def1"
push "dhcp-option DNS 8.8.8.8"

ana alfa istemcisi.conf

client
dev tun
proto udp
remote [alpha IP] 443

ana beta istemcisi.conf

client
dev tun
proto udp
remote 10.8.0.10 444

EDIT 2:

Ben ara bir openvpn sunucusu kullanmak yerine, alfa sunucusunda ters bir SSH tüneli kullanmaya çalıştım, ancak aynı sorunu yaşadım.

Betadan bu şekilde tünel açtım

ssh -Nf -R \*:444:localhost:444 root@[alpha IP] 

Ve ana client.conf'u 10.8.0.10 yerine [alpha IP]: 444'e bağlanacak şekilde değiştirdi.

Yapılandırma, yönlendirme ağ geçidi olmadan mükemmel bir şekilde çalıştı, ancak yönlendirme ağ geçidi, 0.0.0.0/1 ve 128.0.0.0/1 rotalarını eklediği anda, hiçbir yere yeniden ping yapamadım.


Neden OpenVPN'in rotaları ayarlamasına izin vermiyorsunuz?
Michael Hampton

Gösterdiğim güzergahlar openvpn tarafından ayarlanmış güzergahlardır.
Nikita240

Yanıtlar:


1

Tünellerin dış uç noktasını tünel adresine yönlendiriyorsun. Bu işe yaramaz. Tünel bitiş noktaları için eth1 üzerinden belirli yollar eklerseniz çalışır.


Ne demek istediğini anlamadım.
Nikita240

Her şeyi tünele yönlendiriyorsunuz (iki / 1 'e bölünüyor). Tünelin dış adresi dahil. Bu şekilde, tünel kırılır. 10.8.0.5 ve 10.9.0.5'i tünel arayüzlerinden biri üzerinden değil eth1 üzerinden yönlendirdiğinizden emin olun.
Teun Vink

3
Bu tam olarak doğru değil. Bağlantı kurmak için istemcinin bağlanmak üzere yapılandırıldığı VPN sunucunuzun IP adresine bir ana bilgisayar yoluna ihtiyacınız var.
Michael Hampton

1
Peki, bunu daha kolay hale getiremiyorum: Yaptığınız şey VPN tüneli üzerinden yan tarafınızın bağlandığı VPN tünelinin dış uç noktasını yönlendiremezsiniz . Bunu yaptığınız an, tarafınız VPN bitiş noktası için trafiği VPN bitiş noktası üzerinden yönlendirmeye çalışır, böylece tünel kırılır. Daha önce de söylediğim gibi, tüm İnternet'i VPN üzerinden yönlendirmek istiyorsanız VPN uç noktalarınız için eth1 üzerinden açık ana bilgisayar yolları eklemeniz gerekir.
Teun Vink

1
Lütfen tünel yapılandırma ve yönlendirme tablonuzu orijinal soruya ekleyin.
Teun Vink
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.