提前致歉,因为这是一个“抽象”的问题,没有明确的非黑即白答案,我知道这些答案对这个网站来说不是好兆头。不过,请听我说完,我会尽可能多地添加细节和具体内容。
我有一个 OpenVPN Connect 服务器,它对所有远程员工来说都运行良好。但是它不适用于我们实体办公室的用户。
用户可以通过 VPN 成功nslookup
、ssh
和ping
连接到目标系统,但无法通过浏览器浏览 HTTP/HTTPS(只是显示无响应)。是的!ssh 可以通过 VPN 运行!
检查了 DNS、代理等网络设置,一切正常——此外,我们可以直接拿一台工作站,将其与 LAN 断开连接,连接到移动热点,它就可以正常工作。这告诉我它不是本地工作站上的配置。
办公室局域网位于 SonicWall NSA 2400 防火墙后面。办公室局域网的子网设置非常简单,并且子网不会与 VPN 子网冲突。
OpenVPN 日志中的一切看起来都很正常,并且它们与远程员工的连接进行了比较,并且连接看起来相同。
所连接机器上的路由表看起来良好,默认路由和tun接口(vpn接口)路由都显示正常。
最疯狂的部分是我可以执行 nslookup、ssh 和 ping 但不能浏览 HTTP/S。
这是 openvpn服务器配置:
port 43699
proto udp
dev tun
key-direction 0
cipher AES-256-CBC
auth SHA256
tls-auth server.tlsauth
ca ca.crt
cert cert.crt
key cert.key
dh dh2048.pem
topology subnet
server 10.79.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.10.0.0 255.255.0.0"
push "dhcp-option DOMAIN-SEARCH example.com"
push "dhcp-option DNS 10.10.0.2"
keepalive 10 120
tmp-dir "/etc/openvpn/tmp"
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so auth-ldap.conf
username-as-common-name
duplicate-cn
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
user nobody
group nobody
management localhost 7707
这里是客户配置:
client
proto udp
remote vpn.example.com 43699
dev tun
resolv-retry infinite
auth-user-pass
persist-key
persist-tun
mute-replay-warnings
compress lzo
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
key-direction 1
<ca>
-----BEGIN CERTIFICATE-----
....REMOVED...
-----END CERTIFICATE-----
</ca>
<key>
-----BEGIN PRIVATE KEY-----
....REMOVED...
-----END PRIVATE KEY-----
</key>
<cert>
-----BEGIN CERTIFICATE-----
....REMOVED...
-----END CERTIFICATE-----
</cert>
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
....REMOVED...
-----END OpenVPN Static key V1-----
</tls-auth>
我对 Stack Exchange 提出的问题:
我的直觉告诉我,这是 Sonicwall 的问题——您能想到任何可能导致这种行为的防火墙设置吗?我确实在 SonicWall 配置中四处寻找,发现有很多选项,但似乎没有应用黑名单,而且我可以连接和 ping / 等,这使得第 4 层连接本身似乎没有问题。
我的 ovpn 配置中是否有任何设置看起来错误?对于除办公室内用户以外的所有用户来说,它们都可以很好地运行。