Perfil de Dong缩小一百倍,攥手里玩儿FotosBlogListasMais Ferramentas Ajuda

Blog


20 de março

grldr从vista的bootmgr加载的方法

晚上回家查询了一下,发现2月份grub4dos的开发者就研究出来了bootmgr加载grldr的方法。
由此可以不用返回到xp的ntldr来加载grldr了,可以直接用bootmgr加载grldr。
 
具体方式:使用
grubinst --outfile grldr.mbr
提取出已经安装好的vista引导MBR
把这个文件复制到c:\
copy grldr.mbr c:\
 
这个mbr文件将加载grldr
 
用bcdedit添加新项目(以管理员身份运行)
bcdedit /create /d "OEM Emulator from grldr.mbr" /application bootsector
此时生成一个{id}
bcdedit /set {id} device partition=C:
bcdedit /set {id} path \gdldr.mbr
bcdedit /displayorder {id} /addlast
bcdedit /default {id}
 
此后,系统每次引导都会默认启动grldr.mbr,然后grldr.mbr会继续加载grldr。
grldr将进行acpi设置,设置完成后回到bootmgr。
然后在选择正常的进入方式进入系统就可以了。

vistaloader,无需修改mbr,无需制作引导光盘,无需制作引导usb

下列说明仅可用于研究目的!禁止用于盗版、复制、安装商业软件。
 
vistaloader是某著名操作系统的一种特殊引导方式。
原作者binbin推荐了3种引导方法,1.修改主硬盘mbr,首先引导grldr,2.制作可启动光盘,3.制作可启动软盘/USB存储设备。
修改主硬盘的方法过于危险,而且不易恢复
制作引导设备的办法过于专业。
 
我发现一种非常简单的方法来完成引导过程,仅需要修改1个文件,复制1个文件,就完成了。
 
原理如下:
binbin使用的GRUB4DOS软件可兼容于ntldr加载,因此,只需要在原来的ntldr引导项目中增加grldr的引导过程便可。
 
过程描述:
1.使用binbin的vistaloader2.x,运行makeldr,当前目录下生成grldr。
2.复制grldr到c:\, copy grldr c:\
修改c:\boot.ini,增加下面一行:
c:\grldr="OEM Emulator for Vista"
 
使用方法:
系统第一次引导,出现3个项目:
Old Windows
Vista
OEM Emulator for Vista
最后这个项目是自动添加的,永远不用理会(除非哪天GRUB4DOS支持从bootmgr加载)。
此时选择第一项。
 
进入第一项之后,会出现下列两个项目
WindowsXP
OEM Emulator for Vista
选择第二个项目,此时系统会短暂的黑屏,视机器的快慢,有时候还能看到一些英文。
短暂黑屏后,会返回到首次引导的菜单。
此时选择Vista,正常进入系统,此时系统的运行效果和原来的复杂方法运行效果是一样的。
 
ok了,就这样搞定。
如果你的vista是全新安装的话,可能c盘没有ntldr和boot.ini,没关系,随便找别人复制这两个文件到c盘就行了。
18 de março

VPN , PPP over L2TP over IPSec between Linux and Vista/XP/2000/Linux

