存档

文章标签 ‘vpn’

/etc/pptpd.conf中localip到底该怎么设

2012年8月8日 没有评论

  这两天折腾vpn,试pptpd的vpn时,修改文件/etc/pptpd.conf,关于其中的配置参数remoteip么有歧义,但是关于localip这个参数,网上有说应该配成vpn server的公网ip的,有的说应该配成vpn server的私网ip的。而且官网这几天还被封掉了。最后,我算是明白了一件事情:localip该配什么不好说,不肯定,不过关于localip会配在vpn拨上之后在vpn server上新建一个点对点的设备ppp+的本地ip上(另外一端的ip是remoteip中的一个)

/etc/ppp/chap-secrets中第四个参数”ip”的真正含义

2012年8月8日 没有评论

  在linux服务器上搭建了pptpdvpn服务器,现在有个需求要求某个客户端拨上来获得的ip地址是固定的。想办法的过程中,发现chap-secrets文件中每行的第四个参数,IP address,很多文档都将起解释为客户端ip,也就是拨号上来的pptp vpn客户端的公网ip,但也有那么一两份文档说这个ip,是分给这个vpn客户端的ip。我找了下官方文档,也语焉不详,只有自己试下咯。
  结果,这个ip地址还真是pptpd vpn server分配给拨上来的pptp vpn客户端的ip地址。有了这个结果,需求也就好解决了:直接在/etc/ppp/chap-secrets中新建一个专用的帐号,将ip设成我们所需要的就OK了。再用需要固定ip的客户端拨号时就用这个特殊的帐号就行了。
  结论:天下文章一大抄。中文内容尤其如此。

debian 5.0.7(lenny)下搭建pptp的vpn服务器

2011年1月1日 没有评论

背景及需求:
  朋友的某个idc托管的有几台机器,做的有一个单独的私网(192.168.0.1/24),为了安全或某种其他的需求,现在需要在某台有公网ip的机器上搭建一个vpn服务器,使得客户端连上来后获得idc私网192.168.0.1/24段的私网ip,进而用这个私网ip于其他idc服务器的私网进行通讯。
  于是找了台有公网(ip是222.222.222.222)也有私网(ip是192.168.0.111)的服务器,系统是Debian 5.0.7 for amd64,首先,安装所需软件:

# aptitude install pptpd

,然后,修改配置文件:

# vim /etc/pptpd.conf
在其最后加上这样两句:
remoteip 192.168.0.200-250
listen 222.222.222.222

  再接着,修改配置文件/etc/ppp/pptpd-options(这一步不是必须的):

# vim /etc/ppp/pptpd-options
在其最后加上这样一句:
nologfd

  然后,添加用户vpnuser(密码是vpnpasswd):

# echo “vpnuser pptpd vpnpasswd *” >> /etc/ppp/chap-secrets

  再然后,打开端口转发,并将其写入启动脚本/etc/rc.local

# sysctl -w net.ipv4.ip_forward=1
# vim /etc/rc.local
在exit 0前面加上一句/sbin/sysctl -w net.ipv4.ip_forward=1
就像这样:
/sbin/sysctl -w net.ipv4.ip_forward=1
exit 0

  最后,再启动pptp server:

# /etc/init.d/pptpd restart

  服务器已经配置完成!

最后需要提到的是:配置文件里并没有配置localip,这是因为看文档man pptpd.conf中讲到如果客户端要获得服务器端所在私网ip段的ip并且还要能与之通讯的话,可以不设localip。

分类: tips 标签: , , ,

用ssh打洞反穿防火墙

2010年9月15日 没有评论

前段时间

家里那台公司配的服役了五年的hp的本本

终于悲剧性的挂掉了

平时不觉得,他这一挂

还真有点不方便

首先

公司vpn的客户端软件是跑在这个本本上的

不是说这个vpn客户端软件别的系统下不能跑(ubuntu下实在也有相应软件)

而是这个cisco的东东,连接vpn需要一个组的名字和组密码

而且两者,都是由公司系统组打包好了存到机器里的

组的名字倒是可以看见

但是密码却看不了(全是黑点代替的)

而且,家里除了这个挂掉的本

再没有其他的windows系统

所以vpn也是悲剧性的不可能再连上了

