手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Linux

巧用VMware虚拟机NAT端口映射使外网访问虚拟机

以下内容只针对vmware(我只在Server上试过),不知道其他软件怎么样。
遇到的问题是这样的,有朋友的虚拟机出了点问题,想让我帮忙看看,可是如果通过 QQ远程连上去,再打开虚拟机会很卡,所以想到,是否可以让我直接SSH连接上,但因为虚拟机是NAT方式的连接,即IP是私有的,无法直接连上,找了些资料,发现NAT端口映射可以搞定。

以下是资料介绍:原文来自:http://www.linuxso.com/linuxrumen/141.html

  NAT中隐藏的端口映射,说明一下环境,利用当然是VMnet8网络连接,在虚拟机中架设win2003的WEB服务器利用WEB默认80端 口,IP为192.168.10.4,真实主机winxp系统有两个IP,内网连接192.168.10.1,外网上IP为 221.196.193.220。外网其他计算机,可以通过访问我的真实主机221.196.193.220,访问到win2003的WEB。

  首先说下原理,因为WEB服务是利用80端口,所以在Win2003上建立了WEB服务,80也就自动被打开,因为Win03是内网 ip(192.168.10.4),外网无法通过访问这个地址,找到我的web服务,但是可以通过外网地址(221.196.193.220)访问我的 XP系统,XP又能连接到Win2003,所以把80映射到我的Winxp的系统上是有可能的!

  那么废话了,现在说实际操作,打开--编辑--虚拟网络设置--NAT选项卡,如下图:

大小: 36.98 K
尺寸: 500 x 375
浏览: 2454 次
点击打开新窗口浏览全图

选择编辑,打开NAT设置,这里保持默认就可以,如果你对你自己的网络很熟悉,可以更改网关等项目

大小: 33.66 K
尺寸: 336 x 376
浏览: 2286 次
点击打开新窗口浏览全图

直接打开端口转递,这里就是NAT的端口映射配置了,用实例的WEB服务举例,因为WEB属TCP连接,所以在TCP和UDP上我都做了,转换,点击添加

大小: 18.16 K
尺寸: 422 x 158
浏览: 2079 次
点击打开新窗口浏览全图

主机端口,填入真实主机要被转换的端口,这里我用FTP又举了个例子,在真实的主机上1021上建立了FTP服务,这样访问时就需要ip后加:,如ftp://192.168.1.1:1021便可正常访问了,这里因为我的XP上没有web服务所以主机端口添的依旧是80.

  虚拟机IP地址,填入内网虚拟机的IP,这个是Win2003的IP,服务端口,对应那个服务就填入哪个端口,你可以参考其他文章,常用端口.

  描述,无所谓了,写个自己能看懂的就行,不些也没问题啊~

  这样一来,你的朋友就可以在IE下输入http://221.196.193.220/ 访问到你虚拟机中Win2003下的WEB服务了,什么?还不可以?自己访问成功可是其他人都不行?

  呵呵,不要急,如果你是WINXP SP2的系统,去看看你的防火墙设置吧,添加端口,不用我说了吧,安全起见,把TCP和UDP都加到例外中,就ok了~

  PS:1、在虚拟机里配置好IIS和动态域名解析软件

  2、如果你的主机处于内网中,请在路由器上设置端口映射,如果主机直接连接互联网,可以忽略此步骤。

-------

嗯,我是作了22端口映射,然后ssh主机的IP,果然能够连上,这下子操作起来访问很多了。

 

Tags: vmware

lnmp组件中sablog的配置纠错

lnmp是现在相对比较容易和被大家所接受的一个套装。由于我用的是Sablog所以我在设定vhost的时候就选了sablog,但是告诉我第二行出错了。

仔细检查了一下,好象确实是有这个问题,一来好象是编码也有问题,二来它copy的规则有点象是discuz的规则,和sablog系统后台中的规则不一样。所以,我根据 sablog后台中的规则进行了修正,立刻正常了。
sablog的默认规则是支持apache的rewrite的。如下:

