手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 免费部署 N8N 的 Zeabur 注册 | 登陆
浏览模式: 标准 | 列表分类:苹果相关

单网卡 Ubuntu 服务器打造 PPTP Server(VPN)

虽然转载,但并未成功,只是为了防止以后再也找不到类似资料做个备份。

其实作者写的挺详细了,只是我明明设置了RemoteIP,但却无法正确的获取。不知道是否因为是VPS的关系。当然也或许我太笨吧。先转了再说

原文如下,如看原文点击这里

自从实验室放了台 Linux 服务器后,可玩的东西就越来越多了。虽然这台服务器主要的工作是 Web Server,但鉴于我们那小站压力非常之小,服务器资源绝大多数还是浪费着,所以让它多干些活是个不错的选择。实验室的内部网络中有不少非常有用的资 源,例如科研用的文献资料,个人的实验数据等等,这些内容一旦离开实验室就不那么容易访问到了。解决这个问题最好的办法就是 VPN。在 Ubuntu 上搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好,但配置较麻烦。其中 OpenVPN 在 Windows/Mac 平台上还需要额外的客户端。而 L2TP/IPSec 方式虽然比较好,但我配置后,虽然 Windows 和 Linux 用户没有问题,但 Mac/iPhone 却始终无法连上,所以暂时删掉了,日后搞清楚是什么问题再换到这种方式。

只剩下 PPTP 了。事实上 PPTP 是这三者中配置最容易的方式,而且由于 Windows/Mac 系统中都内建相应的客户端,使用起来非常方便。下面我就简单写写我的安装过程,希望对需要的朋友有用。当然如果您有什么高见,也欢迎您提出。

首先,我所有的操作都是在之前文章中介绍的 Ubuntu 8.04 Server 系统中操作的,如果您的系统和我的不一样,请参考之前的两篇文章。我的服务器环境是单网卡 eth0。

在 Ubuntu 中建立 pptp server 需要的软件包为 pptpd,用 apt-get 即可安装:

sudo apt-get install pptpd

系统会自动解决依赖关系,安装好后,需要进行一番设置。首先编辑 /etc/pptpd.conf

sudo nano /etc/pptpd.conf

去掉文件最末端的 localip 和 remoteip 两个参数的注释,并进行相应修改。这里,localip 是 VPN 连通后服务器的 ip 地址,而 remoteip 则是客户端的可分配 ip 地址。下面是我的配置:

localip 10.100.0.1
remoteip 10.100.0.2-10

编辑好这个文件后,我们需要编辑 /etc/ppp/pptpd-options 文件,还是用 nano 编辑,命令这里就不写了。这里绝大多数参数只需维持原来的默认值即可,我们只需要改变其中的 ms-dns 选项,为 VPN 客户端指派 DNS 服务器地址:

ms-dns 202.113.16.10
ms-dns 208.67.222.222

修改 /etc/ppp/chap-secrets 文件,这里面存放着 VPN 的用户名和密码,根据你的实际情况填写即可。如文件中注释所示,第一列是用户名,第二列是服务器名(默认写 pptpd 即可,如果在 pptpd-options 文件中更改过的话,注意这里保持一致),第三列是密码,第四列是 IP 限制(不做限制写 * 即可)。这里就不贴我的配置了 :)

全部搞定后,我们需要重启 pptpd 服务使新配置生效:

sudo /etc/init.d/pptpd restart

找一台 Windows 电脑,新建个 VPN 链接,地址填服务器的 IP(或域名),用户名密码填刚才设置好的,域那项空着(如果你在 pptpd-options 中设置了,这里就保持一致),点连接就可以了。正常情况下您应该能够建立与服务器的 VPN 链接了。

建立连接之后,您会发现除了可以访问服务器的资源,其余内外和互联网的内容均无法访问。如果需要访问这些内容的话,我们还需要进一步设置:

首先,开启 ipv4 forward。方法是,修改 /etc/sysctl.conf,找到类似下面的行并取消它们的注释:

