我正在尝试使用 OpenVPN 创建星形“虚拟”LAN,该 LAN 未连接到物理网络。即 tap0 数据包不应转到 eth0。数据包只能通过 OpenVPN 到达连接的客户端。
此设置适用于运行 Virtual Box 的 OpenVPN 测试机,但不适用于运行在 Xen 之上的实际服务器。两台服务器都运行 Ubuntu Intrepid。
在 /etc/网络/接口:
iface tap0 inet manual
address 10.10.10.1
netmask 255.255.255.0
gateway 10.10.10.1
/etc/openvpn/server.conf
mode server
tls-server
port 1194
proto udp
dev tap
client-to-client
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/servername.crt
key /etc/openvpn/easy-rsa/keys/servername.key
dh /etc/openvpn/easy-rsa/keys/dh384.pem
ifconfig-pool-persist ipp.txt
server-bridge 10.10.10.1 255.255.255.0 10.10.10.128 10.10.10.250
push .route 10.10.10.1 255.255.255.0
keepalive 5 60
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3
user nobody
group nogroup
ifup tap0
在 Virtual Box 上:一切正常,SSH 继续运行。但在 Xen 上 SSH 连接断开,我必须重新启动整个机器。我遗漏了什么?
答案1
您的虚拟机实例是否桥接到主机操作系统?当您说 Xen 中的 ssh 连接断开时,您指的是哪个 ssh 连接?您是否有另一种方式进入虚拟机,以便在桥接启动时(即虚拟串行控制台)查看网络实际发生的情况?这将对解决您的问题大有帮助。
答案2
为什么不使用 tun 模式并通过中央 vpn 服务器路由流量?应该完全可行。
您可能想要使用“--client-to-client”选项。
答案3
我认为您不需要 /etc/network/interfaces 中的网关行。