我在运行 Debian 的数据中心设置了一台 OpenVPN 服务器。我使用 TUN 接口连接到它,我的 Windows PC 获得了一个10.8.0.x
地址,正如预期的那样。当我ip addr
在服务器上运行时,我在 tun 适配器上看到它的 IP 地址是10.8.0.1
。
我无法从 Windows ping 该地址。连接后我无法从服务器 ping Windows。我的常规 LAN IP 范围是192.168.0.0/24
,所以我知道那里没有冲突。
我能做些什么来让工作变得如此简单ping
? iptables -L
将所有项都列为允许。
以下是我的客户端配置(无密钥):
client
dev tap
dev-node "Ethernet 3"
proto udp
remote 123.456.789.5 1194
resolv-retry infinite
nobind
persist-key
persist-tun
;remote-cert-tls server
comp-lzo
verb 3
服务器配置如下:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
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
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify /etc/openvpn/easy-rsa/pki/crl.pem
在服务器上:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 04:01:83:ba:75:01 brd ff:ff:ff:ff:ff:ff
inet 123.456.789.5/20 brd 123.456.789.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.20.0.5/16 scope global eth0
valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
valid_lft forever preferred_lft forever
答案1
您已在客户端和服务器上选择了不同的虚拟设备:
dev tap
dev tun
您应该修改客户端上的一个以匹配服务器上的那个。我不知道这是否是仅有的配置中有错误,但这肯定足够重要,以至于阻止正确的连接。