我的 openvpn tap 网络出现了奇怪的配置错误。
客户端可以按预期连接并获取 192.168.42.x 中的 IP 地址,但几秒钟后另一个地址会被分配给它,这次是自我分配的(169.254.xx)。
它造成的问题是 DNS 查找解析为自己分配的 IP(仅在第二次尝试时)。
这是我的 server.conf 内容:
port 1194
proto udp
dev tap0
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
ifconfig-pool-persist ipp.txt
server-bridge 192.168.42.254 255.255.255.0 192.168.42.100 192.168.42.200
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
client-to-client
和我的客户端配置文件:
client
dev tap
proto udp
remote vpn 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert node.crt
key node.key
ns-cert-type server
comp-lzo
verb 3
一个可能有趣的小细节是我没有桥接服务器分接接口,因为我想要的只是客户端到客户端的连接(vpn 的目的是能够管理不同地方/网络中的一组机器)。
谢谢。
编辑:
我有与这个谷歌小组类似的日志:https://groups.google.com/forum/#!topic/tunnelblick-discuss/u32yHzly9RA
2012-02-24 15:22:36 *Tunnelblick client.up.tunnelblick.sh: Sleeping for 0 seconds to wait for DHCP to finish setup.
2012-02-24 15:22:36 *Tunnelblick client.up.tunnelblick.sh: Sleeping for 1 seconds to wait for DHCP to finish setup.
2012-02-24 15:22:37 *Tunnelblick client.up.tunnelblick.sh: Sleeping for 2 seconds to wait for DHCP to finish setup.
2012-02-24 15:22:39 *Tunnelblick client.up.tunnelblick.sh: Sleeping for 3 seconds to wait for DHCP to finish setup.
2012-02-24 15:22:42 *Tunnelblick client.up.tunnelblick.sh: Sleeping for 4 seconds to wait for DHCP to finish setup.
看来在 Tunnelblick 中禁用 DNS 可以解决 Mac 上的问题。因此,看起来问题可能更多地出在 dhcp 部分,因为它一直在等待 DNS,而且似乎在 DNS 未出现时添加了一个自分配 IP。
仍然需要访问其中一台 Linux 机器来检查修复。我会在这里更新。
答案1
169.254.xx 地址被称为Automatic Private IP Addressing (APIPA)
。
为了防止这种情况发生,请将以下行添加到您的 ovpn 配置文件中。
ip-win32 ipapi
因此最终的配置将是这样的:
client
dev tap
proto udp
ip-win32 ipapi
remote vpn 1194
...