我目前正在尝试在 Ubuntu Server 16.04 上设置 OpenVPN 服务器。我按照 DigitalOcean 提供的指南进行了必要的设置,但当我通过 Windows 客户端连接我的 OpenVPN 服务器时,它运行良好,但似乎无法连接到互联网。这是我的 openvpn 设置文件;
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
key-direction 0
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
和客户端配置;
client
;dev tap
dev tun
;dev-node MyTap
proto udp
remote SERVER-IP-HERE 1194
;remote-random
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
;mute-replay-warnings
;ca ca.crt
;cert client.crt
;key client.key
remote-cert-tls server
;tls-auth ta.key 1
;cipher x
cipher AES-128-CBC
auth SHA256
key-direction 1
comp-lzo
verb 3
;mute 20
#REST OF FIE CONTAINS CA INFORMATION
答案1
您已将 VPN 服务器配置为通过 VPN 服务器本身路由所有流量,这是故意的吗?
我会尝试删除以下指令:
push "redirect-gateway def1 bypass-dhcp"
然后重新启动 openvpn 服务器服务并重试。
编辑#1:
如果是这种情况,则将以下指令添加到服务器配置文件中:
push "remote-gateway vpn_server_ip"
并重新启动服务。
这会将网关地址推送至 vpn 客户端。
编辑#2:
在你的 openvpn 服务器上运行以下命令:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
将以下内容添加到您的服务器配置中:
push "dhcp-option DNS 10.8.0.1"
重新启动服务并重试。