OpenVPN TAP模式下单个IP路由正常但无法转发全部流量的问题求助
OpenVPN TAP模式下单个IP路由正常但无法转发全部流量的问题求助
各位大佬好,我打算假期出行前搭好家里的VPN,现在OpenVPN的TAP服务器已经跑起来了,客户端也能连上,但路由转发全部流量的问题一直搞不定。
一开始试了redirect-gateway选项没用,现在打算放弃自动配置,手动加路由试试。我的思路是先给tap接口跑DHCP客户端(用的dhcpcd),再手动加路由:
dhcpcd tap0
输出如下:
dhcpcd-9.4.1 starting ... tap0: rebinding lease of 192.168.1.137 tap0: probing address 192.168.1.137/24 tap0: leased 192.168.1.137 for 86400 seconds tap0: adding route to 192.168.1.0/24 forked to background, child pid 11185
DHCP自动加的路由对内部IP没问题,我现在用手机热点测试,能ping通也能ssh家里的其他设备:
当时执行ip route得到的路由表:
default via 192.168.149.13 dev wlan0 proto dhcp src 192.168.149.193 metric 600 192.168.1.0/24 dev tap0 proto dhcp scope link src 192.168.1.137 metric 1052 192.168.149.0/24 dev wlan0 proto kernel scope link src 192.168.149.193 metric 600
ping家里另一台设备的结果:
ping 192.168.1.136 # 家里另一台设备的IP
PING 192.168.1.136 (192.168.1.136) 56(84) bytes of data. 64 bytes from 192.168.1.136: icmp_seq=1 ttl=64 time=104 ms 64 bytes from 192.168.1.136: icmp_seq=2 ttl=64 time=83.5 ms ...
如果手动给某个外网IP加路由,指定走家里的网关(192.168.1.1),也能正常通过VPN访问:
(注:175.55.55.55是我手机热点的公网IP,72.33.33.33是我家的公网IP)
curl -4 https://icanhazip.com
175.55.55.55
先查询icanhazip的IP:
host -t a icanhazip.com
icanhazip.com has address 104.18.115.97 icanhazip.com has address 104.18.114.97
手动添加路由:
ip route add 104.18.115.97 via 192.168.1.1 ip route add 104.18.114.97 via 192.168.1.1
再次测试:
curl -4 https://icanhazip.com
72.33.33.33
现在的问题是怎么把这个逻辑推广到所有流量?我试了加默认路由的拆分写法:
ip route add 0.0.0.0/1 via 192.168.1.1 dev tap0 ip route add 128.0.0.0/1 via 192.168.1.1 dev tap0
结果再访问icanhazip就超时了,OpenVPN客户端日志里一直报:
2022-12-15 15:27:38 us=127602 Recursive routing detected, drop tun packet to [AF_INET]72.33.33.33:2445 2022-12-15 15:27:38 us=122602 Recursive routing detected, drop tun packet to [AF_INET]72.33.33.33:2445 2022-12-15 15:27:38 us=147702 Recursive routing detected, drop tun packet to [AF_INET]72.33.33.33:2445
我可以提供客户端或服务器的配置文件、完整日志,如果需要的话,但我感觉这应该是路由配置的问题,有没有大佬能指点下?
备注:内容来源于stack exchange,提问作者scheming_and_trees
相关产品推荐
相关产品推荐