因为Vista没有简单正常的方式IPSec without L2TP。所以,以前在XP环境下建立基于IP协议的IPSec直连就不再继续可用,必须在IPSec协议上加载L2TP,然后继续在L2TP上加载PPP才能正常工作。这样也好,因为这完全不再需要任何第三方工具了,连配置脚本都不需要了,直接使用Windows自带的VPN连接就能用,更方便了。而且这种方式建立的连接会由VPNServer的PPPServer生成动态的内网ip给客户端,仿佛客户端完成了一次远程拨号过程,客户具有服务器分配的合法有效IP地址,网络拓扑更加稳定。
说的这么轻巧,实际过程非常耗费脑细胞,再一次体验了google的无能,找来找去最后还是我自己搞定,因为都是比较新的技术,2.6内核,使用NETKEY实现IPSec,Vista操作系统。
因为Vista认为必须在IPSec上跑L2TP才靠谱,这个态度严重的不靠谱,说句俗话就是“脱了裤子放屁”。在Internet世界中,IPSec是基于IP协议的技术,两边都是IP协议就足够了,无需L2TP把乱七八糟的协议加载进来,例如NetBIOS。为了满足Vista的变态需求,就要在VPNServer上运行L2TP服务,非常不幸的是L2TP服务本身没有认证措施,而且即使没有IPSec他也能工作,因此把这么个不靠谱的服务放到互联网上就相当于把PPPServer直接暴露在互联网上让人攻击了。那么,我们或者把L2TP服务监听在内网网口上,或者用防火墙保护外网端口上的L2TP服务。由此,继续下面的可怕话题。
Linux从2.6内核开始内置NETKEY,NETKEY实现的IPSec不生成ipsec0这样的界面,同时,目前的2.6内核不能正确地支持NAT-after-IPSec,什么叫“不支持NAT-after-IPSec”?他就是说:你想把通过IPSec过来的数据包转发到内网端口上,那是不可能地,内核认为VPN的数据包不允许被NAT篡改,也就是说:无法把从外网过来的IPSec连接中的L2TP请求转发到监听在内网端口上的L2TP服务上去。说到这里,我们知道,目前必须把L2TP服务监听在外网网口上,为了不让他这么不靠谱的工作,我们必须用防火墙对其进行保护,传统的做法:仅允许从ipsec0这样的端口过来的数据包访问外网端口上的L2TP服务,不错,这是2.4内核时代的KLIPS方法。历史的车轮在不可阻挡的前进,大家都过渡到NETKEY了,技术大拿们互相之间不照应咱也得想办法解决啊。NETKEY没有ipsec0界面,怎么办?好办:该死的google给我一个mark法,具体细节就是:使用netfilter的mangle表,对来自esp协议的数据包打标记,然后在正常的INPUT,FORWARD规则处理中,仅允许带有此标记的数据包访问L2TP服务,说的很赞,但是不能用,具体原因不知道,互联网上的拿们,说这样这样就应该能用了,我深切怀疑他们是不是真的这么操作过。测试了好几次,能打上标记,但是正常规则匹配不上,四个字儿:二代木的。有个实诚的哥们儿,在OpenSwan的邮件组里特可怜的说:我就是那么做的,死活不通,一气之下,把内核降低成2.4的了,成功了。我想说:这不是一个正确的人生态度!更可恶的是,有个外国混子写了本书,叫Openswan:VPN的什么什么技术,都卖钱了,里面特意写了一章L2TP/Ipsec,竟然就是把互联网上的东西抄出来,而且也一样不能用,太有才了。
google让我失望,我不能让自己失望!
 
功夫不负有心人,终于被我找到完美的解决方案。那他就是:-m policy,乍一看这个名字,以为多大个事儿呢,都策略了,这还不得把整个互联网的各种协议都包进去啊!仔细一看,根本不是!他TMD就是专为IPSec准备的,这个匹配规则的意思就是把基于IPSec的数据包匹配到。快速安全稳定,价格公道童叟无欺,由此引发了一系列的江湖纷争。
iptables -A INPUT -i 外网界面子 -m policy --dir in --pol ipsec --proto esp -j ACCEPT
iptables -A FORWARD -i 外网界面子 -m policy --dir in --pol ipsec --proto esp -j ACCEPT
iptables -A INPUT -i 外网界面子 -p udp --dport 1701 -j DROP
看到我blog的对ipsec有志的人们,请注意以上三句,这三句在相当一段时间内都将是2.6sec+L2TP的防火墙保护关键,互联网独此一家。
 
问题解决过程中,还受到了SuSE自带防火墙和我自己写的流量控制规则的双重影响。好在都被我发现了。
15 de março

按需求划分而不是按级别划分

连续几天去北京银行办事,这破银行不知道怎么回事天天那么多人,每次去都会看到类似"您前面还有114个顾客在等待“的绝望排号条。
所以就总是绝望的离开,今天才忽然发现原来里面有一个绿色通道,专门为每次只办理一项业务的客户准备的。速度特快,不用拿号,遂等了一会儿就终于把燃气费交上了。
09 de março

燕京菠萝果汁啤酒

怎那么好喝呢,不过这东西甜巴兹兹的可能喝多了就腻。
 
有些网上的小图片,那婴幼儿改吧改吧作为笑料的,比如一个婴儿脑袋上糊着块毛巾,嘴里叼根儿烟的。还有一个婴儿吊着眼睛表示不屑的。我怎么那么烦这种2B图片呢,“小大人”是他妈最招人烦的一种人,小孩干大人的事儿,说大人的话,欠大嘴巴抽。该干嘛干嘛去,没见过这么做作的东西。
01 de março

太有才了

带优先级控制的基于缓冲池技术的modem控制程序。