标签归档:Linux

[原] 配置linux iptables NAT方式端口映射远程桌面到内网windows

好吧,标题比较拗口。想象这样一种场景:
外网—-linux(可以是路由器、也可以是物理机)—-内网—-windows
那么外网怎么能远程桌面到内网的windows呢,简单来说,就是通过配置linux的nat端口映射到windows的3389端口:

默认linux没有开启转发,需要先开启:

[唉] 又被垃圾评论攻占了,开启注册用户才能发表评论

上月信用卡莫名刷出了美金,还百撕不得骑姐呢。。。
看了账单才知道是Amazon的aws ec2主机扣了我的费用,才知道原来ec2的免费策略是有各种各样限额的。
包括流量、IO。。。
一般是不会超的,不过要是也像我这种情况,被垃圾评论攻占的话。。。
ec的免费IO是一个月2百万次,但是怎么算IO呢,嗯,open一次算一次。
我给你解释一下一条垃圾评论大概会占用几次IO:
众所周知php为进程退出就清空所有上下文模式,所以一个访问:
看你include了多少php文件,就有几次IO,插件判断是垃圾评论吧,访问数据库吧,web日志,。。。

现在不得不开启注册用户才能发表评论模式了,然后注册表单里用了google的reCAPTCHA,先看看顶不顶得住。
附图一张:
anti-spam

其实我在此之前还写了个脚本自动添加Spam的ip到iptables的禁封列表里,结果发现太长了这个列表,会搞得服务器卡的一笔。贴在这里看需要的朋友吧:

另外这个主题的作者是根据Akismet的spam清单里的ip地址来过滤的(不过他放到了nginx的deny ip里,其实也可以,不过iptables可能更前端一些)

[原] 给VMWare下的Linux硬盘扩容

之前安装的时候硬盘设小了,后面发现不够用,于是需要给硬盘扩容。记录下来,希望有用。
首先在VMware中选择Edit Virtual mache settings,Utilities下拉框中找到Expand,进行扩容。
这是第一步,不过在Linux底下是没有变化的(相当于硬盘最后增加了部分未分配的空间)。
然后在Linux底下使用fdisk进行重新分表操作。

具体没有记录,我这里的操作主要是:
d 删除扩展分区(否则无法建新分区),n e 新建扩展分区(选择所有容量),n 新建分区(所有容量),w 写入新分区表
因为新增加的空间位于硬盘最后,重建分区不会造成内容丢失。
重启,不过发现大小还是没变:

需要再使用resize2fs命令:

这下就好了:

[原] /libtool: line xxx: X–tag=CC: command not found的问题解决

今天编译rsl,是在一台完全空白的ubuntu上(对,完全空白,连gcc也没有)。
apt-get install gcc autoconf automake libtool
略过不表。
make的时候,一直提示如下错误:
/libtool: line 646: X–tag=CC: command not found

google了半天,终于找到这个:
http://processors.wiki.ti.com/index.php/DMAI_GStreamer_Plug-In_Getting_Started_Guide

../libtool: line 763: X–tag=CC: command not found
The libtool on your host computer is causing the problem (using $(echo) when it is not defined). Either install an older libtool version (1.5.26) or define the echo environment variable.

[原]Linux下的c/c++ GDB调试

还是比较厉害的,比较准。
编译的时候加入 -g -rdynamic 选项,之后就可以跑调试了:

错误内容
行数 源码;
(gdb) kill
(gdb) q

linux $

[原]第一次完整地编译了Linux内核

啊,太痛苦了,从下午一直编译到凌晨,终于每个选项都搞清楚了是干嘛的。用的是最新的2.6.22.6内核。
slackware 12.0太好玩了,装好后有几个cpu就会在屏幕上方显示几个LOGO企鹅。一排八个真壮观。。。。

推荐这个文章: http://lamp.linux.gov.cn/Linux/kernel_options.html

共计遇到的主要问题如下:
1)LILO 不能装到MBR,好像做了raid的都不能写MBR。手动写lilo.conf可以解决。(从安装盘引导,mount /dev/cciss/盘 /d1,chroot /d1,然后就可以改 /etc/lilo.conf了,改完直接lilo)
2)make menuconfig报错。类似:
scripts/lxdialog/dialog.h:127: syntax error before “use_colors”
scripts/lxdialog/dialog.h:127: warning: type defaults to int' in declaration of use_colors’
scripts/lxdialog/dialog.h:127: warning: data definition has no type or storage class
scripts/lxdialog/dialog.h:128: syntax error before “use_shadow”
scripts/lxdialog/dialog.h:128: warning: type defaults to int' in declaration of use_shadow’
scripts/lxdialog/dialog.h:128: warning: data definition has no type or storage class
scripts/lxdialog/dialog.h:130: syntax error before “attributes”
原因是setup装系统的时候有make menuconfig要用到的开发语言和库没有安装进去。重新安装就可以了。网上其他发行版说的需要手动安装libncurses-dev,在Slackware 12.0并不需要,系统应该自带了。

3)网络不通。检查是驱动选错了。(lspci得到的结果不能全相信,仅供参考!我最后是从安装盘里的默认系统开机自检画面里面发现真实网卡驱动的)
4)VFS: cannot open root device。
可能的原因:A)尽管硬盘全都是SCSI,常规IDE里”INCLUDE IDE/ATA disk Support”这个还是得选上。否则就打不开根设备。。。- -!
B)Enable the block layer(块设备支持,使用硬盘/USB/SCSI设备者必选)-》Support for Large Block Devices(仅在使用大于2TB的块设备时需要)。这个选项我发现必须选上。尽管我只有8*140G,不到2T。但是实际上如果这个选项没有选的话可能起不来。因此我觉得这里是翻译有问题。原文并没有指明是2T。
可能还有其他选项上的问题,可以看看这个网址:http://kerneltrap.org/node/970

期间得到ever的大力帮助,特别感谢。
今天还是嘘嘘生日,真是对不住哦。。。。