VPN'ye bağlandığında yalnızca bir DNS kullanan ağ


9

Şirketimin bağlanmam gereken bir VPN'si var. OSX'te bunu openvpnaşağıdaki yapılandırmayla kullanarak yaparım :

client
dev tun
proto udp
remote <GATEWAY_ADDRESS> <PORT>
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /Users/Tommy/.openvpn/dev/ca-dev.crt
cert /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.crt
key /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.key
ns-cert-type server
tls-auth /Users/Tommy/.openvpn/dev/ta-dev.key 1
cipher BF-CBC
comp-lzo
verb 3
auth-nocache
;daemon
;writepid openvpn.pid

Ubuntu'da, network-manager-openvpnaynı yapılandırma seçenekleri kümesiyle yeni bir VPN bağlantısı (yapılandırma dosyasını içe aktarmaya çalışırken) yükledim ve ekledim: Ayarlarımın ekran görüntüleri

VPN'ye bağlandıktan sonra, herhangi bir alanı çözemiyorum.

Düzenlersem /etc/NetworkManager/NetworkManager.conf, satırı yorumlar dns=dnsmasqve yeniden network-managerbaşlatırsam şirketimdeki dahili alanları çözebilirim, ancak google.com gibi diğer alanlar hiç çözülmez. VPN bağlantım için ağ yöneticisinin IPv4 ve IPv6 sekmelerinde "Yöntem" i "Yalnızca Otomatik (VPN) adresleri" olarak ayarladığımdan emin oldum, ancak herhangi bir fark yaratmıyor gibi görünüyor.

Ayrıca yeniden etkinleştirmeyi dnsmasqve /etc/resolvconf/resolv.conf.d/base içermek için değiştirmeyi denedim nameserver 127.0.1.1, sonra çalışıyor sudo resolveconf -u, ancak daha sonra hiçbir etki alanı tekrar çözülmeyecek.

Şirketimin DNS sunucusu tarafından itilen alan adlarının bu şekilde çözümlenmesi ve diğer tüm alan adlarının normal şekilde çözümlenmesi için VPN'ime bağlanabilmek istiyorum.

EDIT: dnsmasq aslında yüklü olmadığını ortaya çıkıyor, ki bu varsayılan olarak olacağını düşündüm. Yine de, yüklersem, yeniden etkinleştirir /etc/NetworkManager/NetworkManager.conf, yerel ad sunucusu adresini ekler, /etc/resolvconf/resolv.conf.d/basetüm hizmetleri yeniden başlatır ve VPN'ye bağlanırsam, şirket DNS'sinden etki alanlarını çözebilirim, ancak diğer etki alanlarını çözemiyorum. Yani temelde dnsmasq'ı tamamen devre dışı bıraktığım durumla aynı.

EDIT: İçindekiler /etc/dnsmasq.conf: http://paste.ubuntu.com/7297231/


Bize dnsmasq ayarlarınızı gösterebilir misiniz? Dnsmasq genellikle yukarı akış DNS sunucularını /etc/resolv.conf sitesinden alır; bu nedenle, DNS'yi yalnızca VPN üzerinden çektiğinizi değiştirmediyseniz.
jkt123

Elbette. Ben bir bağlantı ekledim/etc/dnsmasq.conf
Tommy Brunn

Yanıtlar:


4

Yapılandırmanızdan, dnsmasq kurulumunuz kullanılacak DNS sunucularının listesini alıyor /etc/resolv.conf. Varsayılan olarak, dnsmasq olan DNS sunucularını kullanmayı tercih eder, ancak belirli bir isteği yalnızca tek bir DNS sunucusuna gönderir. Bu, yalnızca belirli sorguları sunabilen / sunacak birden çok DNS sunucunuz varsa sorunlara neden olabilir.

LAN'ınızda bir DNS sunucusu (VPN'ye bağlı olmadığınızda kullandığınız /etc/resolv.confsunucu) ve istediğiniz şirket ağındaki DNS sunucusunun kurulu olduğundan emin olarak bu sorunu çözebileceğinizi düşünüyorum . VPN üzerinden kullanın.

Ardından, dahil edilecek satırı düzenlemeniz /etc/default/dnsmasqve eklemeniz veya düzenlemeniz gerekir .DNSMASQ_OPTS=--all-servers

Eğer, bu kurulumla ilgili DNS sorgularını almak için hala mümkün değildir, başka bir yere yukarıdaki adımları sırasında oluşturulan resolv.conf dosya kopyalama gibi ~/resolv.conf, set /etc/resolv.confile nameserver 127.0.0.1ve aşağıdaki seçeneği ayarlanır /etc/dnsmasq.conf:

resolv-file=/home/your_username/resolv.conf

Bu, sisteminizi DNS için dnsmasq kurulumunuzu sorgulayacak şekilde yapılandırmalıdır ve her sorgu için hem yerel DNS sunucunuzu hem de VPN DNS sunucusunu kullanacaktır.

Düzenle : nmcliAracı kullanarak belirli bir bağlantı için kullanmakta olduğunuz DNS sunucularını bulabilirsiniz . Kablosuz bağlantım tarafından kullanılan DNS sunucularını bulmak için aşağıdaki sözdizimini kullandım:

nmcli dev list iface wlan0 | grep IP4.DNS

Bu komutu VPN'nize bağlı değilken ve daha sonra bağlı olduğunuzda ve şirket adreslerinizi çözebildiğinizde çalıştırırsanız, DNS sunucu listenizi VPN'den kapatıp açmanız gerekir. Umarım bu yardımcı olur.

