我使用 Debian 6 作为服务器,并已在那里配置了 OpenVPN 服务器,客户端使用 tap 模式成功连接。此服务器可从互联网访问,但它也连接到内部网络。
本地 LAN:192.168.3.0/24
- OpenVPN 服务器上的 eth0
OpenVPN 客户端:192.168.199.0/24
- OpenVPN 服务器上的 tap0
如果有人能告诉我需要遵循哪些步骤,让连接到 OpenVPN 服务器的客户端能够看到并连接到 OpenVPN 服务器所在的 LAN 内的每台机器(192.168.3.0/24 网络),那就太好了。
如果您能告诉我如何在客户端连接后自动设置此路由,那就太好了。
答案1
如果你真的需要TAP 样式的连接,您需要指定server-bridge
不带其他参数的选项 - 这将启用桥接模式,OpenVPN 会传递 DHCP 请求(DHCP 代理模式)。您还需要将您的 tun 接口与您的 LAN 接口桥接brctl
:
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tun0
ifconfig br0 inet 192.168.3.99 netmask 255.255.255.0
请参阅服务器桥接选项描述OpenVPN 文档了解详情。
但老实说,您应该尽可能选择路由而不是桥接 - 它允许更好的调试和减少通过您的 VPN 传输的不必要的网络噪音(广播)。
push "route 192.168.3.0 255.255.255.0"
对于这种情况,包含服务器上的配置文件和随附的客户端样式配置文件(指定client
选项)即可。示例:
local <your public IP address>
port <your OpenVPN port>
proto udp
dev tun0
# reduce MTU if necessary
# tun-mtu 1400
# place your cert/key/DH paths here
ca keys/ca.crt
cert keys/server.crt
key keys/private/server.key
dh keys/dhparm.pem
# OpenVPN client network
server 192.168.99.0 255.255.255.0
# push client route
push "route 192.168.3.0 255.255.255.0"
keepalive 10 60
status /var/log/openvpn-status.log
daemon
# logging options
verb 4
mute 20
查看文档有关选项参数的详细信息。