我已经努力了两天来设置 Openvpn 访问我的其中一台服务器,但就是不起作用。
首先介绍我的设置:
我的服务器是安装在 kvm 环境的 vps 上的 Debian 6。我有 debian 6 net install,它没有任何服务,所以我安装了 iptables、openvpn、bind dns 和 dns masq。
我的电脑安装的是 Xubuntu 14.04 桌面版。
好了,回到问题。问题是,当我连接到 vpn 时,我无法浏览任何网站。但是我可以连接到 thunderbird 中的电子邮件。我可以通过 ipaddress 浏览我的其他服务器,并且可以 ping 任何网站。但是当我在浏览器中输入 url 时,它根本不会加载。所以似乎任何与 IP 相关的东西都可以工作,但解析 url 不起作用。
这是我的 openvpn 服务器配置。
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
max-clients 2
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 5
我也设置了
net.ipv4.ip_forward to 1
在 dnsmasq 中我设置监听两个接口。
listen-address=127.0.0.1,10.8.0.1
并一起关心他们
bind-interfaces
我还在 iptables 中设置了一个路由表
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
所以我确实能够连接并 ping google.com,可以访问 ip 地址。但在浏览器中,当我尝试访问 google.com 时,它可以找到它但无法加载页面。
值得一提的是,服务器是一个旧的,我使用它已经一年了,之前运行良好,但是由于硬盘故障而失败了,我不得不重新安装它并重新开始,所以操作系统是新的。
编辑:我刚刚检查了日志,发现这个错误
MULTI: bad source address from client [214.236.214.100], packet dropped
214.236.214.100 是我的计算机使用的 IP 地址,我从家里的路由器获取该地址。
编辑#2:我刚收到一封电子邮件,说有可疑登录来自谷歌,登录地址来自服务器的 IP。我在 PS 上运行 Thunderbird,这意味着一旦我连接到 VPN,Thunderbird 就会连接到电子邮件,但我仍然无法解析 URL 地址浏览。
编辑#3:这是我尝试用来连接我的 vpn 的最新客户端配置。
client
dev tun
proto udp
remote myserverip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert myclient.crt
key myclient.key
comp-lzo
verb 3
答案1
您的问题与 DNS 有关。您正在将两个 DNS 服务器推送到您的 VPN 客户端。通常,您不需要推送 DNS 服务器,除非您的 VPN 环境中有一个 DNS 服务器,用于处理未与世界其他地方共享的本地 DNS 条目。(企业网络通常有这些内部 DNS 服务器)。
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 8.8.8.8"
在上面的例子中,您的计算机将查找 10.8.0.1 进行 DNS 解析。您只需注释掉这两行,您的 OpenVPN 设置就可以正常工作。