我的服务端配置文件错了!!! 让客户端访问服务端内网需要将服务端 网关推动给客户端...
push "route 192.168.2.0 255.255.255.0 vpn_gateway 500"
push "redirect-gateway def1"
push "dhcp-option DNS 192.168.2.1"
我没有加这个就不能访问...
最终配置文件 192.108.2.0 是服务端网段 192.168.3.0 是客户端网段
config openvpn 'ky49'
option verb '3'
option port '1194'
option mode 'server'
option tls_server '1'
option keepalive '10 120'
option ca '/etc/openvpn/ca.crt'
option cert '/etc/openvpn/my-server.crt'
option key '/etc/openvpn/my-server.key'
option dh '/etc/openvpn/dh2048.pem'
option tls_version_min '1.0'
option enabled '1'
option client_to_client '1'
option cipher 'AES-256-CBC'
option dev 'tun'
option dev_type 'tun'
option server '10.200.200.0 255.255.255.0'
option status_version '2'
option sndbuf '0'
option rcvbuf '0'
list push 'route 192.168.2.0 255.255.255.0 vpn_gateway 500'
list push 'redirect-gateway dhcp'
list push 'dhcp-option DNS 192.168.2.1'
option client_config_dir '/etc/openvpn/ccd'
list route '192.168.3.0 255.255.255.0'
感谢大家的帮助。😂
还有注意证书的有效期,需要 openssl.cnf 修改证书有效时长在生成证书,要不然一个月后就会遇到证书过期的情况。
default_days = 3650 # how long to certify for
default_crl_days= 3650 # how long before next CRL
1
hongdaworks 2019-06-18 06:17:13 +08:00
两端都有公网 IP ?
- - - - - - - - - - zerotier ( moon 节点建议国内自建) 蒲公英智能组网(要付费) [滑稽.jpg] |
2
yzwduck 2019-06-18 07:41:07 +08:00
要互通的话,不能用 NAT ;排查问题时主要查服务 /客户双方的路由表和防火墙,配合抓包来验证网络是否通畅。
应该先解决服务端 ping 客户端的问题,既然能连上且分配到 IP,出问题的地方有可能是客户端的防火墙把这流量拦截掉了。 ping 服务端外的网段的话,先查服务端有没有把流量转发出去(防火墙),然后查有没有收到返程流量(路由)。 @hongdaworks 别捣乱,OP 已经能两端互联了,没必要用穿透。 |
3
Love4Taylor 2019-06-18 07:49:39 +08:00 via Android
WireGuard 请, OpenVPN 您是嫌路由负担不够重么.
|
4
xenme 2019-06-18 08:07:31 +08:00 via iPhone
ipsec,没公网 IP 需要穿透的话,zerotier 或者 wireguard 上面都提到了
|
5
x86 2019-06-18 08:08:51 +08:00 via iPhone
懒人用的爱快的超级组网
|
6
suhongbo 2019-06-18 08:35:22 +08:00
我公司是上海和东莞组网,有动态公网 IP 走 VPN。其它的就不知道了。测试的时候,没有公网 IP 走不通,打电信要了公网 IP 后就通了。
|
7
ysc3839 2019-06-18 10:32:54 +08:00 via Android
@Love4Taylor wireguard 目前还不支持 layer 2。而且华硕的固件估计不支持 wireguard 吧?
|
8
AntonChen 2019-06-18 10:49:59 +08:00 via Android
直接 GRE 走什么 VPN
|
9
Kaiyuan OP @Love4Taylor #3
@xenme #4 两边都是公网 IP,华硕路由不支持 WireGuard,要不然就不用那么麻烦。 @yzwduck #2 现在的情况是服务端 ping 不通客户端,客户端 ping 不通服务端以外的设备。我用笔记本连服务端也是这样。路由表都是 10.200.200.0/24 的,但是这个网段也 Ping 不通... |
10
MonoLogueChi 2019-06-18 11:27:19 +08:00 via Android
UDP 打洞,然后异地组网,大概原理应该是这样的,具体我也没实践过。如果是公司使用的话,建议直接购买已经成熟的产品,不要自己投精力在这这上面,研发和维护的人力成本都够买好几套系统了。
|
11
aoling 2019-06-18 11:37:03 +08:00
异地主网 拉专线最稳定
|
12
Kaiyuan OP @MonoLogueChi #10 只是想连接两所房子的内网,才会出现这种情况。两所房子相隔一条街。
|
13
w0nglend 2019-06-18 11:41:31 +08:00 via Android
服务端 关闭 duplicate-cn
server.conf 添加 ccd,创建文件 xxx (你的 key 名称) 内容:iroute xxxx 255... |
14
Love4Taylor 2019-06-18 12:06:53 +08:00
|
15
Danswerme 2019-06-18 12:26:44 +08:00 via Android
你有做到对方内网网段的路由吗?
假设服务端内网网段为 192.168.1.0/24, 客户端内网网段为 192.168.2.0/24, 服务端 vpn ip 为 192.168.3.1, 客户端 vpn ip 为 192.168.3.2, 那么在服务端上做路由 dst.address = 192.168.2.0/24 gateway = 192.168.3.2, 客户端上做路由 dst.address = 192.168.1.0/24 gateway = 192.168.3.1 |
17
w0nglend 2019-06-18 12:55:00 +08:00 via Android 1
@Kaiyuan 要想互通:
服务器需要推送 内网段的路由给客户端。。 并且打开转发。。 并且去掉 duplicate-cn。。 并且设置 ccd。。和 route xxx 255....在 Server.conf。。 并且服务器端的内网其他机器网关是 VPN。。 并且 VPN 客户端需要开启转发。。 然后你在经过的所有节点上使用 tcpdump -n icmp 抓 ping 包。。 |
18
yingfengi 2019-06-18 13:08:46 +08:00 via Android
搞不懂你们干嘛不用 ipsec
|
19
leavic 2019-06-18 13:19:20 +08:00
zerotier 这么好用,为啥不用。
|