net.ipv4.ip_forward=1

然后使新配置生效:

sudo sysctl -p

有些时候,经过这样设置,客户端机器就可以上网了(我在虚拟机上这样操作后就可以了)。但我在实验室的服务器上这样操作后仍然无法访问网络,这样我们就需要建立一个 NAT。这里我们使用强大的 iptables 来建立 NAT。首先,先安装 iptables:

sudo apt-get intall iptables

装好后,我们向 nat 表中加入一条规则:

sudo iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE

这样操作后,客户端机器应该就可以上网了。

但是,只是这样,iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save 命令:

sudo iptables-save > /etc/iptables-rules

然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore < /etc/iptables-rules

这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

到此,一个 VPN Server/Gateway 基本就算架设完毕。当然,也许你按照我的方法做了,还是无法成功,那么下面总结一些我碰到的问题和解决方案:

无法建立 VPN 连接

安装好 pptpd 并设置后,客户端还是无法建立到服务器的连接。造成的原因可能有以下几种:

  1. 服务器端的防火墙设置:PPTP 服务需要使用 1723(tcp) 端口和 gre 协议,因此请确保您的防火墙设置允许这两者通行。
  2. 如果服务器在路由器后面,请确保路由器上做好相应的设置和端口转发。
  3. 如果服务器在路由器后面,那么请确保你的服务器支持 VPN Passthrough。
  4. 如果客户端在路由器后面,那么客户端所使用的路由器也必须支持 VPN Passthrough。其实市面上稍微好点的路由器都是支持 VPN Passthrough 的,当然也不排除那些最最最便宜的便宜货确实不支持。当然,如果你的路由器可以刷 DD-Wrt 的话就刷上吧,DD-Wrt 是支持的。

能建立链接,但“几乎”无法访问互联网

这里我使用“几乎”这个词,是因为并不是完全不能访问互联网。 症状为,打开 Google 搜索没问题,但其它网站均无法打开;SSH 可用,但 scp 不行;ftp 能握手,但传不了文件。我就遇到了这种情况,仔细 Google 后发现原来是 MTU 的问题,用 ping 探测了一下果然是包过大了。知道问题就好办了,我们可以通过 iptables 来修正这一问题。具体原理就不讲了,需要的自己 Google。这里只说解决方案,在 filter 表中添加下面的规则:

sudo iptables -A FORWARD -s 10.100.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN
-j TCPMSS --set-mss 1200

上面规则中的 1200 可以根据你的实际情况修改,为了保证最好的网络性能,这个值应该不断修改,直至能保证网络正常使用情况下的最大值。

好了,至此,一台单网卡 pptp-server 就算完成了。

----EOF---

后记:好象有很多类似的文章,前面几段都差不多的。

比如这里:

1、http://blog.sina.com.cn/s/blog_49cd61e70100cbph.html

2、http://hi.baidu.com/wangshuxun25/blog/item/b37779f04deae4a7a50f5231.html ,这个是用的shorewall防火墙,上面两篇都是用iptables的

继续后记:

已经可以了。哈哈。还是我没有配置好的原因。oh yeah ...

Tags: vpn

【笔记】UBUNTU下安装zendoptimizer

我用的vps是rashost的,装的是64位的ubuntu,9.10哦,最新版的。朋友在上面装个程序,结果发现无法运行。才想起来还没有安装ZendOptimizer。

找了一下ubuntu下如何安装的,却又搜索到Rashost的官方介绍。。。打开看了一下,没排过版。汗死。
原文内容如下:

