OpenVPN bağlantım pf.conf kullanarak etkin olmadığı sürece harici ağlara yapılan tüm bağlantıları reddedebildim. Ancak, dizüstü bilgisayarın kapağını açıp açarak veya Wi-Fi'yi kapatıp açarak bağlantı kesilirse Wi-Fi bağlantısını kaybederim.
- Mac OS 10.8.1 kullanıyorum.
- Web'e Wi-Fi (genel Wi-Fi dahil olmak üzere çeşitli konumlardan) ile bağlanıyorum.
- OpenVPN bağlantısı Viscosity ile kurulur.
Aşağıdaki paket filtre kuralları ayarlanmış /etc/pf.conf
# Deny all packets unless they pass through the OpenVPN connection
wifi=en1
vpn=tun0
block all
set skip on lo
pass on $wifi proto udp to [OpenVPN server IP address] port 443
pass on $vpn
Paket filtre hizmetini ile başlatır sudo pfctl -e
ve yeni kuralları yüklerim sudo pfctl -f /etc/pf.conf
.
Ayrıca paket filtresini sistem başlangıcında başlatılacak şekilde okumak /System/Library/LaunchDaemons/com.apple.pfctl.plist
için satırı düzenledim ve değiştirdim .<string>-f</string>
<string>-ef</string>
Her şey ilk başta işe yarıyor gibi görünüyor: uygulamalar yalnızca OpenVPN bağlantısı etkinse web'e bağlanabilir, bu nedenle güvenli olmayan bir bağlantı üzerinden asla veri sızdırmazım.
Ancak, dizüstü bilgisayar kapağımı kapatıp yeniden açarsam veya Wi-Fi'yi kapatıp tekrar açarsam, Wi-Fi bağlantısı kesilir ve durum çubuğundaki Wi-Fi simgesinde bir ünlem işareti görürüm. Kablosuz simgesine tıklandığında "Uyarı: İnternet bağlantısı yok" mesajı gösterilir:
Bağlantıyı yeniden kazanmak için, "Uyarı: İnternet bağlantısı yok" mesajı kaybolmadan ve VPN bağlantısını tekrar açabilmek için Wi-Fi bağlantısını bazen beş veya altı kez yeniden kesmem gerekiyor. Diğer zamanlarda, Wi-Fi uyarısı kendi isteğiyle kaybolur, ünlem işareti temizlenir ve tekrar bağlanabiliyorum. Her iki durumda da, tekrar bağlantı kurmak beş dakika veya daha uzun sürebilir, bu da sinir bozucu olabilir.
Hattın kaldırılması block all
sorunu çözer (ancak güvenli olmayan bağlantılara izin verir), bu yüzden Apple'ın bir Wi-Fi bağlantısını yeniden kazanmak ve onaylamak için engellediği bir hizmet var gibi görünüyor. Denedim:
pass on $wifi proto icmp all
Pf.conf dosyasına ekleyerek icmp'yi etkinleştirme- Ekleyerek DNS çözümlemesini etkinleştirme
pass on $wifi proto udp from $wifi to any port 53
- Günlüğü (değiştirerek paketlerini bloke daha fazla bilgi edinmek için çalışılıyor
block all
içinblock log all
yapıyor çünkü), ancak günlük OS X altında kapalı görünüyorsudo tcpdump -n -e -ttt -i pflog0
günlük sonuçlarını görmek için ": pflog0: tcpdump Böyle bir aygıt yok".
Bunların hiçbiri bir Wi-Fi bağlantısının daha hızlı yeniden kurulmasına yardımcı olmaz.
Wi-Fi bağlantısını yeniden kazanmak için hangi hizmetin mevcut olması gerektiğini belirlemek için başka ne yapabilirim veya Wi-Fi yeniden bağlantılarını daha güvenilir hale getirmek için pf.conf dosyasına hangi kuralı eklemeliyim?