2009年3月31日星期二
新奇PCMCIA/ExpressCard双接口无线上网卡
Sierra Wireless公司认为,随着笔记本技术标准的升级换代,很多老客户希望自己购买的无线上网卡能够长期使用,使它们在升级换代的时候不会那么容易被淘汰。
AirCard 402就是首款同时支持两种接口的无线上网卡产品,AirCard 402支持EV-DO Rev.A网络,可提供下行3.1Mbps上行1.8Mbps性能。同时该网卡内置GPS,用户可迅速定位自己的位置进行导航。
预计在CTIA Wireless 2009上Sierra Wireless将展出这款无线上网卡产品,产品支持Windows 7操作系统,具体价格尚未公布。
新奇PCMCIA/ExpressCard双接口无线上网卡
2009年3月28日星期六
破千不是梦 NETGEAR双频11n大跌400多
这是目前内地市场上唯一一款可以通吃2频段的802.11n无线路由,面对未来无线迅速普及,频道不够用的情况,这应该是最好的长远解决方案。这款产品与802.11g MIMO RangeMax系列的108M无线路由器WPN824很相似,同样拥有蓝色大眼睛,也同样是内置多天线的产品。WNDR3300上市1600元,目前已经跌到了1150元,是个出手的绝好机会。
破千不是梦 NETGEAR双频11n大跌400多
这款产品目前已经全面到货市场,这是编辑目前为止最认可的一款11N无线路由器,首先双频充分解决了信道不足问题,算是一个良性的创新,也是无线发展必须要经历的,可以算是一个划时代的产品。
破千不是梦 NETGEAR双频11n大跌400多
产品中间有个透明状装饰,里面容纳了很多蓝色指示灯,它内部采用集成式的8个内置天线阵列,指示灯能依照天线的传输不规律的闪烁,工作的时候很漂亮。而且他还不光是一个指示灯,他还是WPS按键这样的设计别出心裁。
狂抽30%到1150元,价格已经不错了,个人认为这是一款近几年内一步到位的产品,购买它绝对不会后悔,强烈建议迅驰N网卡的用户使用该款产品,如果想要进一步了解它,还可以查看我们的评测文章。
NETGEAR WNDR3300
[参考价格] 1150元
LTE能否一统江湖?
2008年是全球3G大发展的一年。根据CDG和UMTS论坛的统计数据,截至2008年12月,全球包括CDMA2000和WCDMA在内的3G用户数已经超过8亿。
用户规模的增长带来的是终端种类的丰富和价格的下降,以CDMA2000为例,目前的终端款式已经超过2050种,低至20多美元的CDMA2000终端使很多发展中地区的用户能够享受到3G的乐趣; WCDMA的发展也是如此,目前WCDMA/HSPA的终端数量已经超过900款,最低价的WCDMA终端在50美元左右。
以HSPA和EV-DO为代表的移动宽带技术发展也在提速。很多新部署的3G网络直接就进入HSPA或者EV-DO。目前,全球HSPA新增用户每月高达400万户,有90%的WCDMA网络都升级到了HSPA。
展望2009年,全球3G市场将继续蓬勃发展,越来越多的用户将感受到3G的魅力。同时,3G产业链也将继续成熟和完善,并向更高数据传输速率、更高带宽迈进。
目前,移动通信技术的演进路径主要有三条:一是WCDMA和TD-SCDMA,均从HSDPA演进至HSDPA+,进而到LTE;二是CDMA2000,沿着EV-DO Rev.0/Rev.A/Rev.B的路线发展,最终到UMB; 三是802.16m的WiMAX路线。这其中LTE拥有最多的支持者,包括爱立信、诺基亚西门子、华为、阿尔卡特朗讯等在内的世界主要电信设备生产商都支持LTE技术。
随着2008年年底高通公司宣布终止开发其推广多时的UMB,2009年年初英特尔宣布不再对其一直看好的WiMAX运营商Clearwire进行投资,巨头们在技术方向上的先后转向使4G标准的竞争不再有悬念。
2008 年12月,3GPP原则上完成LTE标准草案; 2009年1月,北欧运营商TeliaSonera正式开始部署全球首个LTE网络; 2009年2月,美国第一大移动运营商Verizon公布LTE设备供货商名单,并宣布将于2010年推出LTE商用服务,沃达丰、中国移动等世界顶级移动运营商也宣布支持LTE; 2009年3月,GSA协会宣布已有26家运营商承诺采用LTE技术……经过数年的膺战,LTE终于成为移动通信技术面向4G发展的明确方向。
当然,由于LTE仍然需要时间进一步成熟,3G及其升级技术仍然会在未来相当长的时间内继续保持强劲增长势头。分析机构Analysys Mason日前发布的报告就指出,尽管LTE已获得越来越多的支持,HSPA以及HSPA+在2015年前依然会支持54%左右的移动用户。
1 2 3 4
2009年3月26日星期四
信息技术最新全球排名:中国首度引领金砖四国
《全球信息技术报告》是一份年度报告,由世界经济论坛和欧洲工商管理学院共同编撰,号称是全球评估信息与通信技术对各经济体发展进程和竞争力影响情况的最全面和最权威的报告。今年的报告对全球134个经济体进行了反映信息与通信技术发展情况的“网络准备指数”排名。
在“网络准备指数”中排名前10位的经济体依次为丹麦、瑞典、美国、新加坡、瑞士、芬兰、冰岛、挪威、荷兰和加拿大。中国的排名从去年的第57位升至第46位,而“金砖四国”中的其他成员印度、巴西和俄罗斯分别名列第54、第59和第74位。
报告说,丹麦连续三年排名第一,显示了该国在利用信息和通信技术来提升国家整体竞争力方面的突出能力。除丹麦之外,其他北欧国家的排名也非常靠前,彰显了这些国家在教育基础、技术准备状态和创新方面的领先水平。
报告说,包括个人、企业和政府的准备状况在内,中国的网络准备状况整体提高迅速,政府的信息和通信技术利用水平也有显著提高,具体体现为政府服务内容的增多和办公效率的提升。
世界经济论坛高级经济学家艾琳·米亚说,北欧、美国和新加坡等网络准备程度高的经济体之所以能够成功,主要是因为它们一贯高度重视教育、创新和信息与通信技术的普及。在当前全球金融危机的形势下,政府和私营部门的领导人不应忽视信息与通信技术的发展,因为这种技术可以成为经济增长和竞争力提升的重要推动力。
2009年3月24日星期二
五大智能手机操作系统谁更强
直通线与交叉线的区别
正线,即直通线 ,(标准568B):两端线序一样,从左至右线序是:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。
反线,即交叉线 ,(标准568A):一端为正线的线序,另一端为从左至右:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕。
以下是各种设备的连接情况下,正线和反线的正确选择。其中HUB代表集线器,SWITCH代表交换机,ROUTER代表路由器:
PC-PC:反线
PC-HUB:正线
HUB-HUB普通口:反线
HUB-HUB级连口-级连口:反线
HUB-HUB普通口-级连口:正线
HUB-SWITCH:反线
HUB(级联口)-SWITCH:正线
SWITCH-SWITCH:反线
SWITCH-ROUTER:正线
ROUTER-ROUTER:反线
100BaseT连接双绞线,以100Mb/S的EIA/TIA 568B作为标准规格。
另外补充一下:
个人发现使用千兆网卡的情况下(以IBM T4x,R5x机器为例),千兆网卡可以自动识别正线和反线,继而不需要专门制作正线而直接使用反线和其他笔记本或者台式机实现双机直联的操作。
双绞线制作步骤
步骤 1:
利用斜口错剪下所需要的双绞线长度,至少 0.6米,最多不超过 100米。然后再利用双绞线剥线器(实际用什么剪都可以)将双绞线的外皮除去2-3厘米。有一些双绞线电缆上含有一条柔软的尼龙绳,如果您在剥除双绞线的外皮时,觉得裸露出的部分太短,而不利于制作RJ-45接头时,可以紧握双绞线外皮,再捏住尼龙线往外皮的下方剥开,就可以得到较长的裸露线。
步骤2:
剥线完成后的双绞线电缆如图所示。
步骤3:
接下来就要进行拨线的操作。将裸露的双绞线中的橙色对线拨向自己的前方,棕色对线拨向自己的方向,绿色对线剥向左方,蓝色对线剥向右方。 上:橙 左:绿 下:棕 右:蓝
步骤4:
将绿色对线与蓝色对线放在中间位置,而橙色对线与棕色对线保持不动, 即放在靠外的位置。 左一:橙 左二:绿 左三:蓝 左四:棕
步骤5:
小心的剥开每一对线,线对颜色是有一定顺序的。
(需要特别注意的是,绿色条线应该跨越蓝色对线。这里最容易犯错的地方就是将白绿线与绿线相邻放在一起,这样 会造成串扰,使传输效率降低。 左起:白橙/橙/白绿/蓝/白蓝/绿/白棕/棕 常见的错误接法是将绿色线放到第4只脚的位置。
应该将绿色线放在第6只脚的位置才是正确的,因为在100BaseT网络中,第3只脚与第6只脚是同一对的,所以需要使用同一对残。 左起:白橙/橙/白绿/绿/白蓝/蓝/白棕/棕)
步骤 6:
将裸露出的双绞线用剪刀或斜口钳剪下只剩约 14mm的长度,之所以留下这个长度是为了符合EIA/TIA的标准。最后再将双绞线的每一根线依序放入RJ-45接头的引脚内,第一只引脚内应该放白橙色的线,其余类推。
步骤7:
确定双绞线的每根线已经正确放置之后,就可以用RJ-45压线钳压接RJ-45接头。市面上还有一种RJ-45接头的保护套,可以防止接头在拉扯时造成接触不良。使用这种保护套时,需要在压接RJ-45接头之前就将这种胶套插在双绞线电缆上。
步骤8:
重复步骤2到步骤7,再制作另一端的RJ-45接头。因为工作站与集线器之间是直接对接,所以另一端RJ-45接头的引脚接法完全一样。完成后的连接线两端的RJ-45接头无论引脚和颜色都完全~样,这种连接方法适用于ADSL MODEM和计算机网卡之间的连接,计算机与集线器(交换机)之间的连接。完成的RJ45接头应该如下图所示。
交叉网线制作和千兆网线制作
交叉网线用于ADSL MODEM和集线器HUB的连接(与MODEM设计有关系,并非全部如此),HUB与HUB之间不通过级连口的连接,以及两台计算机直接通过网卡相互连接。制作方法和上面基本相同,只是在线序上不像568B,采用了1-3,2-6交换的方式,也就是一头使用568B制作,另外一头使用568A制作。
千兆5类或超5类双绞线的形式与百兆网线的形式相同,也分为直通和交叉两种。
直通网线与我们平时所使用的没有什么区别,都是一一对应的。
但是传统的百兆网络只用到4 根线缆来传输,而千兆网络要用到8 根来传输,所以千兆交叉网线的制作与百兆不同,制作方法如下:
1对3,2对6,3对1,4对7,5对8,6对2,7对4,8对5
2009年3月23日星期一
下一步转向硬件维修
所以我想转入硬件维修行业,用三年的时间把电脑主板维修,显卡维修,还有电视,显示器,把理论搞懂,能动手实践操作,或许这是一条实际的路途吧,当然电脑软件我也不是不会丢的,因为不能过分夸大硬件或软件的作用,恰当的处理二者的关系是能走向成功的
2009年3月22日星期日
英知名网站评十大IT圣地:中关村第六
以下是全球十大IT圣地名单:
1. 硅谷
2. 中国台湾
3. 印度班加罗尔
4. 日本
5. 美国旧金山
6. 中国中关村
7. 芬兰
8. 美国马里兰州米德堡
9. 罗马尼亚
10. 美国波士顿
2009年3月20日星期五
下载:文件恢复工具Recuva 1.25.409
Recuva是一款非常小巧的文件恢复工具,它可以用来恢复那些被误删除的任意格式的文件,能直接恢复硬盘、闪盘、存储卡中的文件,只要没有被重复写入数据,无论格式化还是删除均可直接恢复,支持FAT12,FAT16,FAT32,NTFS文件系统。
软件是免费的,操作简单,选择好要扫描的驱动器后点击扫描按钮即可。菜鸟级别的工具,但是性能却非常的好,大部分重要文件都可以轻松恢复,速度也很快。推荐使用的一款好工具。
更新日志:1.25.409
- 支持对iPod曲目名称恢复;
- 改进的处理大文件时用户界面的稳定性;
- 改进早期Windows系统对软盘文件的处理;
- 调整使用非英语语言时的界面细节;
- 改进扫描优化;
- 一些细节的调整。
本地下载:
安装版:http://www.myfiles.com.cn/soft/18/18802.htm
便携版:http://www.myfiles.com.cn/soft/41/41589.htm
下载:文件恢复工具Recuva 1.25.409
2009年3月19日星期四
不可不知 从材质到安装弄清投影幕分类
不可不知 投影幕分类
安装方式各异的投影幕
投影幕的地位其实与投影机的工作原理有直接关系。我们知道,投影机是被动式发光,投影机的光线投射到墙壁或者幕布上,光线反射到眼睛我们才能看到影像。但是在反射过程中,漫反射是不可避免的。因为除了有效的影像光线外还有环境光线等杂光通过漫反射进入眼睛,会干扰正常的投影效果。为了降低杂光的干扰,很多时候我们会选择在较暗的会议室或者关灯来实现更好的投影。
但其实,降低漫反射下杂光的干扰,很关键的一步就是选择适合的投影幕。因为好的投影幕不但可以降低漫反射产生,同时还可以提亮投影的画面,这就是为什么投影幕的价格可以差别到百倍甚至更高的原因。所以投影幕的作用其实很重要的。
那么投影幕都有哪些分类呢?按照安装方式,大致可以分为电动幕、地拉幕、支架幕、手动幕。
心中有数 投影幕有哪些分类?
电动幕
心中有数 投影幕有哪些分类?
地拉幕
支架幕
上述主要的投影幕中,电动幕和手动幕是采用悬挂方式,不同之处在于电动幕可使用遥控器控制幕布的升降,而手动幕则需要人工拉动投影幕,更容易损坏。因此,电动幕相对高端,而手动幕多价格便宜。而地拉幕和支架幕都属于便携幕布,携带更加灵活,其中地拉幕可以收藏在盒子里,携带方便。而支架幕则成本更加低廉。
不同材质投影幕有哪些特点?
按照投影幕材质的不同,我们大致可以将投影幕分为软幕和硬幕。选择正投方式的时候采用的一般都是软幕,软幕的材质主要分为玻珠和白塑以及灰幕。选择背投方式的时候主要使用的是硬幕,顾名思义,硬度硬度较高,幕面能够长时间保持平整而不变形,硬幕的材质主要有金属及玻璃。那么这些不同材质的幕布有哪些特色呢?
不可不知 投影幕分类
硬幕——金属幕
金属幕:是一种硬幕,其特点是平整性好,不易损坏,使用寿命长,增益大,画面亮度高,增益通常能达到3到5而一般白墙的增益是1。但是金属幕缺点是价格昂贵比普通白塑等要贵十几倍,对比度较低。主要应用于办公环境及会场大型展厅。
马配好鞍!编辑教你如何选购投影幕布(分两天写)
玻珠幕
玻珠幕:指的的表面粘合有超细玻璃珠的幕布。这种玻璃珠细而匀,观众看起来亮度高立体感强,彩质鲜艳。特点是亮度高,增益一般是2到4,但是可视角度小,旁边的观众观看时效果不太好。价格适中,比较适合空间较小,要求高亮度的用户选择。
马配好鞍!编辑教你如何选购投影幕布(分两天写)
白塑幕
白塑幕:指的是表面涂有白色特殊材料的幕布。这种幕布观众看起来彩质鲜艳。特点是价格便宜,可视角度大,适用范围最广,也是商家促销送的主要类型幕布。不过增益为1,对画面亮度提升并不明显。
综述:
以上我们主要介绍了投影幕从材质到安装方式的主要分类。由于使用场合的不同,对投影效果要求的不同,加上预算的限制,其实选择投影幕也是很有学问的。希望大家能够通过本文对投影幕有比较清晰的了解。对大家选购时能提供一些帮助。
增益:
增益是衡量投影幕亮度的一个指标,增益越大亮度越大,可视角度越小。以白墙增益1为标准,白塑幕增益约为1到2,玻珠幕的增益为2到4,金属幕的增益为4以上。
2009年3月16日星期一
openbsd bind还是不能成功~
另外今天妈从广州东莞回来了,没有和妈多谈些话,还是感到有些说不上的心里不舒服!
知识还是要加油,也要多注意休息,
2009年3月15日星期日
配置OpenBSD 上面的BIND服务
配置OpenBSD 上面的BIND服务
作者:viewtide
出处:
hqzxx.nhedu.net
联系:
viewtide@126.com
最近在OpenBSD上配置BIND用做LAN上网的DNS缓存服务器,同时负责解析几个LAN中的域名。因为BIND是OPENBSD默认安装的所以不
用再安装了,但是我配置BIND的过程还是遇到了些问题,在大家的帮助下最终都解决了。网上关于OPENBSD的文档相对其他开源OS比较少。所以就把我
的配置过程放上供大家参考。
1. 建立bind的配置文件:
# vi /var/named/etc/named.conf复制内容到剪贴板代码:acl "trust-lan" { 127.0.0.1/8; 192.168.10.0/23;};
options {
directory "/";
version "0.0.0";
datasize 40M;
allow-transfer {
"trust-lan";};
recursion yes;
allow-notify {
"trust-lan";
};
listen-on { any; };
allow-recursion {
"trust-lan";
};
auth-nxdomain no;
forwarders {
202.96.128.86;
202.96.128.166;};
};
logging {
channel warning
{ file "/log/dns_warnings" versions 3 size 1240k;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns
{ file "/log/dns_logs" versions 3 size 1240k;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { warning; };
category queries { general_dns; };
};
zone "." {
type hint;
file "standard/root.hint";
};
zone "localhost" {
type master;
file "standard/localhost";
allow-transfer { localhost; };
};
zone "127.in-addr.arpa" {
type master;
file "standard/loopback";
allow-transfer { localhost; };
};
// 自己定义的一个区
zone "hqzxx.nhedu.net" {
type master;
file "master/hqzxx.nhedu.net";
// masters {
// 192.168.10.2;
// };
};
zone "10.168.192.in-addr.arpa" {
type master;
file "master/10.168.192.in-addr";
// masters {
// 192.168.10.2;
// };
};# vi /var/named/master/hqzxx.nhedu.net复制内容到剪贴板代码:$TTL 86400
$ORIGIN hqzxx.nhedu.net.
@ IN SOA openbsd.hqzxx.nhedu.net. root.openbsd.hqzxx.nhedu.net (
2001111601 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; default_ttl
)
IN NS openbsd.hqzxx.nhedu.net.
;; -- default address -
@ IN A 192.168.10.3
;; -- OpenBSD SerVer --
openbsd IN A 192.168.10.3
IN MX 0 openbsd.hqzxx.nhedu.net.
IN MX 10 dns.hqzxx.nhedu.net.
IN HINFO "bsd 4.0".
IN TXT "The internet gateway".
;; --- WIN2K SerVer ---
win2k IN A 192.168.10.13
IN MX 0 win2k.hqzxx.nhedu.net.
IN MX 10 windows.hqzxx.nhedu.net.
IN HINFO "windows 2000 server".
;; ------ cnames ------
dns IN CNAME openbsd
www IN CNAME openbsd
mail IN CNAME openbsd
ftp IN CNAME openbsd
windows IN CNAME win2k
win IN CNAME win2k# vi /var/named/master/10.168.192.in-addr复制内容到剪贴板代码:$TTL 86400
@ IN SOA openbsd.hqzxx.nhedu.net. root.openbsd.hqzxx.nhedu.net. (
2001111601 ; Serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
@ IN NS openbsd.hqzxx.nhedu.net.
3 IN PTR dns.hqzxx.nhedu.net.
3 IN PTR www.hqzxx.nhedu.net.
3 IN PTR mail.hqzxx.nhedu.net.
3 IN PTR ftp.hqzxx.nhedu.net.
13 IN PTR win2k.hqzxx.nhedu.net.
13 IN PTR windows.hqzxx.nhedu.net.
13 IN PTR win.hqzxx.nhedu.net.2. 更新根区文件到最新:
# cd /var/named/standard
# wget
ftp://ftp.internic.org/domain/named.root
3. 创建BIND日志文件:
# cd /var/named
# mkdir log
# touch ./log/dns_warnings
# touch ./log/dns_logs
# chown –R named:named ./log
4. 生成rndc-key:
# rndc-confgen > rndc.conf
把rndc.conf中:
# Use with the following in named.conf, adjusting the allow list as needed:
后面的部分加到/var/named/etc/named.conf中并去掉注释
5. 运行BIND测试:
# /usr/sbin/named -gc /etc/named.conf &
检查BIND是否启动:
# netstat -an
6. 感觉系统自带的开机启动BIND的脚本控制BIND的开关太不方便了就自己建立个BIND启动脚本:
# vi /etc/init.d/named.sh复制内容到剪贴板代码:#!/bin/bash
# made by llzqq
# mail:llzqq@126.com
# 02/08/ 2004
# a network name service startup scripts
case "$1" in
start)
if [ -x /usr/sbin/named ]; then
/usr/sbin/named -u named -c /etc/named.conf && echo . && echo 'BIND9 server started.'
fi
;;
stop)
kill `cat /var/run/named.pid` && echo . && echo 'BIND9 server stopped.'
;;
restart)
echo .
echo "Restart BIND9 server"
$0 stop
sleep 10
$0 start
;;
*)
echo "$0 start | stop | restart"
;;
esac# chomd 744 /etc/init.d/named.sh
# chown root:sys /etc/init.d/named.sh
同时注释掉系统的BIND自启动脚本:
# vi /etc/rc
找到BIND的相关行,然后注释掉,如下:复制内容到剪贴板代码:# $named_flags is imported from /etc/rc.conf;
# if $named_flags != NO, named is run.
#if [ "X${named_flags}" != X"NO" ]; then
# if ! cmp -s /etc/rndc.key /var/named/etc/rndc.key ; then
# echo -n "rndc-confgen: generating new shared secret... "
# if /usr/sbin/rndc-confgen -a -t /var/named >;/dev/null 2>;&1; then
# chmod 0640 /var/named/etc/rndc.key >;/dev/null 2>;&1
# echo done.
# else
# echo failed.
# fi
# fi
#
# echo 'starting named'; named $named_flags
#fi7. 设置开机启动BIND:
# vi /etc/rc.local
在文件的最后增加这行:
/etc/init.d/named.sh start
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/64726/showart_512852.html
Bind On OpenBSD
named_flags=""
Shell:~ >: sudo cp -rf /var/named/etc/root.hint /var/named/standard/root.hint
Shell:~ >: cd /var/named/standard
Shell:/var/named/standard >: sudo wget ftp://ftp.internic.net/domain/db.cache
Shell:/var/named/standard >: sudo wget ftp://ftp.internic.net/domain/named.cache
Shell:/var/named/standard >: sudo wget ftp://ftp.internic.net/domain/named.root
Shell:~ >: cat /etc/resolv.conf
lookup file bind
nameserver 127.0.0.1
nameserver 202.96.128.166
nameserver 202.96.134.133
2009年3月14日星期六
万维网诞生:20年弹指一挥间
1989年,蒂姆-伯纳斯·李(Tim Berners-Lee)发表了“信息管理:一种建议”,它让整个技术世界产生翻天覆地的变化。
1989年,李在瑞士日内瓦郊外的欧洲原子能研究组织担任软件顾问。当年3月13日,他递交了一份有关对实验室研究流程加强监管的计划书。他的同事裁换太频繁,这让李备感失望,他抱怨称,该组织正失去对有价值项目信息的跟踪,因为人员流动太快,而办公室里摆满相互冲突的电脑是于事无补的。他写道:
“大家一般都是呆上两年,而同时信息经常丢失。引进的新人需要花费大量时间才能知道如何做事。以前项目的技术细节不时丢失,或者只有在紧急事件发生,经官方调查才能恢复。通常,信息都有过记录,只是无法找到。”
于是,李开始着手写一篇论文。这篇文章当时读起来令人惊奇。因为在数年后,李才有机会证明他的概念。李实现其理论一直等到上世纪90年代中期,当时吉姆·克拉克(Jim Clark)和马克·安德烈(Marc Andreessen)推出Netscape,才使商业万维网浏览器的概念流行开来。
李本人也没有想到他提出的基本设计会引向何方。在文中,他做出了非常谨慎的结论:
“我们应该设计出一种通用链接信息系统,其间普适性和便捷性应该比奇异的图表技巧和过于复杂的设备更为重要”。“我们的目的在于出现让任何信息或参考资料都能找得到的地方,这个地方让后来者也能找到。其结果是充分吸引大家使用,在突破临界点后,信息存储量将增长,因此,这种有效的设计会不断推动其使用增长”。
因此,这个周五,李和其它与万维网发展有关的名人聚集在粒子实验室庆祝。我不能出席这场盛会,但我在这边向对面的李“虚拟”致敬,祝贺他做了一件非常好的事情。
OpenBSD网络设置
# cat /etc/myname
ob.atyu.com //设置主机名
2.IP
# cat /etc/hostname.pcn0(pcn0为设备名)
inet 10.0.0.100 netmask 255.0.0.0 NONE //指定IP和子网掩码
3.GATEWAY
# cat /etc/mygate
defaultrouter="10.0.0.254" //指定网关
4.DNS
# cat /etc/resolv.conf
nameserver 10.0.0.200 //指定DNS服务器
http://blog.chinaunix.net/u/28922/showart_308728.html
2009年3月13日星期五
OpenBSD 实用技巧之五/ onlamp 黄金组合 apache/php/mysql
OpenBSD 实用技巧之五/ onlamp 黄金组合 apache/php/mysql
by Werix
我这里用OpenBSD 3.4
Apache安装过程:
1. vi /etc/rc.conf
httpd_flags=""
改设置,原值是NO
2. /usr/sbin/apachectl start
MySQL安装过程:
1. pkg_add p5_DBI-1.37.tgz
2. pkg_add p5-DBD-Msql-Mysql-1.22.19.tgz
3. pkg_add mysql-server-3.23.57p1.tgz
4. pkg_add mysql-client-3.23.57.tgz
5. cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
6. groupadd mysql
7. useradd -g mysql mysql
8. chown -R mysql.mysql /var/mysql
9. chown -R mysql.mysql /var/run/mysql
10. 如有问题查/var/mysql/foobar.err
11. /usr/local/bin/mysql_install_db
12. /usr/local/bin/safe_mysqld&
13. 在 /etc/rc.local 加入
if [ -x /usr/local/bin/safe_mysqld ];
then /usr/local/bin/safe_mysqld > /dev/null & echo -n ' mysql'
fi
注意别忘了给mysql 的 root 加密码
/usr/local/bin/mysqladmin -u root passwd 'yourpasswd'
PHP 安装过程:
1. pkg_add php4-core-4.3.3.tgz
2. /usr/local/sbin/phpxs -s
3. cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
4. vi /var/www/conf/httpd.conf
别忘了 AddType application/x-httpd-php .php
5. pkg_add php4-mysql-4.3.3.tgz
6. /usr/local/sbin/phpxs -a mysql
/usr/locla/sbin/apachectl start
最后
echo "" > /var/www/htdocs/test.php
1.OpenBSD安装(一)
http://www.linuxsir.com/bbs/showthre...threadid=64092
2.OpenBSD安装(二)
http://www.linuxsir.com/bbs/showthre...threadid=64267
3.OpenBSD安装(三)
http://www.linuxsir.com/bbs/showthre...367#post361367
4.OpenBSD 系列(四)
http://www.linuxsir.com/bbs/showthre...threadid=68868
5.OpenBSD系统安全初探
http://www.linuxsir.com/bbs/showthre...threadid=71936
6.OpenBSD 实用技巧之一
http://www.linuxsir.com/bbs/showthre...threadid=72084
7.OpenBSD 实用技巧之二 / U 盘
http://www.linuxsir.com/bbs/showthre...threadid=72605
8.OpenBSD 实用技巧之三 / NFS 服务
http://www.linuxsir.com/bbs/showthre...threadid=72608
9.OpenBSD 实用技巧之四/ samba服务
http://www.linuxsir.com/bbs/showthre...threadid=72858
OpenBSD 实用技巧之四/ samba服务
Well, linuxfire.com seems unavailable...
OpenBSD 实用技巧之四/ samba服务
by Werix
OpenBSD只适合用于防火墙?为了适应广大群众的迫切要求,我们开始讲一些OpenBSD常
用的服务,让大家对OpenBSD有更好的理解,OpenBSD提供99%linux/Unix可以提供的
服务。。。(还没解决biprocessor的问题)
我这里用OpenBSD做服务器,debian 做客户端(防止种族歧视,呵呵)
OpenBSD安装过程:
1. cd /usr/ports/net/samba/stable
2. make install clean
3. vi /etc/samba/smb.conf
4. testparam
5. /usr/libexec/smbd -D
6. /usr/libexec/nmbd -D
7. smbpasswd werix (建立user)
说明:
3。 安自己要求改设置
4。 看看改的对不对
7。 Optional
Debian Client:
1. mount -t smbfs -o username=werix //192.168.1.1/share /mnt/smb
说明:
share 是我在smb.conf里加的一个目录。
还有什么比这还简单的呢?
OpenBSD 实用技巧之二 / U 盘
OpenBSD 实用技巧之二 / U 盘
by Werix
用linux的弟兄可以用U 盘,而且方法也简单的不能再简单了,可是OpenBSD下呢,
呵呵,昨天晚上坐下来好好琢磨了一下,发现其实比linux还简单啦!用GENERIC就
可以。
首先用dmesg或dmassage(上一章讲过了)看一下,我的机器是这样的
。。。
uhci0 at pci0 dev 7 function 2 "Intel 82371AB USB" rev 0x01: irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: vendor 0x0000 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
。。。。
在一个shell下用tail:
tail -f /var/log/messages
现在我们把U盘插入,我的机器给了我一下信息:
Nov 10 18:57:56 www /bsd: uhub1 at uhub0 port 1
Nov 10 18:57:56 www /bsd:
Nov 10 18:57:56 www /bsd: uhub1: Prolific Technology Inc. USB Embedded Hub,
class 9/0, rev 2.00/0.01, addr 2
Nov 10 18:57:56 www /bsd: uhub1: 1 port with 0 removable, self powered
Nov 10 18:57:57 www /bsd: umass0 at uhub1 port 1 configuration 1 interface
0
Nov 10 18:57:57 www /bsd:
Nov 10 18:57:57 www /bsd: umass0: Prolific Technology Inc. USB Mass Storage
Device, rev 2.00/0.01, addr 3
Nov 10 18:57:59 www /bsd: umass0: using SFF8070i over BBB-P
Nov 10 18:57:59 www /bsd: scsibus2 at umass0: 2 targets
Nov 10 18:57:59 www /bsd: sd0 at scsibus2 targ 1 lun 0:
Nov 10 18:57:59 www /bsd: sd0(umass0:1:0): Check Condition on opcode 0x5a
Nov 10 18:57:59 www /bsd: SENSE KEY: Illegal Request
Nov 10 18:57:59 www /bsd: ASC/ASCQ: Illegal Field in CDB
Nov 10 18:57:59 www /bsd: sd0: 250MB, 250 cyl, 64 head, 32 sec, 512 bytes/sec,
512000 sec total
好了,系统认识U盘!!!
下面就是初级玩儿法了:
1. disklabel -E sd0
2. newfs sd0a
3. mount /dev/sd0a /mnt/U
大家看看系统输出的信息把我上面的参数改成您的就行了。
就这么简单,谁说OpenBSD只适合用于防火墙?
OpenBSD 实用技巧之一
隆重感谢linuxfire.com!
OpenBSD 实用技巧之一
by Werix
前言:
原来想继续写安全系列,但是发现真正用OpenBSD的人少了又少,普及工作没做好,
只好开辟第二战场,讲写实用技术,先把用linux的人抢过来再说,哈哈。不过安全
系列还是要写的,以后的内容是systrace,W^X,大家耐心点儿,我码中文太慢。
工具:
dmassage - dmesg parser
官方网站:
http://www.sentia.org/projects/dmassage/
介绍:
初学的朋友总想知道一个问题,自己安装之后硬件是否都被系统认识了?用dmesg
吧,可是那里内容多得看不懂,要是有个象redhat里面的那个hwbrowser就好了。还
有就是经常要编译内核(kernel),不知道用那些options 才好,选多了吧,内核太大,
没有硬件也浪费空间。少了吧,又怕万一有什么起不来。。。现在好了,dmassage
可以帮您轻松解决这些烦恼。
安装:
1。从官方网站下dmassage-0.6.tar.gz
2。tar xvf dmassage-0.6.tar.gz
3. cd dmassage-0.6
4. ./dmassage -t
5. ./dmassage -s GENERIC >SMALLKERNEL
解释:
4。给您显示机器所有devices和它们的连接
5。利用dmesg 产生的信息(如果 dmesg里没有一个device信息,说明可能没有这个
硬件,或是系统不认识它)产生一个新的小内核设置文件。如果你编译了一个叫WERIX
的内核,那么这命令里的GENERIC就变成WERIX了,呵呵。。。
bash# ./dmassage -t
root
\-mainbus0
|-bios0
| |-apm0
| \-pcibios0
\-pci0
|-ahc1
| \-scsibus1
| \-cd1
|-pchb0
|-pcib0
| \-isa0
| |-fdc0
| | \-fd0
| |-isadma0
| |-isapnp0
| | |-joy0
| | \-ym0
| | |-audio0
| | \-midi1
| |-npx0
| |-pckbc0
| | \-pckbd0
| | \-wskbd0
| \-pcppi0
| |-midi0
| \-sysbeep0
|-pciide0
| |-atapiscsi0
| | \-scsibus0
| | \-cd0
| |-wd0
| \-wd1
|-ppb0
| \-pci1
| \-vga1
| \-wsdisplay0
|-rl0
| \-rlphy0
|-uhci0
| \-usb0
| \-uhub0
\-xl0
\-exphy0
2009年3月12日星期四
OpenBSD 实用技巧之三 / NFS 服务
OpenBSD 实用技巧之三 / NFS 服务
by Werix
OpenBSD只适合用于防火墙?为了适应广大群众的迫切要求,我们开始讲一些OpenBSD常
用的服务,让大家对OpenBSD有更好的理解,OpenBSD提供99%linux/Unix可以提供的
服务。。。(还没解决biprocessor的问题)
我这里用OpenBSD做服务器,debian 做客户端(防止种族歧视,呵呵)
OpenBSD安装过程:
1.vi /etc/rc.conf
portmap=YES
2. vi /etc/exports
/exportdir -alldirs -ro -network 192.168.1 -mask 255.255.255.0
3. /sbin/nfsd -tun 4
4. echo -n > /var/db/mountdtab
5. /sbin/mountd
6. rpcinfo -p localhost
说明:
2。 看看man exports ,这里有很多options
6. 必须有nfs ,我的输出是
bash# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 933 mountd
100005 3 udp 933 mountd
100005 1 tcp 798 mountd
100005 3 tcp 798 mountd
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
Debian Client:
1. mount -t nfs 192.168.1.1:/exportdir /mnt
或
2。vi /etc/fstab
192.168.1.1:/exportdir /mnt nfs rw,nodev,nosuid 0 0
就这么简单。
2009年3月11日星期三
Redesign of the pfsync Protocol, Part 3
from the mad-scientists-shouldn't-have-this-much-fun dept.
In this installment (see also Part 1 and Part 2), David Gwynne (dlg@) describes the approach and execution of his redesign of the pfsync protocol. He explains the limitations of pfsync version 4 and how he overcame these obstacles.
It was at about this point that it was decided that the code required significant surgery to avoid transmitting too many pfsync packets. Since the code was going to have to be heavily modified to fix it's behaviour, slipping an update to the wire protocol was also allowed, especially if it would help mitigate the number of packets pfsync intended to transmit.
Active-Active Firewall Cluster Support in OpenBSD (continued)
Approach and Execution
As described in detail above, the big problem with the current implementation is that it mitigates sending of pfsync packets too much, ie, in a firewall cluster with traffic split over two peers, updates aren't exchanged rapidly enough for the states on each firewall to move forward fast enough to keep up with the actual traffic. This is especially (or perhaps only) problematic with TCP traffic, which requires extremely current information from both sides of the connection to move the TCP sequence numbers forward.
Two attempts were made to try to solve the active-active problem in pfsync, firstly simple modifications to the existing implementation, and then as a result of that an almost full blown rewrite of the code.
Changes To The pfsync v4 Implementation
A large number of different approaches at dealing with states with traffic split over two peers in an active-active firewall cluster were evaluated and tested as part of the initial problem solving. This stage could be considered the exploratory surgery and was required so I could gain familiarity with the problem and the current implementation. However, all of the solutions except the final solution presented here were rejected as being unsuitable.
These solutions ranged from allowing packets for split TCP states to accept packets if the sequence numbers are on the edge of the window as stored in the state, to decreasing the maximum timeout on pfsync packets from 1 second down to small fractions of a second. All of these solutions either compromised the security provided by pf, or hurt the performance too much in existing use cases to be feasible.
Despite the long road to the changes made to the v4 code, the final changes were actually quite minimal. After a lot of trial and error it was decided that it was necessary for each firewall involved in a split path for TCP sessions to be notified of updates to that state as soon as possible. This in turn required the ability to detect when two peers were involved in a split path.
Detecting a split path turned out to be simple. Whenever an update to a state is received via the pfsync protocol, we record the time the update arrived at in the pf state structure. Then, when an update to the same state arrives via pf, we simply find the difference between the current time and the last time the state was updated via pf and assume the state is split if the difference is less than some arbitrary value, 4 in our case.
If we never get an update about a state via pfsync it means no other peer was involved in handling that state, therefore the timestamp in the state will always be 0 (the default value). The comparison between it and the current time will always be greater than 4. A peer that is handling packets for that session will send pfsync packets out about it though, so that comparison will evaluate to true and we know the state is split at that point.
The other feature of this mechanism is if the paths in both directions for this state merge onto a single firewall, that firewall will no longer receive updates for the state via pfsync. The timestamp on the state will no longer be updated, and the comparison between it and the system time will eventually fail as time moves forward. This means the same mechanism for detecting split states also allows us to detect when a state is no longer split.
With that mechanism in place it was trivial to modify the code to immediately send a pfsync state update about our own state changes to the peer.
These changes were successful, ie, if you had a pair of firewalls called A and B between two networks x and y, you could configure the route from hosts on network x to network y to go via firewall A, and the routes from hosts on network y to network x on firewall B, you could then successfully run pf as a fully stateful firewall with traffic for the same session split between those two firewalls.
The problem with these code changes is that they caused pfsync to become extremely chatty. Every single packet involved in a split session going through a firewall would generate a corresponding update from pfsync. Worse, for every single update for that split session we received from the firewall peers, we hit the merge state case in the pfsync update parsing code which cause us to send an update out again. Because of this the majority of the test we did with async paths for traffic through firewalls showed the pfsync traffic between two firewalls was several times the traffic of the actual traffic we were forwarding over the firewalls. Obviously causing more load than what we're attempting to filter is unacceptable.
One of the discoveries made during the tinkering with the v4 code was that there was a race between the forwarding of a packet that caused the creation of a state, the pfsync packet it generates, and when the reply from the host the packet was for is seen by a peer.
If we forward that packet on to the host, and that host sends a reply through another firewall, it is likely that the 1 second timeout on the pfsync packet describing that state has not hit that second firewall yet. Because pf is stateful, it will probably reject or drop that reply rather than forward it on like it should.
In response to this problem a new pfsync message was created called PFSYNC_ACT_IACK. When a firewall creates a state, instead of forwarding the network packet that created the state on immediately, we delay transmission for a short period. While that first packet is delayed we immediately send a pfsync state insertion message. Peers that receive that state insertion message then send an insert acknowledgment message to the first firewall, which in turn uses that to trigger the transmission of the packet that was delayed. If no firewall is there to acknowledge the insert, a timeout on the packet fires and causes it to be transmitted anyway.
It was at about this point that it was decided that the code required significant surgery to avoid transmitting too many pfsync packets. Since the code was going to have to be heavily modified to fix it's behaviour, slipping an update to the wire protocol was also allowed, especially if it would help mitigate the number of packets pfsync intended to transmit.
To summarise, it was determined that not only does the pfsync code mitigate sending of pfsync packets too much, it also doesn't mitigate them enough.
pfsync v5
The only really major flaw with version 4 of the pfsync protocol was its inability to contain multiple types of messages within the same frame. It could only contain packets with state inserts, or updates, or deletions, or so on, but not a mix of those message types. This becomes a problem if you're trying to mitigate the number of packets sent, but needed to send a lot of messages of different types.
Therefore the only real change between pfsync v4 and pfsync v5 was the removal of the message type and counter fields in the pfsync header, and the introduction of a sub- header. Several different messages can now be placed in a pfsync packet, all prefixed by different sub-headers.
A new message type was added to the protocol as part of the new version too. To cope with the race between forwarding a packet that creates a state, and it's reply hitting a peer before the state was received by that peer, it was envisaged that the first peer forwarding the first packet would defer sending of that packet until it received an acknowledgment of the insert from a peer. That acknowledgment is represented by a new PFSYNC_ACT_IACK message type that simply contains the creator and state ids of the state that was just inserted.
To summarise, pfsync v5 is largely the same as pfsync v4, except for a new message type (IACK) and the ability to send multiple types of messages inside a single pfsync packet due to the addition of a sub-header in the frame format.
The following changes to the OpenBSD kernel were made to address the inadequacies discovered by the previous implementation.
Firstly, the pfsync packet parsing code in the kernel has been split up to avoid the use of switch statements to pick which code is used to parse which message types. Switch statements in C have an O(n) cost where n is the number of options you're switching between. Instead, the parser is picked by using the pfsync action in the sub-header id as an index into a table of function pointers. This moves the cost of picking a parser for a message to O(1) complexity.
Next, pfsync packet generation was moved from being done "on the fly" when pf notified us of updates, to being done only when a packet was ready to be transmitted. This in turn required that the state of a pf state with respect to pfsync be stored somewhere other than the packet currently being generated.
Previously the code determined if a state was already scheduled to be sent out on the wire by iterating over the packet in memory. This is another O(n) cost where n is the number of states scheduled in the current packet.
Because we also wanted to be able to send multiple types of messages in the same packet, it is now also necessary to mark what type of message the state had associated with it. Several queues for holding the states were created inside pfsync, one for each type of message that the state could appear in on the wire. The pf state structure was extended to record which of these queues it was currently held on. Now it is an O(1) cost to determine where a state is with respect to pfsync.
When the packet is eventually scheduled for transmission, the pfsync code walks all these queues and serialised the states into messages within the packet. As it does this iteration it simply marks the pf states as not being queued within pfsync anymore.
Another side effect of moving to queues of states was that it is now easy to move states between queues in response to pf notifications or requests from other peers. For example, pf itself could schedule a compressed update for a state which would leave it on the compressed update queue and marked as such. A peer can then request an uncompressed update for it. Where the previous implementation would have sent the previous message out immediately so it could begin a new packet with the uncompressed message type, the new code now can trivially figure out that it should simply remove the state from the compressed update queue and place it on the uncompressed update queue and mark it as such.
Next, a mechanism to mitigate against having to send "immediate" packets out immediately was developed. Since there are no general high resolution timers available in the OpenBSD kernel, it was decided that a new softnet interrupt handler be created specifically to flush the pfsync message queues into a packet for transmission.
Because all the events in pfsync are generated by code that is running at softnet, ie, the pf tests for network packets on both the systems input and output queues and the processing of pfsync packets, it is possible to queue updates for all the states touched during that processing and schedule a softnet interrupt for the pfsync packet generator. Because that code is running at softnet it masks the pfsync packet generator scheduled at softnet and prevents from running until after all the current packet processing is finished.
Additionally, on systems with busy network interfaces it is typical that you process several dozen packets per call to the softnet interrupt handlers. Any updates requiring immediate transmission of a pfsync packet can bundle all those updates into a single update before the packet transmission code is run.
Finally, the features from the pfsync v4 reworking were brought over to the new pfsync v5 code. The time at which a pf state was last updated by a pfsync packet is stored in the pf state. If an update from pf for a state occurred within a second of the update from the pfsync system, it is determined that the traffic for that state is now split over two peers in the cluster and it is marked for "immediate" transmission by the softnet handler.
The IACK handling made against the pfsync v4 implementation was also brought over, however, instead of the pointer to the packet and its timeout being stored in the state, a separate queue for deferred packets was added to the pfsync code. This was done because the space required for the packet pointer and the timeout was considered excessively wasteful for every state to store when it was only to be used for an extremely short period of time. This was weighed against the extra cost in terms of CPU time of handling that separate queue, which was considered worth it for the memory savings.
Because of the changes to the wire protocol, tools outside the kernel that parsed pfsync packets must be updated to understand the new packet format. The only tool in the OpenBSD source tree that parses those packets is tcpdump. This program was updated to handle the new packet format as part of this work.
Overall the changes to the OpenBSD system resulted in a unified diff to the source tree touching 10 separate files and totaling over 4000 lines of changes.
OpenBSD使用PF实现策略路由(图
帖子 2007-10-08 21:10
此方案适用于可以使用PF做为防火墙的操作系统,包括FREEBSD/OPENBSD/NETBSD。所谓的策略路由就是在服务器同时连接了两个ISP线路,实现从那个网卡进来的数据包请求,返回给CLIENT时还是从那个网卡出去。
OpenBSD网络设置:
Fxp0: 192.168.0.100
Ne3: 192.168.1.100
Gateway: 192.168.0.1
PF规则:
# vi /etc/pf.conf
----------------------------------------------------------------------------
if_isp1="fxp0"
if_isp2="fxp1"
gw_isp1="电信网关"
gw_isp2="网通网关"
block all
pass quick on lo0 all
pass in quick on $if_isp1 reply-to ( $if_isp1 $gw_isp1 ) proto {tcp,udp,icmp} to any keep state
pass in quick on $if_isp2 reply-to ( $if_isp2 $gw_isp2 ) proto {tcp,udp,icmp} to any keep state
pass out keep state
---------------------------------------------------------------------------
pf启动脚本:
# vi /etc/rc.d/pf.sh
#!/bin/sh
# pf startup scripts
#
case "$1" in
start)
if [ -f /etc/pf.conf ]; then
/sbin/pfctl -e -f /etc/pf.conf
fi
;;
stop)
/sbin/pfctl -F all
/sbin/pfctl -d
;;
*)
echo "$0 start | stop"
;;
esac
exit 0
以上PF规则没有对TCP/UDP等协议的端口进行限制。在使用时可以根据自己的实际情况添加相应的规则。
------------------------------------------------------------------------------
1.试验拓扑,图中的『3接口路由器』可以用WIN2K或LINUX系统启动IP转发替代。
[img=375,225]http://www.i170.com/Attach/28CD8558-CDA4-4AF9-BAB1-F503F9AC203F[/img]
2.OpenBSD网络设置
[img=494,334]http://www.i170.com/Attach/46B6D9B2-51DC-41B8-A007-80542E16AAAE[/img]
3.试验效果图1
图片
4.试验效果图2
图片
openbsd+adsl+pf+qdns 配置过程
配置ADSL:
# vi /etc/ppp/ppp.conf
========================ppp.conf=======================
default:
set log Phase Chat IPCP CCP tun command
set redial 15 0
set reconnect 15 10000
pppoe:
set device "!/usr/sbin/pppoe -i rl0"
disable acfcomp protocomp
deny acfcomp
set mtu max 1492
set crtscts off
set speed sync
enable lqr
#set lqrperiod 5
#set cd 5
set dial
set login
#set timeout 0
set authname "sjz681a0156@adsl2"
set authkey 123456
add! default HISADDR
#enable dns
enable mssfixup
========================ppp.conf=======================
建立防火墙配置:
# vi /etc/pf.conf
=========================pf.conf=======================
# 设置一些变量
Ext = "tun0"
Int = "dc0"
IntNet = "192.168.0.0/24"
RouterIP = "192.168.0.1"
Loop = "lo0"
# 下面地址不被路由
NoRoute = "{ 127.0.0.1/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 255.255.255.255/32 }"
# 需要开放的端口
InServicesTCP = "{ ssh, ftp, auth,http }"
# 统计数据外网接口数据(pfctl -s info)
set loginterface $Ext
# 快速断开非活动状态的连接减少内存消耗
set optimization aggressive
# 重组IP碎片
scrub in on $Ext all fragment reassemble
# 启用NAT
nat on $Ext from $IntNet to any -> $Ext
### 下面是一些过滤规则 ###
# 首先挡住所有进出的数据包
block out on $Ext all
block in on $Ext all
block return-rst out log on $Ext proto tcp all
block return-rst in log on $Ext proto tcp all
block return-icmp out log on $Ext proto udp all
block return-icmp in log on $Ext proto udp all
# 禁用IPv6.0
block in quick inet6 all
block out quick inet6 all
# 允许本地环回通过
pass in quick on $Loop all
pass out quick on $Loop all
# 给nmap等扫描器来点难度
block in log quick on $Ext inet proto tcp from any to any flags FUP/FUP
block in log quick on $Ext inet proto tcp from any to any flags SF/SFRA
block in log quick on $Ext inet proto tcp from any to any flags /SFRA
block in log quick on $Ext os NMAP
# 防止IP欺骗
block in log quick on $Ext inet from $NoRoute to any
block in log quick on $Ext inet from any to $NoRoute
# 允许 FTP 主动模式
pass in quick on $Ext inet proto tcp from any to any port > 49151 user proxy flags S/SAFR keep state
# 允许被ping
#pass in quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state
# 对外界开放的端口
pass in quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SAFR keep state
# 允许通过由内向外的包
pass out quick on $Ext all keep state
=========================pf.conf=======================
启用IP转发:
# vi /etc/sysctl.conf
net.inet.ip.forwarding=1
设置开机启动ADSL拨号:
# vi /etc/rc.local
/usr/sbin/ppp -ddial pppoe
启用NAME服务器:
# vi /etc/resolv.conf
nameserver 202.99.160.68
nameserver 202.99.168.8
根据拨号需要加载和关闭防火墙:
# vi /etc/ppp/ppp.linkup
MYADDR:
! sh -c "/sbin/ifconfig pflog0 up"
! sh -c "/sbin/pflogd"
! sh -c "/sbin/pfctl -e -F all -f /etc/pf.conf"
# vi /etc/ppp/ppp.linkdown
MYADDR:
! sh -c "/sbin/pfctl -d -F all"
! sh -c "kill `cat /var/run/pflogd.pid`"
! sh -c "/sbin/ifconfig pflog0 down"
! sh -c "/sbin/route delete default"
配置动态域名更新:
# tar zxvf ez-ipupdate-3.0.10.tgz
# cd ez-ipupdate-3.0.10
# ./configure
# make
# make install
设置拨号后自动运行IP更新程序:
# vi /etc/ppp/ppp.linkup
MYADDR:
! sh -c "/sbin/ifconfig pflog0 up"
! sh -c "/sbin/pflogd"
! sh -c "/sbin/pfctl -e -F all -f /etc/pf.conf"
!bg /usr/local/bin/ez-ipupdate -i tun0 -h nero.3322.org -S qdns -u yourname:yourpw
完成上面的配置后reboot机器就可以了。
openbsd+pf配置
初学openbsd+pf,见笑了,不对的请指正
qq:35907960
mail:yanypunix@yahoo.com.cn
openbsd服务器3块网卡
rl0 61.131.58.x 接公网
rl1 192.168.1.0/24 接内网段1
rl2 131.107.3.0/24 接内网段2
有些ip要24小时上网,有些ip限定8小时上网
写了两个脚本
shellpf1+pf1.conf(24小时上网)
shellpf2+pf2.conf(8小时上网)
shellpf1,shellpf2,pf1.conf,pf2.conf四个文件放在/etc/pf目录下
在crontab里定时执行,
文件/etc/pf/pf1.conf的配置如下:
ext_if="rl0" #接公网
192_if="rl1" #接内网段1
131_if="rl2" #接内网段2
192net="{
192.168.1.222/32,
192.168.1.5/32,
192.168.1.132/32,
192.168.1.77/32,
192.168.1.2/32,
192.168.1.8/32,
192.168.1.4/32,
192.168.1.6/32,
192.168.1.28/32,
192.168.1.177/32,
192.168.1.195/32,
192.168.1.45/32,
192.168.1.47/32,
192.168.1.16/32,
192.168.1.249/32,
}"
131net="{
131.107.3.215/32,
131.107.3.216/32,
131.107.3.217/32,
131.107.3.218/32,
131.107.3.219/32,
131.107.3.220/32,
131.107.3.211/32,
131.107.3.43/32,
131.107.3.47/32,
131.107.3.48/32,
131.107.3.174/32,
131.107.3.175/32,
131.107.3.181/32,
131.107.3.194/32,
131.107.3.123/32,
131.107.3.252/32,
131.107.3.253/32,
131.107.3.216/32,
131.107.3.198/32,
131.107.3.17/32
}"
tcp_services="{22,113}"
icmp_types="echoreq"
priv_nets="{127.0.0.0/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8}"
set optimization aggressive
scrub in all
nat on rl0 from 192.168.1.0/24 to any -> 61.131.58.x/32
nat on rl0 from 131.107.3.0/24 to any -> 61.131.58.x/32
block all
pass quick on lo0 all
block drop in quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets
#pass in inet proto icmp all icmp-type $icmp_types keep states
block in quick on $192_if from 131.107.3.0/24 to any
block out quick on $192_if from any to 131.107.3.0/24
block in quick on $131_if from 192.168.1.0/24 to any
block out quick on $131_if from any to 192.168.1.0/24
pass in on $192_if from $192net to any keep state
pass out on $192_if from any to $192net keep state
pass in on $131_if from $131net to any keep state
pass out on $131_if from any to $131net keep state
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto udp all keep state
OpenBSD 之PF 基本防火牆啟動及 /etc/pf.conf 設定檔範例研究(转) From: 百度空间 Author: netnolimit
OpenBSD 之PF 基本防火牆啟動及 /etc/pf.conf 設定檔範例研究,我在想 OpenBSD 是不是天生開發出來,就是要擔任防火牆的角色,裝完 OpenBSD 後即可啟用 NAT 及 firewall 的能力,並不需要再去編譯 Kernel 即可使用。
Setp 1.
開機自動啟動:
#vi /etc/rc.conf
pf=YES
#vi /etc/sysctl.conf
#net.inet.ip.forwarding=1 # 將最前面的 # 號拿掉
手動立即啟動:
#pfctl -e
#sysctl -w net.inet.ip.forwarding=1
開啟 ftp-proxy 讓內部可以對外使用 FTP 的服務:
#vi /etc/inetd.conf
#127.0.0.1:8021 stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy # 將"# "號拿掉開通 127.0.0.1 的 ftp-proxy
127.0.0.1:8021 stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy#kill -HUP `cat /var/run/inetd.pid`
Setp 2.
基本 PF 的 /etc/pf.conf 設定範例:
# macros
int_if = "de0" # 定義對內的網介面
ext_if = "fxp0" # 定義對外的網路介面
tcp_services = "{ 22, 113 }" # 定義 port 22, 113 服務
icmp_types = "echoreq" # 定義 tcmp 回應狀態
priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" # 定義符合 RFC 1918 私有IP 部份
comp3 = "10.10.10.3" # 定義內部的一台電腦代號 comp3 對應 10.10.10.3 這個 IP
# options
set block-policy return
set loginterface $ext_if
# scrub
scrub in all # 修整進入 NAT 的封包
# nat/rdr
nat on $ext_if from $int_if:network to any -> ($ext_if) # NAT 設定讓內部的 IP 可轉換出去
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021 # 讓內部可使用 ftp client 軟體連出去
rdr on $ext_if proto tcp from any to any port 80 -> $comp3 # 內部電腦 comp3 的 80 port 服務對應到外面
# filter rules
block all # 所有封包都擋掉
pass quick on lo0 all # 允許 localhost 封包通行
block drop in quick on $ext_if from $priv_nets to any # 拒絕所有 priv_nets 定義的私有 IP 進入 ext_if 介面
block drop out quick on $ext_if from any to $priv_nets # 拒絕所有 priv_nets 定義的私有 IP 出去 ext_if 介面pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state # 允許 tcp_services 定義之 port 進入 ext_if 介面
pass in on $ext_if proto tcp from any to $comp3 port 80 flags S/SA synproxy state # 讓內部 comp3 的 80 port 服務由 ext_if 介面出去
pass in inet proto icmp all icmp-type $icmp_types keep state # 允許 icmp 封包進入通行
pass in on $int_if from $int_if:network to any keep state # 允許封包由 de0 進到 10.10.10.0/24 暢通
pass out on $int_if from any to $int_if:network keep state # 允許封包由 de0 出去 10.10.10.0/24 暢通pass out on $ext_if proto tcp all modulate state flags S/SA # 允許 tcp 封包由 fxp0 出去
pass out on $ext_if proto { udp, icmp } all keep state # 允許 udp , icmp 封包由 fxp0 出去
Setp 3.
pfctl 的控制指令:
#pfctl -f /etc/pf.conf # 重新載入pf.conf 設定檔
#pfctl -nf /etc/pf.conf # 確認語法有無符合,但不載入
#pfctl -Nf /etc/pf.conf # 只載入 NAT 的設定檔
#pfctl -Rf /etc/pf.conf # 只載入防火牆的過濾設定檔
#pfctl -sn # 顯示現階段 NAT 的規則
#pfctl -sr # 顯示現階段過濾的規則
#pfctl -ss # 顯示現階段封包運作狀態
#pfctl -si # 顯示現階段過濾封包的統計資料
#pfctl -sa # 顯示現階段所有統計的資料net.inet.ip.forwarding=1
理解VMware虚拟机下网络连接的三种模式
bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.
在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.
使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了.
nat方式:这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8.
你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务.更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的.很显然,如果你只有一个外网地址,此种方式很合适.
hostonly:
这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义.
默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置.
是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:
a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.
b.使用自己的nat,方便加入防火墙.windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务.
c. 使用自己的防火墙.因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间.
从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等
1、Bridge模式(一切都跟host一样,只有ip不能与host相同)
ip 192.168.39.222
netmask:255.255.252.0
gateway:192.168.39.254
Primary nameserve:192.168.39.252
2、NAT模式
首先在host中查看VMnet8的IP(e.g. 192.168.255.1).
启动VMware,点Edit下Virtual Network Setting… ,弹出Virtual network Editor对话框;
产看NAT选项卡,记录NAT的Gateway IP address:192.168.255.2
在config中,填写:
ip:192.168.255.5(与192.168.255.1在同一个网段的不同地址)
netmask:255.255.255.0(与192.168.255.1的隐码相同)
Gateway IP:填写VMware中的NAT网关192.168.255.2
Primary nameserver:填写与主机中一样的网关192.168.39.252,这样就可以上网冲浪了.
如果填写192.168.255.1,则不能连上外网.这里也可以不停,总之不能写错误的地址
3、hostonly模式
(1)查看你的连接外网的网卡的属性,选择“高级”标签,设置成允许共享,并设定允许的网络接口为VMNET1
(2)再插看一下你的VMnet1 的属性,看一下TCP/IP协议的设置,你发现已经被自动设置为
192.168.0.1/255.255.255.0,
(3)windows下的设置完成,转入到跑linux的虚拟机.将你的eth0的ip地址设置为静态的(如果安装时没有选静态的话)
按红帽子图标->系统设置->网络(或其它你了解的方法)
ip: 192.168.0.2(或其它在此网段上的地址)
netmask: 255.255.255.0
default gateway: 192.168.0.1 (VMnet1的地址)
dns:输入你自己的DNS (host中用的DNS)
保存设置.如果你还没有设置好主机名称:
cd /etc/sysconfig
vi network
编辑HOSTNAME
cd /etc
vi hosts
加入:
192.168.0.2 yourhostname
重新启动服务
su
/sbin/service network restart
(4)测试一下
网关: ping 192.168.0.1
dns: ping dnsserver
=============================
(1)Bridged方式
用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台独立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不
成问题.
(2)NAT方式
这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机器.
NAT方式的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMware services会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.
(3)host-only方式
顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.
(4)not use方式
既是不使用网络,虚拟系统为一个单机.
一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.
vmware三种网络连接实例
vmware有三种网络连接方式:bridge ,NAT, host-only,我在三种连接上花了不少时间研究,并将研究结果写成此bokee.
三个名词,vmware的使用,电脑基础等基础知识请看书,在此不再解释。
实例1
bridge连接 虚拟机可和宿主机通信,可上外网如[url]www.baidu.com[/url],会和宿主机局域网同IP地址的机器冲突。
宿主机:
ip: 192.168.10.153
submask:255.255.255.0
gateway:192.168.10.1
DNS: 192.168.10.7
VMNET1网卡host-only
ip: 192.168.0.111
submask:255.255.255.0
gateway:192.168.0.111 or null
DNS: null
VMNET8网卡NAT
ip: 192.168.100.1
submask:255.255.255.0
gateway:192.168.100.2 or null
DNS: null
虚拟机:
ip: 192.168.10.154
submask:255.255.255.0
gateway:192.168.10.1
DNS: 192.168.10.7
实例2
NAT连接 虚拟机可和宿主机通信,可上外网如[url]www.baidu.com[/url],不会和宿主机局域网同IP地址的机器冲突。(VMNET8)
宿主机:
ip: 192.168.10.153
submask:255.255.255.0
gateway:192.168.10.1
DNS: 192.168.10.7
VMNET1网卡host-only
ip: 192.168.0.111
submask:255.255.255.0
gateway:192.168.0.111 or null
DNS: null
VMNET8网卡NAT
ip: 192.168.100.1
submask:255.255.255.0
gateway:192.168.100.2 or null
DNS: null
虚拟机:
ip: 192.168.100.3
submask:255.255.255.0
gateway:192.168.100.2 important!!!(VMware中NAT的网关)
DNS: 192.168.10.7(host的DNS)
实例3
host-only连接 虚拟机只能和宿主机通信,外网屏蔽。(VMNET1)
宿主机:
ip: 192.168.10.153
submask:255.255.255.0
gateway:192.168.10.1
DNS: 192.168.10.7
VMNET1网卡host-only
ip: 192.168.0.111
submask:255.255.255.0
gateway:192.168.0.111 or null
DNS: null
VMNET8网卡NAT
ip: 192.168.100.1
submask:255.255.255.0
gateway:192.168.100.2 or null
DNS: null
虚拟机:
ip: 192.168.0.113
submask:255.255.255.0
gateway:null or 192.168.0.111(VMNET1的地址)
DNS: null or 192.168.10.7(host的DNS)
2009年3月10日星期二
Linux上的文本“浏览器”
从elinks开始,回想了一下Linux下基于ncurses库的“浏览器”,有如下几种:
lynx :最经典的,不用说了
w3m :用的和知道的人好像比较少。
elinks :昨天刚看到的,据说是替代lynx的程序。
links :指向elinks的软链接。
htmlview :一个shell角本,不能算是文件浏览器,他是一个探测程序,使用探测到的程序打开URL,在文本终端上,总是使用文件浏览器打开URL。
你还知道哪些?
在众多的知识中迷失方向
下午休息后,感觉眼睛很涩,另外对debian ,对pf 等,不知从何看起,在前进的方向中有些迷茫~~~~~~~~~~~~~~~~~~~~~~~~
一个人独自到湍河边走走,天气有些凉,推着自行车沿着堤往西走,看到橡胶坝正在紧张的施工,还是理不出个头绪来;道路受阻,又转回头来,猛然想起几年前为了能考上研究生,在下面的河滩里读C程序设计,数据结构~~~~~~~~~~~~~~,自己是多么的欠考虑,仅凭一股热情就想成就一个事业,你没有一点计算机知识沉淀,想考计算机硕士,有点自不量力~~~~~~~~~~~~~~~~~~~,当然想考生物专业的研究生还是可行的,可我并没有选生物科学,屡碰头后,对考研彻底丧失信心,
现在又想在计算机应用上闯出一条路来,在openbsd 方面希望有所发展,可是你的技术能转化为商品吗,重要的是能挣到钱~~~~~~~~~~``人家说的也有一定道理!!!但我现在如果不继续学习电脑,我现在能做些什么呢???????从目前看,别的东西我还真做不下来~~~~~~~~,前面的路,我想也只有走到哪算哪儿,我很庆兴,我现在有一份工作,一份能养活自已的工资,尽管屡次受到别人的批评,就你那点工资有个屁用~~~~~~~~~~~~,你看看谁谁谁~~~~~~~~~~~~~~
无语,真的也只有这点爱好,或许杀出一条路来,或许主定一辈子默默无闻~~~~~~~~~~~
2009年3月9日星期一
OpenBSD4.4 配置 X-Windows
OpenBSD4.4 配置 X-Windows
* 首页
* RSS
* 链接
* 归档
* 星标日志
* 中山php
* 评论
« Previous Entries Next Entries »
OpenBSD4.4 配置 X-Windows
大 | 中 | 小
一、配置X
执行以下命令
# X -configure
生成/root/xorg.conf.new。进行测试:
# X -config /root/xorg.conf.new
修改配置文件(/root/xorg.conf.new),设置分辨率(红色内容):
引用
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
... ...
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection
复制配置文件到系统默认配置中:
# cp /root/xorg.conf.new /etc/X11/xorg.conf
执行startx进入X了,缺省的窗口管理器是fvwm。
二、配置fvwm
在fvwm中增加alt+tab功能,以便与其他窗口管理器习惯一致。
编辑/usr/X11R6/lib/X11/fvwm/.fvwmrc,添加:
key Tab A M WindowList Root c c CurrentDesk, NonGeometry
三、设置Xterm
缺省Xterm不读取用户主目录下.profile文件,这通过编辑~/.Xdefaults来改变:
echo "XTerm*LoginShell: true" >> ~/.Xdefaults
或修改.profile的拥有者,其中username是你的用户名.
chown username ~username/.profile
ksh(1) does not appear to read my .profile!
四、设置PKG_PATH
编辑.profile,设置PKG_PATH环境变量:
export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.4/packages/`machine -a`/
五、安装Firefox浏览器
# pkg_add -v mozilla-firefox
编辑/usr/X11R6/lib/X11/fvwm/.fvwmrc,在根菜单中增加firefox菜单项,放在xterm项后:
+ "Firefox" Exec exec firefox
参考文章 :
http://www.duangw.net/computer/work-env/real/openbsd-v4_3.html
http://www.openbsd.org/faq/faq8.html
相关日志
[转载]用msmtp替代esmtp作发信代理
小型的邮件发送
[转载]OpenBSD.Nginx.MySQL.PHP环境搭建手册[第一版]
Mysql配置解释
2009年3月6日星期五
273个互联网顶级域名详情一览
互联网编号分配机构(IANA)近日公布了一份根域数据库,详细列出了当前全部273个顶级域名的情况,包括4个通用顶级域名、3个受限通用域名、251个国家域名、13个组织类域名,还有两个比较特殊:一是.au,澳洲域名管理局,和澳大利亚国家域名相同;二是.ARPA,用于反向域名解析的保留域名。
为了方便大家随时查询,我们特地对这份数据库进行了整理编译。以下就是这273个顶级域名的名称、类别和使用情况:
.AC
国家域名
阿松森岛
.AD
国家域名
安道尔
.AE
国家域名
阿联酋
.AERO
组织类域名
航空行业专用
.AF
国家域名
阿富汗
.AG
国家域名
安提瓜岛和巴布达岛
.AI
国家域名
安圭拉岛
.AL
国家域名
阿尔巴尼亚
.AM
国家域名
亚美尼亚
.AN
国家域名
荷属安的列斯群岛
.AO
国家域名
安哥拉
.AQ
国家域名
南极洲
.AR
国家域名
阿根廷
.ARPA
保留域名
用于反向域名解析
.AS
国家域名
美属萨摩亚群岛
.ASIA
组织类域名
泛亚和亚太地区专用
.AT
国家域名
奥地利
.AU
国家域名
澳大利亚
.au
域名管理
澳洲域名管理局(auDA)
.AW
国家域名
阿鲁巴岛
.AX
国家域名
奥兰群岛
.AZ
国家域名
阿塞拜疆
.BA
国家域名
波斯尼亚与黑塞哥维那
.BB
国家域名
巴巴多斯岛
.BD
国家域名
孟加拉国
.BE
国家域名
比利时
.BF
国家域名
布基纳法索
.BG
国家域名
保加利亚
.BH
国家域名
巴林
.BI
国家域名
布隆迪
.BIZ
受限通用域名
仅供商业领域使用
.BJ
国家域名
贝宁湾
.BL
国家域名
圣巴泰勒米岛
.BM
国家域名
百慕大群岛
.BN
国家域名
文莱达鲁萨兰国
.BO
国家域名
玻利维亚
.BR
国家域名
巴西
.BS
国家域名
巴哈马群岛
.BT
国家域名
不丹
.BV
国家域名
布维岛
.BW
国家域名
博茨瓦纳
.BY
国家域名
白俄罗斯
.BZ
国家域名
伯利兹
.CA
国家域名
加拿大
.CAT
组织类域名
加泰罗尼亚语地区专用
.CC
国家域名
科科斯(基林)群岛
.CD
国家域名
刚果民主共和国
.CF
国家域名
中非共和国
.CG
国家域名
刚果
.CH
国家域名
瑞士
.CI
国家域名
科特迪瓦
.CK
国家域名
库克群岛
.CL
国家域名
智利
.CM
国家域名
喀麦隆
.CN
国家域名
中国
.CO
国家域名
哥伦比亚
.COM
通用域名
通用顶级域名(gTLD)
.COOP
组织类域名
商业合作社专用
.CR
国家域名
哥斯达黎加
.CU
国家域名
古巴
.CV
国家域名
佛得角
.CX
国家域名
圣诞岛
.CY
国家域名
塞浦路斯
.CZ
国家域名
捷克
.DJ
国家域名
吉布提
.DK
国家域名
丹麦
.DM
国家域名
多米尼加岛
.DO
国家域名
多米尼加共和国
.DZ
国家域名
阿尔及利亚
.EC
国家域名
厄瓜多尔
.EDU
组织类域名
教育机构专用
.EE
国家域名
爱沙尼亚
.EG
国家域名
埃及
.EH
国家域名
西撒哈拉
.ER
国家域名
厄立特里亚
.ES
国家域名
西班牙
.ET
国家域名
埃塞俄比亚
.EU
国家域名
欧盟
.FI
国家域名
芬兰
.FJ
国家域名
斐济
.FK
国家域名
福克兰群岛(马尔维纳斯群岛)
.FM
国家域名
密克罗尼西亚联邦
.FO
国家域名
法罗群岛
.FR
国家域名
法国
.GA
国家域名
加蓬
.GB
国家域名
英国(大不列颠联合王国)
.GD
国家域名
格鲁吉亚
.GE
国家域名
格林纳达
.GF
国家域名
法属圭亚那
.GG
国家域名
根西岛
.GH
国家域名
加纳
继续>>下一页
2009年3月4日星期三
OpenBSD.Nginx.MySQL.PHP环境搭建手册
所谓的O.N.M.P.是指OpenBSD、Nginx、MySQL、PHP(fastcgi),是利用OpenBSD及其软件包搭建的时下流行的MySQL+PHP应用环境,下面对主要的软件做下介绍……
所谓的O.N.M.P.是指OpenBSD、Nginx、MySQL、PHP(fastcgi),是利用OpenBSD及其软件包搭建的时下流行的MySQL+PHP应用环境,下面对主要的软件做下介绍:
[url=http://www.openbsd.org/]OpenBSD:可能是这个星球最安全的操作系统了,在十几年的时间里面只被发现了两个远程安全漏洞。
[url=http://wiki.codemongers.com/Main]Nginx:来自俄罗斯的HTTP软件,据说性能达到老牌的 Apache十倍!并且极其节约资源,是单台服务器跑PHP应用的首选。官方文档声称能达到5W个并发连接,生产环境下单台双核2.33G服务器可以跑到 3W个并发连接(仅运行Nginx+PHP-fastcgi)。
[url=http://www.mysql.com/]MySQL:老牌的开源数据库软件。
[url=http://www.php.net/]PHP:这个几乎无人不知,和MySQL一起构成了开源环境下最强的建站组合。
下面以[url=http://www.openbsd.org/44.html]OpenBSD 4.4为例进行讲解。按照惯例,root环境:
一、软件环境的搭建
OpenBSD的安装就不罗嗦了,重点是分区的部分,推荐/var/mysql、/var/log、/var/mail、/var/nginx这几个目录单独分区,并给予足够的空间。系统安装的最后询问是否默认启动Ssh服务时回答”n”。
安装必须的软件包:
[hide]
export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.4/packages/i386/
pkg_add wget mysql-server php5-fastcgi php5-gd-5.2.6-no_x11 php5-mysql phpMyAdmin lighttpd-1.4.19p3 nginx pecl-APC
装完后按提示做连接并创建PHP工作目录:
ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/modules
ln -fs /var/www/conf/php5.sample/apc.ini /var/www/conf/php5/apc.ini
ln -fs /var/www/conf/php5.sample/gd.ini /var/www/conf/php5/gd.ini
ln -fs /var/www/conf/php5.sample/mbstring.ini /var/www/conf/php5/mbstring.ini
ln -fs /var/www/conf/php5.sample/mcrypt.ini /var/www/conf/php5/mcrypt.ini
ln -fs /var/www/conf/php5.sample/mysql.ini /var/www/conf/php5/mysql.ini
mkdir /var/www/tmp
chmod 0777 /var/www/tmp
mkdir /var/nginx/html/pma/
cp -rf /var/www/phpMyAdmin/* /var/nginx/html/pma/
vi /etc/login.conf
引用:mysql:\
:openfiles-cur=2048:\
:openfiles-max=4096:\
:tc=daemon:
使修改生效:
cap_mkdb /etc/login.conf
安装数据库:
/usr/local/bin/mysql_install_db
二、修改各软件的配置文件
修改nginx的默认配置文件:
vi /etc/nginx/nginx.conf
增大nginx的并发连接数:
引用:worker_connections 51200;
加入对.php文件的支持:
引用: location / {
root /var/nginx/html;
index index.php index.html index.htm;
}
(加入index.php)
将下面这段前面的注释都去掉,改成:
引用: location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
注意上面第五行,这个部分原来是/scripts,改成[color=blue]/var/nginx/html[/color]。
其他的部分请酌情修改。
修改MySQL的配置文件(或从/usr/local/share/mysql目录中拷贝合适的文件为/etc/my.cnf)。
关于MySQL的配置和优化,网上有很多这方面的文章,可以自行Google,这里就不多讨论了。
贴下偶的(总内存512M,MySQL使用256M,在my-large.cnf的基础上修改):
在[mysqld]段增加或修改:
引用:skip-innodb
skip-networking
max_connections = 600
skip-bdb
skip-name-resolve
wait_timeout= 5
保存退出。
修改phpMyAdmin的配置文件,使之可用:
vi /var/nginx/html/pma/config.inc.php
将下面这行修改成:
引用:$cfg['blowfish_secret'] = 'a'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
(仅是加入了字母a而已)
保存退出。
三、系统启动脚本的修改
修改系统启动脚本,使得MySQL、PHP(fastcgi)、Nginx可以在系统启动的时候自动启动,免去手动启动的麻烦。
vi /etc/rc.local
跳到最后,加入下面的部分:
引用:rdate -n 210.72.145.44
if [ -x /usr/local/bin/mysqld_safe ] ; then
echo -n 'Starting MySQL...'
su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
echo "DONE"
fi
# Start php-fastcgi
if [ -x /usr/local/bin/spawn-fcgi ] ; then
echo -n 'Starting php-fastcgi...'
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www -f /usr/local/bin/php-fastcgi > /var/run/fcgi.pid
echo "DONE"
fi
# Start nginx
if [ -x /usr/local/sbin/nginx ] ; then
echo -n 'Starting nginx...'
/usr/local/sbin/nginx
echo "DONE"
fi
保存退出。
四、修改默认的SSH端口
vi /etc/ssh/sshd_config
在#PorT 22的下面新建一行,输入:
引用:PorT 49813
使得Sshd监听49813端口,以避免黑客扫描22端口。
vi /etc/rc.conf.local
增加一行,输入:
引用:sshd_flags=""
使得系统启动时启动Sshd服务。
保存退出。
reboot
等系统重启完毕,用top命令看下,O.N.M.P.环境已经搭建好了!
写在最后:
终于明白了OpenBSD官方力推packages的原因!看看吧,步骤多么简单,无须下载软件源码,无须长时间的make && make install,很短的时间就可以搭建起时兴的O.N.M.P.环境,而且安全性有很高的保障!
(xxx.xxx.xxx.xxx为你服务器的IP地址)。默认情况下MySQL的root用户是没有密码的,请第一时间设置!
本文没有加入PF的部分,因为偶写了几个语句貌似执行起来都有问题,将偶挡在了外面,留待下一版手册中解决吧!
redhat各个版本介绍
Linux 是GNU/Linux的缩写,通常指各种Linux发行版的通称。常见的Linux厂家主要有Redhat/Novell等。Redhat有两大 Linux产品系列,其一是免费的Fedora Core系列主要用于桌面版本,提供了较多新特性的支持。另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支。
Advanced Server,缩写即AS。AS在标准Linux内核的基础上,做了性能上的增强,并提高了可靠性,集成了众多常见服务器的驱动程序。可轻松识别 IBM/DELL /HP等常见机架式服务器的磁盘阵列卡等设备。AS主要版本2.x/3.x/4.x,也就是我们所说的AS3/AS4每一个版本还有若干 个升级,例如最早推出的AS4后,遇到了一些更新此时就会发布AS4 Update1,以后还会陆续有AS4 Update2/Update3等出现简称AS4u3等。这和微软的发布形式也是非常类似的,微软的 NT4 从SP1出到SP6,Windows2000从SP1出到S6。AS这些Update版本所包含的主要程序包版本都有一定差别,最好不要混用.否则容易出 现问题。Prima和Plesk的安装包,对于各种发行版都有了针对性的设计在下载页面上,通常都会标识出来,支持哪些版本和哪些update的系统。
ES,是AS的精简版本。他与 常见的AS系列的区别是,AS支持到4路以上CPU,而ES只能支持两路CPU。AS和ES在大多数程序包上并无区别,只在内核等少数软件包上有差异。 AS和ES的售价差别比较大,通常ES用在随服务器一同购买的OEM版本中例如购买DELL服务器,搭配的Linux会是ES系列。如果要搭配AS系列, 则需要多花数千元。
WS,是ES的进一步简化版,主要针对企业内部的桌面办公市场,国内较少采用。
Redhat的 Fedora Core Linux和Enterprise Linux,都需要遵循GNU协议即需要发布自己的源代码。所以,对于免费的Fedora Core Linux,从Redhat网站上可以直接下载ISO刻盘,还能下载到SRPM的ISO,即程序包源码光盘。对于收费的Enterprise Linux系列,是一款商业产品,所以网站上不能下载到ISO文件,需要购买正式授权方可。由于Enterprise Linux也需要遵循GNU协议,故必须发布源代码。所以在Redhat的网站上,可以获得AS/ES/WS系列的SRPM源码ISO文件。
这些文件可以被自由下载, 修改代码,重新编译。一个名为Community Enterprise Operating System的项目诞生了。他的缩写既是CentOS。CentOS社区将Redhat的网站上的所有源代码下载下来,进行重新编译。重新编译后,由于 AS/ES/WS是商业产品,必须将所有Redhat的Logo和标识改成自己的CentOS标识。比如将AS4原版的SRPM源码编译后,就成为了 CentOS 4.0。AS4Update1的源码编译后,就成为了CentOS4.1。AS4Update2的源码编译后,就成为了CentOS4.2。同理, CentOS的3.x/4.x都对应着相应的版本。
所以我们说,CentOS就是 Redhat的AS/ES/WS的免费版本。使用CentOS,可以获得和AS/ES相同的性能和感受。CentOS除了提供标准的编号1~4或者1~5 的若干张ISO外,还提供了最小化1CD的Server光盘。用Server光盘安装好的系统,就是一个最小化的Linux内核加上常用的 httpd/mysql等包不包含Xwindows桌面等对于服务器无用的软件。Prima、Plesk、Virtuozzo和都可以安装在CentOS 上
2009年3月2日星期一
有时别人的一句话可以改变你的心情
我说,不了,喜欢一个人步行回家,当锻炼身体了~~~~~~~~~
但我感到心里感觉很好~~~~~~~~
别人的一句话,有时可以改变一个的的心情,