XML/HTML代码
  1. Zend Optimizer是由PHP核心引擎“Zend”创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上。今天我在安装了Ubuntu Hardy的VPS上配置了最新的ZendOp。过程记录如下:按照正常流程,在官方网站下载Zend Optimizer是需要注册用户登录之后才能下载的。下载一次后发现其实匿名用户也能下载,用下面这个URL即可: http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glib... 在安装Zend Optimizer之前需要先把apache,php安装好: apt-get install libapache2-mod-php 然后在/var/www/下创建index.php: echo "" > /var/www/index.php 然后用浏览器访问VPS,在首页里面搜索不到Zend Optimizer的字样.安装完成后应该能够搜索到Zend Optimizer才对。 tar zxf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz cd ZendOptimizer-3.3.3-linux-glibc23-i386 ./install.sh 然后安装程序会询问几个路径,一个个回答即可完成安装。 安装完成,重启apache,然后再访问首页,应该能搜索到Zend Optimizer的字样,说明安装成功了,接下来就可以开始测试性能了。   

不过,由于我装的是64位的,就没有办法这样安装了。所以我去官方下载了64位的ZendOptimizer。并解压到服务器上。却发现,根本没有上文说的install.sh
打开readme看了一下,才发现,原来在linux下面,居然只需要加一行代码就行了

XML/HTML代码
  1. [Zend]  
  2. zend_extension = "/xxx/xxx/ZendOptimizer.so"  

当然,这或许是3.3.9独有的安装方式,反正而不需象windows那样先设置 zend_extenstion_ts,再设置zend_extension_manager.optimizer_ts了

添加了这一行后,运行/etc/init.d/apache2 restart ,再新建一个phpinfo的文件,发现里面已经有了zend optimizer的信息了。

最后提供一下64位的zendoptimizer的下载地址:http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

Tags: zend, optimizer

【笔记】ubuntu安装AMP后的小问题等

我曾经写过一篇很简单的笔记,是讲如何安装AMP的,当然很方便。。。,那篇文章在:http://www.neatstudio.com/show-522-1.shtml

今天我在使用了VPS后,也装了这些配置。但最后却仍然报错:

XML/HTML代码
  1. Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName  

现在我把我的步骤列出来。并列出解决方法

1、到/var/www/下新建一个目录,例如我的 sbphp.com,新目录的路径则为 /var/www/sbphp.com/
2、到/etc/apache2/sites-available/目录下,新建一个文件,名为sbphp.com,内容如下:

XML/HTML代码
  1. <VirtualHost *:80>  
  2. ServerAdmin xxx@xxx.com  
  3. ServerName sbphp.com  
  4. ServerAlias www.sbphp.com  
  5. DocumentRoot /var/www/sbphp.com/  
  6. <Directory /var/www/sbphp.com/ >  
  7. #这行是不显示列表   
  8. Options -Indexes  
  9. Order Deny,Allow  
  10. Allow from all  
  11. </Directory>  
  12. </VirtualHost>  

3、运行:a2ensite sbphp.com
4、然后系统会提示你重载一下apache,命令为 /etc/init.d/apache2 reload

于是乎就报上面的错了。这个问题的主要原因是没有定义ServerName,也就是没有定义默认的ServerName
5、到etc目录下建立一个hosts文件,内容为:127.0.0.1 localhost
6、回到apache2的目录,/etc/apache2/ ,打开httpd.conf,加上一行 ServerName 127.0.0.1 或者是你的服务器对应的IP地址

OK,再运行 /etc/init.d/apache2 reload ,不报错了吧。。

【备注】手工安装lamp的朋友可以看这里:http://hi.baidu.com/javatown/blog/item/c870547e956eb63d0dd7da3c.html

Tags: a2ensite

Tiny Core Linux 2.7 发布

看这个名字就知道这个linux很小。事实上,也只有10M左右。不过我看中的是他的小,如果做分发软件那就爽了。。。给别人一虚拟机,然后啥也不提供。。。。就让他们自己使用我的软件。随便想想而己。。。

主要是yii的框架用的就是这种技巧,所以我也想学学。。

