我想为公司的远程办公室设置一个小型 VPN 服务器。目标是能够从公司网络或家里访问其网络。
大多数(如果不是全部)客户端将运行 Windows(>=7)。
为了降低成本,我想重新使用一台旧电脑,我在上面安装了 ubuntu server 13.04。我已关注Ubuntu 网站上的 openvpn 文档。
我已经能够部署软件包。但是,我的 Linux 知识有限,我无法设置不同的配置文件。
基本上我有:
- 互联网连接,带有具有基本路由器功能的调制解调器:dhcp 服务器、nat 转换和端口转发。
- 单一网络 192.168.100.0/24,所有计算机都连接到该网络,包括互联网调制解调器和 vpn 服务器(该服务器只有一张网卡)。
我的问题是:
- 我发现的 openvpn 教程和示例配置文件提到了路由配置、以太网桥接等。我承认我不明白我应该做什么。我只是想在客户端连接时授予对整个本地网络的访问权限?
- 由于我的客户端主要是 Windows 客户端,我应该在
server.conf
文件中应用什么具体配置? - 是否有适合我的场景的示例配置文件?
- 我只能使用 openvpn 客户端吗?是否有机会使用 Windows 的原生 vpn 客户端功能(如果这意味着使用另一个 vpn 服务器,我可以对其进行评估)。
答案1
Ubuntu Server 14.04.1 如何在 LAN 网关以外的单独机器上设置 OpenVPN 服务器(可以访问服务器 LAN 上的其他机器)
确保您的 openvpn LAN 不是通常的 192.168.1.1 或 10.0.0.1。如果是,请登录您的路由器并更改第三个数字,即 192.168.(此数字).1
确保将路由器上的端口 1194 转发到 OpenVPN 服务器 IP
示例网络:
Gateway IP: 192.168.5.1
OpenVPN Server IP: 192.168.5.20
OpenVPN配置:
port 1194
proto udp
dev tun0
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.5.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
编辑 /etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.5.20
netmask 255.255.255.0
broadcast 192.168.5.255
network 192.168.5.0
gateway 192.168.5.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
post-up iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.5.20
确保注释掉 ipv6 设置
编辑/etc/sysctl.conf:
改变:
#net.ipv4.ip_forward=1
到:
net.ipv4.ip_forward=1
假设您的密钥和客户端配置都已整理好;重新启动服务器,您就可以开始了!
一旦连接,从客户端 ping:
Ping 10.8.0.1
Ping 192.168.5.20