本文 7253 pv

0

使用v+p+n中遇到的问题记录

© kekehu / 技术资源 / 2014.08.12 / 12:01 / 7253PV

在mac系统上使用vpn时,遇到的问题如下:
1.登录远程服务器后,使用ls,或vi命令ssh直接就死掉。
原因:MTU值过大造成的。
解决:首先得知道自己的MTU(最大传输单元)的值设置成多少合适,
方法:mac系统下在命令行输入:ping -c 2 -D -s 1444 baidu.com
1444就是MTU的值,如果显示ping: sendto: Message too long,说明1444值太大,要改小。
直到显示:1452 bytes from 180.97.33.107: icmp_seq=0 ttl=51 time=22.494 ms
最后要把MTU的值加上28字节的包头信息,如1444+28 = 1472。
如果觉的以上方法麻烦直接设置成1464或1472
得到MTU的值后设置方法有两种:
一种:手动修改,设置->网络->选择你链接的网络->高级->硬件
二种:使用命令修改,sudo ifconfig en1 mtu 1472
更详细的MTU介绍:华丽的跳转>>>

2.登录远程服务器后,还要手工增加特定路由IP,能否自动指定路由节省时间?。
解决:在/etc/ppp/目录下创建(或者修改)ip-up与ip-down文件。
ip-up与ip-down这两个文件实际上是 pppd 后台进程读取的,VPN 也得通过它来拨号。
VPN拨号后,会传递一系列的参数给 ip-up 文件,VPN断开后,会传递参数给 ip-down文件,比如拨号的设备(ppp0),拨号两端的 ip 地址,以及缺省路由。传递参数有:$1(名字)$2(tty设备名) $3( tty速度) $4(本地IP地址)  $5( 远程IP地址)$6(ipparam参数)
我们感兴趣的是$5 这个参数。该参数描述的是 ppp 链路服务端的 ip 地址,也就是我们需要的路由网关。我们可以通过这个参数来判断,从而加入不同的路由。比如你有多个 VPN 连接,那肯定需要通过判断不同的 ppp0 端 IP 地址而加入不同的路由。
ip-up脚本如下(上面的第1个问题也刚好在第2个问题中解决了):
#!/bin/sh
if [ "${5:-}" = "192.168.2.1" ];then
  /sbin/ifconfig en1 mtu 1472
  /sbin/route -n add -net 192.168.2.0/20 $5
fi
ip-down脚本如下:
#!/bin/sh
if [ "${5:-}" = "192.168.2.1" ];then
  /sbin/route -n delete -net 192.168.2.0/20 $5
fi
3.家里的网络能拔上VPN,但是上不了。
原因:是因为你增加特定的路由IP被占用了。
解决:用netstat -nr 命令查看,你就能看到被占用的ip。
而我遇到的是192.168.1.0被占用,所以增加 /sbin/route -n add -net 192.168.1.0/20 192.168.30.1,就是增加不上。
再执行/sbin/route -n delete -net 192.168.1.0/20 192.168.30.1 我发现整个网站都断开了。所以我怀疑跟路由器设置有关系,我就把路由器ip地址默认的192.168.1.1改成192.168.100.1,在增加特定的VPN路由IP,我赛vpn终于能上了。设置路由器IP我以TP-link为例:网络参数->LAN口设置。在右侧界面设置ip地址选项。

本文有 0 篇评论

发表你的见解

打开HTML 打开UBB 打开表情 隐藏 记住我
emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot
emotemotemotemotemot