新闻来源:开源中国社区
Tiny Core Linux是一份很小(10 MB)的最低限度Linux桌面。它基于Linux 2.6内核、Busybox、Tiny X、FLTK图形用户界面、JWM窗口管理器,全部运行在内存中。它并非一份完整的桌面,也不完整支持所有的硬件;它只代表能引导进入一份最小X窗口桌面 所需的核心内容,典型情况下可包含对有线网络的访问。这份最小桌面可以通过从在线软件仓库安装额外应用软件来进行扩展。

Tiny Core Linux是一份很小(10 MB)的最低限度Linux桌面。它基于Linux 2.6内核、Busybox、Tiny X、FLTK图形用户界面、JWM窗口管理器,全部运行在内存中。它并非一份完整的桌面,也不完整支持所有的硬件;它只代表能引导进入一份最小X窗口桌面 所需的核心内容,典型情况下可包含对有线网络的访问。这份最小桌面可以通过从在线软件仓库安装额外应用软件来进行扩展。

Change log for v2.7:

* Updated appbrowser - single 'Install' button and renamed 'Download Only' to 'OnDemand'
* Updated appsaudit - new menu option 'Install Options' to maintain copy2fs.flg and copy2fs.lst
* New ondemand - create flwm right click menu shortcuts to load and start applications from /tce/optional - tune your system for much faster boot times.
* Updated tce-load - dropped l,m,lm,ml testing, ldconfig always called, depmod based on /usr/local/lib/modules, dropped -r option
* Renamed tcz2ram.flg, tcz2ram.lst to copy2fs.flg and copy2fs.lst, use flag for all, or list to specify extensions to be copied into filesystem.
* New 'ab' a tiny appbrowser in shell
* New cache-clear script.
* New boot code xvesa=WxHxD, e.g. xvesa=800x600x32 to set default Xvesa resolution bypassing xsetup
* Updated tce-update and tce-setup to implement an 'easy mode' to update extensions in your tce folder
* Updated tce-update feature enhancement for nfs support (Thanks to Gerald Clark)
* Updated rebuildfstab for block major 11 devices
* Updated udev/rules.d/75-cd-dvd.rules for sr[0-9] devices.
* Updated exitcheck.sh to call /opt/shutdown.sh for user shutdown commands.
* Removed mbchk and libpopt* as unneeded in base.
* Stripped more libs for smaller size, now at 10.1MB

下载地址:tinycore_2.7.iso (10.1MB, MD5).

目前正在准备vmware安装中,新闻来源:http://www.cnbeta.com/articles/100458.htm

------

安装完了,感觉还是和那种 floopy linux差不多的感觉 。简单的用用还行,不能做什么大的应用。哎。。。

chromeOS随想

虽然我不管是果粉,也不能算是强烈的G粉吧。chromeOS来势汹汹的。叫了大约一年,也就这么上市了。

上市那天,所有的网站会议视频、文字、评测文章、心得等乱七八槽的文件铺天盖地。
CB上特别明显,几乎平均每5篇新闻中就有一篇在讲chromeOS,这只是显示出来的,如果算上那些被CB编辑枪毙的文章,估计要每三篇就有一篇了吧?

云概念,从ChromeOS中又见云概念。存储都在服务端。方便了,也让人感到恐怖了。毕竟东西都存在云端,谁来保证数据的安全?会不会有第二个艳照门?(或许这不会发生了,毕竟修电脑的时候,再也不用担心硬盘数据被别人看了)

纯WEB浏览器的操作不是每个人都能习惯的吧?或许又会是一些极端主义者的爱好的理由 。。。

至少,在国内,网络还不是特别健全的情况下,恐怕不能被推行了吧?
而且根据那天的会议中也可以略微看出,google对这个操作系统是软件不要钱,但硬件要钱。所以我估计他以后最大的应用应该是SAAS吧?

一个小型机上也可以装上这个系统,比如收银机?仓储管理员的机器等。低配置就可以跑起来了。也不用担心他们安装其他程序。。。。以前的那种所谓的终端机也可以不用了。。。

乱想想而己

Tags: google, chrome