【工作技术栈】【问题解决】pptp连接后无法ping通vpn主机,报错:“error either to is duplicate or uid is a garbage ”

前言

由于工作与云计算相关,因此实验环境下需要隔离各种子网段,并且实验机器需要不断切换不同网段来进入不同实验环境,这里我们使用了pptp的方式进入不同的实验网段。

现象

版本(抛开版本就是耍流氓~)
pptp版本应该不怎么重要吧,有的话评论区告知下哈~
按照yum推荐的版本来安装就行

现象
首先问题在我们的jenkins服务器上,jenkins在网段1,现在jenkins需要打包完成后通过ftp将包传输到网段2,但是jenkins服务器只有一个单网卡,没有网段2的ip,所以这边使用了pptp服务器(双网卡)做了vpn让jenkins能够打通网段2,如下图

在这里插入图片描述

然后jenkins使用ping命令可以ping通pptp服务器后,我们开始使用pptpsetup创建一个ppp0的网络连接到pptp,
在这里插入图片描述

这里小解释一下,pptp连接网段1,网段1的pptp服务分配一个网段2的地址给ppp1的虚拟网卡,之后让jenkins具备了网段2的访问能力

一切如此顺利,连接上之后我们ping一下网段2的ip,结果发现无法ping通,其实如果你的机器正常的话是可以ping通的,但是我的机器就是不行。。。
后来仔细发现pptp连接的时候报了一个错误
“error either to is duplicate or uid is a garbage ”

分析原因

1、如果你的路由器支持traceroute的话可以看下流量是怎么走的,可惜我这边看不到路由的路径所以没有用这个方式了
2、看下路由是否正常,ip route之后发现默认路由走的网段1的网关,有一条网段2的路由走的ppp0网络,但是就是ping不通
这个时候我ping了一下pptp的服务器发现无法ping通了????wtf?于是我断掉ppp0之后再次ping网段1中的pptp服务器发现又可以了。。。
什么怪事情。。。
冷静下来分析,pptp服务器的ip是网段1的IP地址,我ping的话走的应该是默认路由才对,但是现在似乎走了ppp0?那么我是不是可以直接显示声明一个路由强制让pptp服务器ip的流量走默认路由,这样网段2的流量会到pptp服务器的网段1的ip,然后走默认路由到pptp服务器网段1的ip地址?

解决方案

添加一条静态路由将pptp地址的路由直接路由到网段1的网关即可
ip route add pptp地址/32 via <网段1网关> dev xxx

思考感悟

其实很多机器不需要这么来,我也是从stackoverflow上面发现老外们这么来了一下就好了,所以如果深究的话可能需要tcpdump一下了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值