pf.conf를 사용하여 OpenVPN 연결이 활성화되어 있지 않으면 외부 네트워크에 대한 모든 연결을 거부 할 수있었습니다. 그러나 랩톱 덮개를 닫거나 열거 나 Wi-Fi를 껐다가 다시 켜서 연결이 끊어지면 Wi-Fi 연결이 끊어집니다.
- Mac OS 10.8.1을 사용하고 있습니다.
- Wi-Fi (공공 Wi-Fi를 포함한 다양한 위치에서)를 통해 웹에 연결합니다.
- 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>
도록 변경했습니다 .
이 모든 것이 처음에는 잘 작동하는 것 같습니다. OpenVPN 연결이 활성화 된 경우 응용 프로그램은 웹에만 연결할 수 있으므로 안전하지 않은 연결을 통해 데이터가 유출되지는 않습니다.
그러나 랩톱 덮개를 닫았다가 다시 열거 나 Wi-Fi를 껐다가 다시 켜면 Wi-Fi 연결이 끊어지고 상태 표시 줄의 Wi-Fi 아이콘에 느낌표가 표시됩니다. Wi-Fi 아이콘을 클릭하면 "경고 : 인터넷에 연결되어 있지 않습니다"라는 메시지가 나타납니다.
연결을 다시 얻으려면 "Alert : No Internet connection"메시지가 사라지고 VPN 연결을 다시 열 수 있기 전에 Wi-Fi 연결을 끊었다가 다시 5 ~ 6 번 다시 연결해야합니다. 다른 경우 Wi-Fi 알림이 자체 계약에 따라 사라지고 느낌표가 사라지고 다시 연결할 수 있습니다. 어느 쪽이든, 다시 연결하는 데 5 분 이상 걸릴 수 있으며, 이는 실망 스러울 수 있습니다.
회선을 제거하면 block all
문제가 해결되지만 (안전하지 않은 연결은 허용됨) Wi-Fi 연결을 다시 확보하고 확인하기 위해 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
하지만 OS X에서는 로깅이 비활성화 된 것으로 보입니다sudo tcpdump -n -e -ttt -i pflog0
. "tcpdump : pflog0 : 해당 장치가 없습니다"라는 로그 결과가 표시 되기 때문 입니다.
이 중 어느 것도 Wi-Fi 연결을 더 빨리 재설정하는 데 도움이되지 않습니다.
Wi-Fi 연결을 다시 확보하기 위해 어떤 서비스를 사용해야하는지, Wi-Fi 재 연결을보다 안정적으로 만들기 위해 pf.conf에 어떤 규칙을 추가해야하는지 확인하려면 어떻게해야합니까?