Ubuntu 11.10을 사용하여 OpenVZ VPS에 매우 간단한 OpenVPN 설정이 있습니다. 클라이언트는 Mac OS X 10.8.2의 Viscosity 클라이언트이며 일부 테스트 후에 클라이언트 문제를 배제할 수 있습니다. Apple의 iCloud를 제외하고는 모든 것이 잘 작동합니다. 웹 서핑, 이메일, FTP, NNTP 및 Skype가 모두 예상대로 작동합니다. iCloud 서비스만 실행이 중지되었습니다.
VPN에 연결하면 iCloud 기능이 작동하지 않습니다. 더 이상 메시지에서 아무 것도 수신되지 않고, 캘린더 항목이 업데이트되지 않으며, 알림 작동이 중지됩니다. 연결을 끊으면 iCloud 관련 기능이 모두 작동하기 시작합니다. 다시 연결한 후 iCloud 작동이 중단되었습니다.
이것은 server.conf입니다:
status openvpn-status.log
log /var/log/openvpn.log
verb 4
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.9.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push “dhcp-option DNS 10.9.8.1″
keepalive 10 120
duplicate-cn
cipher BF-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
tun-mtu 1500
mssfix 1400
내 스크립트에서 iptables를 사용하는데 그것도 매우 간단합니다.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
iptables -A FORWARD -i venet0 -o tun0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -j SNAT --to-source <server's public ip>
echo 1 > /proc/sys/net/ipv4/ip_forward
나는 또한 성공하지 못한 채 포트 전달을 시도했습니다.
iptables -A FORWARD -p tcp -d 10.9.8.0/24 --dport 5222:5230 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 5222:5230 -j DNAT --to-destination 10.9.8.6
때때로 나는 통제할 수 없는 이중 NAT 상황에 직면하기도 합니다.
Client -> work VPN -> my OpenVPN box -> Internet.
Client -> Airport Express -> ISP (which is doing NAT) -> my OpenVPN box -> Internet.
이 두 가지 상황은 모두 제가 살고 있는 삶의 현실이며 이를 바꾸기 위해 제가 할 수 있는 일은 아무것도 없습니다. 나는 내 클라이언트와 OpenVPN 서버를 완전히 제어할 수 있습니다.
나는 완전히 아이디어가 없습니다. OpenVPN 포럼에 비슷한 질문을 게시했지만 아직 게시되지 않았으며 여전히 검토 대기열에 있는 것 같습니다. freenode irc 채널을 시도했지만 아무도 깨어나지 않아서 여기 있습니다. 나는 구글을 검색했다넓게이와 관련된 내용을 찾을 수 없습니다.
iCloud 기능이 다시 제대로 작동하도록 도와주세요!
(참고: 약간의 교차 게시물입니다. Linux 사용자가 iptables에 대해 자세히 알아보는 데 도움이 될 수 있기 때문에 여기에 게시합니다.)
편집: 인정하기 싫지만 결국 클라이언트일 수도 있습니다. 이 질문은 과연아니요Tunnelblick에서 발생합니다. 이에 대해 개발자들과 대화를 나누고 있습니다. 지금까지 매우 도움이 되었기 때문에 앞으로 무슨 일이 일어나고 있는지 알아낼 수 있을 것입니다.
편집: 몇 년 후의 일이라는 것을 알고 있지만 이는 클라이언트 측 문제(점도)였으며 개발자가 이를 해결했습니다.