XML/HTML代码
  1. # BEGIN Sablog-X  
  2. RewriteEngine On  
  3. RewriteBase /  
  4. # 文章  
  5. RewriteRule ^show-([0-9]+)-([0-9]+)\.shtml$ index.php?action=show&id=$1&page=$2  
  6. # 分类  
  7. RewriteRule ^category-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&cid=$1&page=$2  
  8. # 只带月份的归档  
  9. RewriteRule ^archives-([0-9]+)-([0-9]+)\.shtml$ index.php?action=index&setdate=$1&page=$2  
  10. # 用户列表、高级搜索、注册、登陆  
  11. RewriteRule ^(archives|search|reg|login|index|links)\.shtml$ index.php?action=$1  
  12. # 全部评论、标签列表、引用列表 带分页  
  13. RewriteRule ^(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ index.php?action=$1&page=$2  
  14. # END Sablog-X  

注意那个.shtml,那是我自定义的URL后缀,所以你看我的博客的时候,都有这玩意。。。将就点了。说实话,我怀疑这个shtml对SEO有友好度,所以我才这么配置(纯属猜测)
改完后配置是这样的:

XML/HTML代码
  1. location / {  
  2.   
  3.         rewrite ^/show-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=show&id=$1&page=$2 last;  
  4.         rewrite ^/category-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&cid=$1&page=$2 last;  
  5.         rewrite ^/archives-([0-9]+)-([0-9]+)\.shtml$ /index.php?action=index&setdate=$1&page=$2 last;  
  6.         rewrite ^/(archives|search|reg|login|index|links)\.shtml$ /index.php?action=$1 last;  
  7.         rewrite ^/(comments|tagslist|trackbacks|index)-([0-9]+)\.shtml$ /index.php?action=$1&page=$2 last;  
  8. }  

其实看到没,与apache下的配置很相像,只是在最前面加了 ^/ ,然后在指向的文件前加 /
同时在最后加 last;
嗯,就这样。。。灰常方便,你换了没?

Tags: lnmp, sablog, apache, rewrite, seo

linux中的inode简单介绍

linux下面有一个很恶心的说法,就是磁盘空间再大,但如果没有inode了,磁盘也就相当于没用了(这个没用是指剩余空间再大,也存不进东西)
这种问题在ext3上很容易出现,如果磁盘格式是Ext3,然后又是用来存一些小文件(如图片、icon等小而多的文件)时,很容易出现这种问题。所以一般图片服务器都是不用Ext格式的。
虚拟机上居然出现了这种问题,所以找了一下资料,找到了这篇文章:http://www.cnblogs.com/shapherd/archive/2012/02/07/2341638.html

最近在linux上创建目录的时候出现mkdir:Cannot create directory***: No space left on device, 但是df的时候发现空间还有几百G(有同事是中文的机器出现Mkdir: 无法创建目录***,设备上没有空间)。不能继续创建目录或者touch文件的原因是Inode满了。

Inode的数量是有限制的,每个文件对应一个Inode, 那么如何查看inode的最大数量呢,

XML/HTML代码
  1. [work@*** ~]$ df -i  
  2. Filesystem            Inodes   IUsed   IFree IUse% Mounted on  
  3. /dev/cciss/c0d0p2    1154176  172807  981369   15% /  
  4. /dev/cciss/c0d0p3    88309760   51951 88257809    1% /home  

可以看到Inode的总量,已经使用的Inode数量,和剩余数量。
如果watch -n 1 “df -i”一下, 然后去创建一个文件, 会发现已用的加一,未用的减一
简单了解下Inode在文件系统中的地位:

 

大小: 21.23 K
尺寸: 500 x 236
浏览: 1662 次
点击打开新窗口浏览全图

Linux会为每一个文件分配一个唯一的inode节点。在linux中,文件的文件名、文件属性、文件内容是分别存储的:文件名存放在目录项(即 dentry)中,文件属性存放在inode中,文件内容存放在block中。Linux在查找文件时,首先先读取dentry,dentry中存储的文 件名和inode编号的一个映射表, 根据这个表找到inode编号,再根据inode找到磁盘中的文件。
可以用ls -i查看文件对应的inode编号, 也可以直接stat一个文件, 会有很全的信息。

----------

ext4好象听说是好了很多,但更多的人在做图片服务器的时候都选择了:ReiserFS,可惜它不再更新了,为什么呢?因为。。。Linux文件系统reiserfs作者:Hans Reiser被判入狱15年

 

http://linux.solidot.org/linux/08/08/30/0449258.shtml
  1. Linux文件系统reiserfs作者Hans Reiser因谋杀妻子正式被宣判入狱15年。今年早些时候,Reiser承认了罪行,并领着警察挖掘出妻子的遗体。他的陪审团在4月份判定Reiser一级谋杀罪名成立,将面临25年的监禁。但是随后政府和他进行了秘密交易,如果他透露妻子的遗体并放弃上诉的权利,他的入狱期限将降至15年。  
  2.   
  3. 在宣判前Reiser发表声明,“我真诚的为我的罪行向社会致歉。每一个生命都是神圣的,我取走了一个人类的生命,对此我感到难过。”Hans Reiser在2006年9月下午4:30杀手了妻子Nina,他用手捂住她的嘴,使她窒息而死。他暂时将其藏在浴室,后移至汽车,尸体一直在车上呆了两天直到他寻找到埋藏的地点。"  

 BTW:这里有一篇科普文章:http://www.serverfocus.org/reiserfs-vs-ext4-vs-xfs-vs-zfs-vs-btrfs

原来,reiserfs已经升级到4了。

crontab 式的多线程

不要被标题所疑惑,这是一个伪多线程。
其实就是利用Crontab的最小单元(分钟)来实现所谓的多线程。因为PHP本身不支持多线程,只有这样将就着了。
我有500条数据需要更新获取状态,但如果一下子获取500条,也是从1~500的循环,而且由于每次获取数据量都较大,内存容易占满,会导致获取数据大概在300多条时就内存出错,所以利用crontab造了个伪线程。

crontab 每分钟执行一遍程序。
每次执行的时候,计数数+20,同时一次获取20条状态,下一次获取的时候,从21开始,如此类推。
为了防止执行过多,因此,利用ps aux|grep xxxx|wc -l来获取有多少条命令在执行。当超过N时,退出不执行。避免内存消耗过多。

如此,原来500条数据获取,如果正常也需要1小时左右,现在换成这种执行方式,反而快了很多。
记录一下,下次就知道了。PHP果然还是不太适合做一些东西,内存在堆积过多后,再怎么释放也释放不干净啊,我即使ini_set('memory_limit','1024M')也没有用。

下次试试python。python的网络库也不错,而且编码库对字符串转换也非常方便。下次折腾折腾

Tags: crontab

非官方winscp、putty、ssh secure等工具含有后门

近期这样的新闻让人真头疼,现在都开始直接找源头了,不在象以前给普通人装装木马啥的就完了。
同时,我在想,上次的密码被爆,是否也是由于这个原因呢?
哎,网络是越来越不安全了,这样的汉化版被加了木马,那么,那么那些定制化的LINUX是否也被加入呢?毕竟以前蕃茄花园就曾曝光过类似的问题,估计以后一段时间,大家对这些汉化的东西又要开始小心奕奕了。

怪不得现在的下载站,都写着无木马认证,无XXX认证之类的。
----
非官方winscp和putty等软件内置后门相关媒体报道:
http://www.cnbeta.com/articles/170964.htm
http://it.sohu.com/20120131/n333327684.shtml
----
最后也可以google一下,关键字:番茄花园 后门
URL:https://www.google.com/search?q=%E7%95%AA%E8%8C%84%E8%8A%B1%E5%9B%AD+%E5%90%8E%E9%97%A8&ie=utf-8&oe=utf-8&aq=t

Tags: winscp, putty, ssh, 蕃茄花园