设置说明:
服务器configuration:vpn1
mode server tls-server dev tun local PUBLIC-IP-HERE port 1194 proto udp persist-key persist-tun # Certificates and encryption ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 cipher BF-CBC comp-lzo push "route 10.0.0.0 255.255.255.0" push "route 10.0.2.0 255.255.255.0" push "route 10.255.254.0 255.255.255.0" route 10.0.2.0 255.255.255.0 client-to-client max-clients 30 user nobody group nogroup keepalive 10 120 status /var/log/openvpn-status.log verb 3 ifconfig-pool-persist ipp.txt client-config-dir ccd server 10.255.254.0 255.255.255.0 push "explicit-exit-notify 3"
在ccd / client中我有:
iroute 10.0.2.0 255.255.255.0 ifconfig-push 10.255.254.9 10.255.254.10
如何“IP A”看起来像:
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 10.0.0.1/24 brd 10.0.0.255 scope global eth1 172: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.255.254.1 peer 10.255.254.2/32 scope global tun0
如何“ip r”看起来像(我删除了默认路由,因为它不应该是重要的):
10.0.0.0/24 dev eth1 proto kernel scope link src 10.0.0.1 10.0.2.0/24 via 10.255.254.2 dev tun0 10.255.254.0/24 via 10.255.254.2 dev tun0 10.255.254.2 dev tun0 proto kernel scope link src 10.255.254.1
客户端configuration:vpn2
client dev tun remote PUBLIC-IP-HERE 1194 nobind persist-key persist-tun proto udp ca /etc/openvpn/easy-rsa/keys/client/ca.crt cert /etc/openvpn/easy-rsa/keys/client/client.crt key /etc/openvpn/easy-rsa/keys/client/client.key tls-auth /etc/openvpn/easy-rsa/keys/client/ta.key 1 cipher BF-CBC comp-lzo ns-cert-type server verb 3
如何“IP A”看起来像:
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP inet 10.0.2.1/24 brd 10.0.2.255 scope global br0 8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.255.254.9 peer 10.255.254.10/32 scope global tun0
如何“ip r”看起来像(我删除了默认网关和相关):
10.0.0.0/24 via 10.255.254.10 dev tun0 10.0.2.0/24 dev br0 proto kernel scope link src 10.0.2.1 10.255.254.0/24 via 10.255.254.10 dev tun0 10.255.254.10 dev tun0 proto kernel scope link src 10.255.254.9
一般configuration:
什么工作:
什么不行:
通过NAT,我能够:
我应该能够从LAN1 ping LAN2中的任何主机而不用NAT,反之亦然。 这里有什么问题? 有东西在逃避我,我无法弄清楚什么。
这是一个路由问题。
我怀疑你的iroute指令没有生效。 您命名为“ccd / client”的文件实际上必须具有与客户端证书的主题名称对应的文件名。 因此,如果客户端证书的DN是C=CA,O=Foo Ltd,CN=Example ,则文件应该是“ccd / Example”。
除此之外,您的configuration看起来正确。