Düzenleme 2 : Yönlendirme tablolarınıza bakıldığında, VPN yöneticinizin sizi bağlıyken tüm trafiğinizi VPN üzerinden yönlendirecek şekilde ayarladığı anlaşılıyor (varsayılan ağ geçidiniz bir VPN adresine değişir). Her iki DNS sunucunuz da genel adres olduğundan ve VPN'deyken belirli bir rota ayarlanmadığından, VPN üzerinden normal DNS aramaları yapmaya çalışıyorsunuz ve başarısız olan şey budur.

VPN kurulumunuza bağlı olarak, bu işlemi gerçekleştirmenin birkaç yolu olabilir:

  • VPN, internete şirket ağı üzerinden erişmenize izin veriyor ancak İnternet'teki sunuculara DNS sorguları gerçekleştirmiyorsa, DNS sunucularınıza şöyle: sudo route add -host 83.255.245.11 gw 192.168.0.1ve sudo route add -host 193.150.193.150 gw 192.168.0.1VPN'ye bağlandıktan sonra rota ekleyin .

  • VPN, şirket ağından internete erişmenize izin vermiyorsa, VPN'ye bağlandıktan sonra bilgisayarınızdaki varsayılan ağ geçidi ayarlarını 192.168.0.1'e işaret edecek şekilde değiştirmeniz gerekecektir. Bu durumda, normal varsayılan ağ geçidinizi ayarlamak ve ardından yalnızca VPN ekipmanına erişmek için ağ yolları eklemek istersiniz.

İkinci macununuzda gösterilen VPN'ye bağlı kasadaki yönlendirme tablonuzu aşağıdakilere indirmeniz gerekebilir:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
10.100.0.0      10.100.0.105    255.255.255.0   UGH   0      0        0 tun0
10.100.0.105    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Ardından, kurumsal ekipmana erişmek için ihtiyacınız olan rotaları ekleyin. Yukarıda gösterilen yönlendirme tablosunda VPN'de yanlış olabilecek bir / 24 ağ olduğunu varsaydım. Maskeyi uygun şekilde ayarlamanız gerekir.


Yerel DNS sunucuma ve şirket ağındaki adresi nasıl bulabilirim?
Tommy Brunn

Bu bilgiyi sağlamak için cevabımı düzenledim.
jkt123

Nmcli'ye göre, VPN'ye bağlı olmadığımda olduğu gibi, açıkça olmamam gerekse bile, aynı DNS sunucularını alıyorum, çünkü şirket ağında bir dahili etki alanını m bağlı.
Tommy Brunn

Bir nmcliVPN bağlantısı olmadan koştuğunuzda , DNS'i düzgün bir şekilde çözebildiniz mi? Değilse, VPN ile bağlantıyı kesmeli, DNS'inizin düzgün çalıştığından emin olmalısınız ve ardından çalıştırmalısınız nmcli.
jkt123

Evet, VPN bağlantısı kesildiğinde DNS'yi normal şekilde çözebildim. Örnek çıktı: paste.ubuntu.com/7345250
Tommy Brunn

0

NetworkManager'ın işleri sizin için nasıl koordine edeceğiyle ilgili olarak sizin için dolduramadığım bazı boşluklar var. Yine de koordine ettiği şeylerin nasıl çalışması gerektiğini açıklamaya çalışacağım. Mükemmel bir cevap değil, ama umarım faydalıdır. Aslında, bunun eski bir soru olduğu düşünüldüğünde, bu gerçekten gelecek kuşaklar içindir.

Şirket ağına bağlantılar dışında muhtemelen şirket VPN'sini kullanmak istemezsiniz. Bu durumda, VPN kurulumunuzun yalnızca uygun Ağ Aralıklarını VPN'ye yönlendirmesi ve varsayılan rotayı daha önce olduğu gibi yerel yönlendiricinize işaret etmesi daha iyi olur. Şirketlerin VPN'lerini yalnızca trafiği veya ağlarını yönlendirmek için kurmaları güzel olurdu, ancak maalesef bu nadir görünüyor. Neyse ki yolları yerel kurulumunuzda yapılandırabilirsiniz.

Bu, sizi hala olası bir DNS sorunu ile karşı karşıya bırakır. jtk123'ün dnsmasq'ın DNS ile yaptığı şeylerle ilgili yorumları dnsmasq'a özgü değildir - DNS bu şekilde çalışır. Bir DNS istemcisi veya aracı çözümleyicisi bir DNS girişinin bulunmadığı bir yanıt alırsa, başka bir DNS sunucusuna sormaya geri dönmek normal bir davranış değildir. Bu, isteğin şirket ağıyla ilgili olup olmadığı konusunda istediğiniz gibi yanıt verecek bir dns çözümleyicisine ihtiyacınız olduğu anlamına gelir.

Belki şirket ağınız daha geniş internet ile ilgili DNS sorgularını yanıtlar, bu durumda sadece onu kullanırsınız ve bu muhtemelen tamamdır. Aksi takdirde, şirketle ilişkili etki alanlarına yönelik istekleri DNS sunucularına ileten ve diğer istekleri uygun olan başka bir yere ileten yerel bir DNS sunucusuna ihtiyacınız vardır.

dnsmasq'a belirli etki alanlarına yönelik istekleri belirli yukarı akış DNS sunucularına iletmesi söylenebilir. dnsmasq.conf kılavuz sayfasında belirtilen --server seçeneğine bakınız. Ağ yöneticisi ile bu güzel oynamak için nasıl olsa açık değilim (şu anda öğrenmek için aradığım şey budur).

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.