जब तक मेरा OpenVPN कनेक्शन pf.conf का उपयोग कर सक्रिय नहीं होता है तब तक मैं बाहरी नेटवर्क के सभी कनेक्शनों को अस्वीकार करने में सक्षम हूं। हालाँकि, यदि लैपटॉप का ढक्कन बंद करने और खोलने या वाई-फाई बंद करने और फिर से चालू करने से कनेक्शन टूट जाता है, तो मैं वाई-फाई कनेक्टिविटी खो देता हूं।
- मैं मैक ओएस 10.8.1 पर हूं।
- मैं वाई-फाई (सार्वजनिक वाई-फाई सहित अलग-अलग स्थानों से) के माध्यम से वेब से जुड़ता हूं।
- OpenVPN कनेक्शन को चिपचिपाहट के साथ स्थापित किया गया है।
मेरे पास निम्नलिखित पैकेट फ़िल्टर नियम स्थापित हैं /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
मैं पैकेट फ़िल्टर सेवा शुरू करता हूं sudo pfctl -e
और नए नियमों को लोड करता हूं sudo pfctl -f /etc/pf.conf
।
मैंने संपादन करने के /System/Library/LaunchDaemons/com.apple.pfctl.plist
लिए लाइन <string>-f</string>
को भी संपादित और बदल दिया है <string>-ef</string>
ताकि पैकेट फिल्टर सिस्टम स्टार्टअप पर लॉन्च हो।
यह सब पहली बार में बहुत अच्छा लगता है: यदि ओपनवीपीएन कनेक्शन सक्रिय है तो एप्लिकेशन केवल वेब से जुड़ सकते हैं, इसलिए मैं असुरक्षित कनेक्शन पर डेटा लीक नहीं कर रहा हूं।
लेकिन, अगर मैं अपने लैपटॉप के ढक्कन को बंद और फिर से खोल देता हूं या वाई-फाई को बंद कर देता हूं और फिर से वाई-फाई कनेक्शन खो जाता है, और मुझे स्टेटस बार में वाई-फाई आइकन में एक विस्मयादिबोधक चिह्न दिखाई देता है। वाई-फाई आइकन पर क्लिक करने से "अलर्ट: इंटरनेट कनेक्शन नहीं" संदेश दिखाई देता है:
कनेक्शन पुनः प्राप्त करने के लिए, मुझे "अलर्ट: नो इंटरनेट कनेक्शन" संदेश गायब होने से पहले वाई-फाई को कभी-कभी पांच या छह बार डिस्कनेक्ट और फिर से कनेक्ट करना पड़ता है, और मैं फिर से वीपीएन कनेक्शन को खोलने में सक्षम हूं। दूसरी बार, वाई-फाई अलर्ट अपने आप ही गायब हो जाता है, विस्मयादिबोधक चिह्न साफ हो जाता है, और मैं फिर से कनेक्ट करने में सक्षम हूं। किसी भी तरह से, फिर से कनेक्शन प्राप्त करने में पांच मिनट या उससे अधिक समय लग सकता है, जिससे निराशा हो सकती है।
लाइन block all
को हटाने से समस्या का समाधान हो जाता है (लेकिन असुरक्षित कनेक्शन की अनुमति देता है), इसलिए ऐसा लगता है कि मैं एक ऐसी सेवा कर रहा हूं जिसे अवरुद्ध करने और वाई-फाई कनेक्शन की पुष्टि करने के लिए Apple को आवश्यकता है। मैंने कोशिश की है:
pass on $wifi proto icmp all
Pf.conf में जोड़कर icmp को सक्षम करना- जोड़कर DNS रिज़ॉल्यूशन को सक्षम करना
pass on $wifi proto udp from $wifi to any port 53
- प्रवेश अवरुद्ध अधिक से (बदलकर पैकेट जानने की कोशिश कर
block all
के लिएblock log all
,), लेकिन क्योंकि कर प्रवेश ओएस एक्स के तहत अक्षम हैsudo tcpdump -n -e -ttt -i pflog0
में लॉग परिणाम देखने के लिए "tcpdump: pflog0: ऐसी कोई युक्ति से मौजूद है"।
इसमें से कोई भी तेजी से वाई-फाई कनेक्शन को फिर से स्थापित करने में मदद नहीं करता है।
वाई-फाई कनेक्टिविटी को पुनः प्राप्त करने के लिए मुझे क्या सेवा उपलब्ध कराने की आवश्यकता है, यह निर्धारित करने के लिए मुझे और क्या करना चाहिए, वाई-फाई के और अधिक विश्वसनीय बनाने के लिए मुझे pf.conf में क्या नियम जोड़ना चाहिए?