于是为了从家里能够登录公司办公网的自己的工作pc(毕竟很多资源都在那上面)

我搞了个ssh穿墙的方案

我从公司ssh连上一台有公网的服务器

同时在其远程将127.0.0.1的某个端口,假设是22222的请求转回本地(pc)端的3389端口

这类似于命令ssh -R的功能

然后我在家里用ssh从这台机器的公网连上去

同时将本地(家里机器)的127.0.0.1的3389端口通过这个ssh连接转发到远程(有公网的机器)的127.0.0.1接口上的前面提到的那个端口,这里是22222

这里利用的是ssh -L的功能

最后

在家里的机器上用termianl service client连127.0.0.1的3389端口

就连上公司办公室自己的机器的termial sercice

分类: tips 标签: , , , , , ,

debian 5上安装xen虚拟机

2010年5月21日 1 条评论

apt-get install xen-hypervisor xen-linux-system-2.6.26-2-xen-686 xen-tools
reboot
uname -a | grep -i “xen”
重启看是否在用的支持xen的kernel
xen-create-image –hostname=vm1 –size=10Gb –swap=512Mb –ip=192.168.1.101 –netmask=255.255.255.0 –gateway=192.168.1.254 –dir=/vm –memory=256Mb –arch=i386 –debootstrap –dist=etch –role=udev –force –passwd
重做虚机,第一次的话不用–force参数
vim /etc/xen/vm1.cfg
看看内容,大多基本上不用修改
xm create vm1.cfg
直接启动vm1了
可以用xen-create-image时提示输入的密码ssh登录vm1了
像这样:
ssh root@192.168.1.101
但这么做还有一个问题
就是在host上用命令xm console vm1
还是不能进入shell
系统显示crond已启动

分类: tips 标签: , , ,

rhel4上用openvpn搭建vpn server

2009年11月29日 没有评论

由于rhel4不像rhel5那样自带的软件里有openvpn包
所以要装的话首先要去官网上下载openvpn软件
这里下载
貌似要先注册才能下载
进去后选Operation System Platform为RedHat后进入下一个页面
很高兴看到有for rhel4的软件包
于是
rpm -ivh http://openvpn.net/images/download/openvpn-as-1.3.0-RHEL4.i386.rpm
安装软件,再
/usr/local/openvpn_as/bin/ovpn-init
做些基本配置
就可以用web界面做vpn的设置了
注意:免费的license需要自行在官网下载、添加,免费的貌似只支持2个用户
设置好了之后可以在web页面上直接start server
然后客户端需要也从web页面上下载软件、安装
最后连接即可

分类: Operation System, tips 标签: , , ,

mtu值导致ssh连接严重丢包

2009年8月4日 2 条评论

前面碰到的问题
其实大概原因是这样的
Linux1–>vpn1<-->vpn2–>Linux2
vpn1和vpn2之间是走公网搭的一个vpn连接
这样
当从Linux1上ssh连接到Linux2上的时候
登录正常
当某个命令需要从Linux2返回大量的数据回Linux1的时候
由于某些ip包大小大于mtu值
而且被置DF位(不允许分片)或者是ip包允许分片但是vpn1或vpn2不允许分片的ip包通过
所以导致Linux1收不到其他的大ip包
导致看起来是ssh session挂掉
其实
tcp层有路径最小mtu值发现功能
为什么没生效呢?
其实不是这样的
比如当Linux2回来的大包分成1500一片到达vpn2
vpn2上还要给其打上4个字节的GRE头(如果vpn用的GRE通道的话)
再加上外层的20字节的ip头
这一下就超过vpn1公网(vpn是通过公网连起来的)以太网口的mtu值1500!!
于是返回“MTU of next hop: 1500”的错误
这样的话Linux2还会以1500来分片发送大包
这样循环下去,Linux1永远也不会收到来自Linux2的大的ip包
ssh session自然就“挂”了

原因明白了
那么解决起来就容易了
无非是改小mtu值嘛
那改成多少合适呢
很简单
改成1500-4-20=1476就行(其实小于这个数也行,不过mtu自然是要最大的)
于是ifconfig eth0 mtu 1476
再ssh登录
dmesg
都没问题了,搞定

分类: TroubleShooting 标签: , , , ,