我在使用 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 一起发生。我正在与开发人员就此展开对话。到目前为止,他们非常有帮助,所以也许我们会知道发生了什么事。
编辑:我知道那是几年后的事了,但这是一个客户端问题(粘度),开发人员已解决此问题。