Friday, January 4, 2008

经典陷害大全 - 文学城

经典陷害大全 - 文学城

1.找一个朋友,让他先说3遍“老鼠”,然后再说3遍“鼠老”,待他说完“老鼠,老鼠,老鼠,鼠老,鼠老,鼠老”之后,立即问他“猫最怕什么”,几乎可以 保证他会答“老鼠”,本人试过多次,屡试不爽。

2.随便找3个东西,比如3个杯子吧,你敲第一个时让你的朋友说“忘”,敲第二个说“情”,第三个说“水”,美其名曰测试你朋友的反映速度,几次之后,不停的敲第一个,3. 你的朋友如果跟着说“忘,忘,忘,忘,汪,汪,汪,汪,汪,……”呵呵,效果就出来了。

3.找一个MM,说是测试她的英文能力。由你说一个单词,MM说这个单词的第二个字母。开始时随便说几个,接着好戏开始。

先说husband,MM会说u(you);

  再说wife,MM会说i(I);

  反复。

  明白了吗?

4.你问他:“一个三点水加一个来是什么?”

他想了一想说:“不确定,涞(LAI)?”

  你再问:“一个三点水加一个去呢?”

他八成会说:“...什么字?有这个字吗?去?”

  其实应该是“法”......

5. 伸出1个手指,问别人“这是几”

  再次伸出2个手指,问别人“这是几”

  再次伸出3个手指,问别人“1+1是几”

  10人里最多1人答对

6.看看王朔的小说,《一半是火焰,一半是海水》里面的游戏很有意思。就是手中夹硬币然后回答问题的那一个

  问比1大的数字有吗?对方说有

  再问比10大的有没有?对方说有

  直到说到100000——

  最后问比你傻的傻瓜的有没有?对方回很警觉的说“没有”!

7.顺便说一个:你可以对你的MM说我要测测你的英语反应能力,伸出左手,对她说:“我点拇指是A,食指是C,中指是M,无名指是S,小指是X”,然后 说,为了增加难度,我会用中文干扰你。然后,你指中指说鱼,她会说m,你指无名指说骡,她会说S,然后在指拇指说猪,她会说A,然后一直点拇指说猪,她会 一直说:A,A,A,A,A,A,如果MM聪明,可以多试其他的手指之后再说拇指。

8.劝MM酒时对她说:我喝清一杯,你喝一口

 然后重复....我清,你一口..........

9.把双手放在大腿上,然后左手作向前摩擦的动作,右手就做上下捶击的动作,作几下,然后换手作,改成右手向前作摩擦的动作,左手做上下捶击的动作......如此反复...

 对了,速度要快些,慢了就没效果了。呵呵 试试吧,大多数人不能的说

10.甲:除了人什么动物最爱问“为什么”?

  乙:不知道。

  甲:是猪!

  乙:为什么?

  哈!!!

11. 说个老故事吧,人越多得场合越好:

  冒险故事.爷孙出海经历险!

  爷爷是个水性很熟的渔夫,这天,天气很好,他喊了小孙子一起出海打鱼。

  谁知刚出海不久,天气突变,海上起了风浪。小孙子很害怕,爷爷就安慰他:乖孙别怕,爷爷这么多年的技术了,这点风浪怕啥?

  突然,一个大浪头打过来,把船浆给劈头打成两节. !

  爷爷无奈地对孙儿说:乖孙啊,浆完了!

12. 猪的英语拼写是PUG吧?

  --不对,是PIG

  --不是吧,我怎么记得是U(YOU)呀

  -你弄错了,是I

  --猪是YOU

  --猪是I

Thursday, January 3, 2008

股市投资常用的几个网站 - 加拿大 伦敦中文论坛

股市投资常用的几个网站

转贴几个股市投资常用的几个网站,对新手比较有帮助。

http://www.barchart.com/有免费走势图,买卖信号

http://www.pcquote.com/ (免费的实时报价网站,如果单个quote,是延时的;如果一次多输几个是实时的报价)

Intraday chart:
http://finance.yahoo.com (这个主页有链接)
http://www.windchart.com/

Intraday quote:
http://host.businessweek.com/

Chart analysis:
http://www.stockta.com/ 带成交明细,分时走势
http://www.americanbulls.com/

Very famous one:
http://stockcharts.com/

股票黑名单
http://stocklemon.com/

http://stockquote.atspace.com/ (这个网站上也有报价,而且有些其他信息)

stockcharts 很好。

关于开户炒股 - 加拿大 伦敦中文论坛

关于开户炒股

关于开户炒股(ZT)

去自己的银行询问怎么开设股票投资账户,很简单,贴个表,签个字就搞定了,没有任何费用,然后再到指定的网上操作一遍,签订个real-time的 quote协议(也是免费)就可以再网上看到实时行情并下单交易了,如果现自己的银行不专业,加拿大最快的就是TDwater house了,去任何一家TD bank,即可开户:一个小经验就是最好开成joint account,这样在报税时活动余地大一些。加拿大的收费好像统一好了得,都在25以上,limit order(即定价单)29左右,没办法,加拿大人太少,不多收点,早关门打烊了。。

现在美国也有2个低佣金的broker再加拿大运作了,一个是IB(www.interactivebrokers.cawww.interactivebrokers.ca),另一个时Ameritrade(www.ameritrade.cawww.ameritrade.ca)。前者的加拿大总部好像在Montreal,佣金很低,500股以下每股1penny,500以上的部分0.5CENT; 后者收费是,每笔交易$10.99(不限股数);直接再网上预申请,然后会收到一个package,填好签字寄回去即可

所以,如果追求低佣金,IB和Ameritrade现在对于我们是最好的选择了,省得偷偷摸摸去美国开户了。当然,要把钱划到他们指定的账户。有的网友说 不放心,可以理解,毕竟资本主义社会说破产就破产,Enron破了,Worldcom破了,连美国第二大超市Kmart也破了。。。所以如果破产了,投进 去的钱也就完了。。所以还是放在加拿大的银行broker那里保险,即使破产了,还能要回60000加元,不过好像美元加拿大银行也不管赔偿即使破产 了。。

美股交易攻略〔初学者〕ZT

http://www.londonchinese.ca/forums/showthread.php?t=1723
美股交易攻略〔初学者〕ZT

指数及交易所


简介

美国三大主要指数分别为道琼斯工业平均指数〔DJIA或DOW〕、纳斯达克综合指数及标准普尔500指数,其中以道指最为人所熟悉及采用。
道琼斯工业平均指数(DJIA)

Dow Jones & Co.于1882由Charles Dow、Edward Jones及Charles Bergstresser创办。初期专注于当时高增长的股票,特别以交通业为主,所以早期的道琼斯指数包罗九家铁路公司、一家轮船公司及一家通讯公司。直 至1896年5月26日,道琼斯指数才将交通运输与工业分拆为两组平均指数,从而建立起现在为我们所熟悉的道琼斯工业平均指数
今天,道琼斯工业平均指数已被视为衡量美国股票行情,以至美国经济的指针,并在纳斯达克(NASDAQ)及纽约股票交易所上市(NYSE)。道指的成分股 由《华尔街日报》编辑选出,包含30家庞大资产、业绩的公司。不过这些年来,道指成分股的公司也在不断改变,正正反映着美国经济的转变。

创立:
由Charles Dow于1896年5月26日创立,并由Dow Jones & Company负责运作。



公司数量:
30

公司类型:
除交通和公用事业外,道指覆盖美国经济所有主要领域。
拣选原则:
由《华尔街日报》编辑挑选,并不时进行检讨。

计算方法:
早期的道指纯粹采用股价平均值,现今则采用股价加权系统(price-weighted system)。

优点:
道指经历过一段很长时间的考验,它包含了美国最著名、最份量十足的30家蓝筹企业,所以被认为是风险低而不容易波动。

缺点:
美国有超过万家上市企业,但道指仅仅包括30家企业,当然不能准确反映整个市场的变化。因此,标准普尔500指数取而代之成为衡量市场的标准。此外,以市场资产的加权系统作计算,也视为比价格加权系统更为准确。


标准普尔500指数(S&P 500)

标准普尔500指数包含500家企业,明显针对道指不够代表性的缺点,并已渐渐成为衡量美国股票的新标准,而大多数证券管理公司的表现,更已与标准普尔500指数挂钩。

创立:
标准普尔指数服务

公司数量:
500家

公司类型:
覆盖美国经济所有主要领域,但所选的公司并非以最大500家公司为准,而是根据其市场大小、流动资金能力及所处的行业而选择,可以说是500家最主要的上市公司。
拣选原则:
由标准普尔指数委员会拣选,在过往曾包含国际企业,但将来只会加入美国公司。

计算方法:
标准普尔500指数是以市场资产加权指数计算,这表示指数中每个成分股,均以其市场资产所占比例来衡量。

优点:
标准普尔500指数,是全球大型企业股份中,最佳的衡量标准之一。由于指数包含500家公司,成分股极为多元化,而且占美国市场70%的市值,所以被视为是反映市况的最佳指数。

缺点:
最大的45家公司已经占逾50%的指数市值,而且所包含的外国公司为数极少。


纳斯达克综合指数

纳斯达克综合指数,包含所有在纳斯达克股票市场交易的股票。近年来科技股大受欢迎,令纳斯达克(NASDAQ)成为市场的焦点,从而令综合指数成为全球主要指数之一。

创立:
由NASD于1971年创立

公司数量: 
逾4,000家

公司类型: 
包含所有在纳斯达克(NASDAQ)上市的公司,多数是科技和网络公司,也有部分为金融、消费产品、生物科技及工业公司。

拣选原则:
所有在纳斯达克(NASDAQ)上市的股票都包含在指数内。

计算方法:
以资产加权的指数计算,每家公司的加权都按其市值比例计算。

优点:
纳斯达克加权指数极为偏重于科技及网络股,因此其中的上市公司被视为拥有较高的增长潜力。

缺点:
相比于在纽约股票交易所(NYSE)上市,在纳斯达克(NASDAQ)上市的公司更具投机性,风险也较高。因此,纳斯达克综合指数比其它主要指数更轻易出现波动的情况。偏重科技公司拥有高增长的优点,但若科技股受到打击,指数便会相应大幅下跌。


美国股票交易所(AMEX)

简单来说,股票交易所是连系买卖双方的场所。所有公开上市的股票均透过一个或多个交易所进行买卖,例如纽约股票交易所(NYSE)或美国股票交易所 (AMEX)等。交易所的主要功能是为卖家提供一个将股票套现的地方。交易所会追踪每个股票的买卖流程,而这个供求过程则决定了股票的价格。
三种不同类型的交易所:
拍卖交易所──纽约股票交易所(NYSE)及美国股票交易所(AMEX)

纽约股票交易所及美国股票交易所,均是以拍卖为基础的交易所,所以股票经纪是会实际地出现在交易所的交易大厅内。每一位经纪专门负责某几只股票,并且以口 头拍卖的形式,买入或沽售股票。但这种经纪交易制度,正逐渐受到电子交易所的威胁。电子交易不但可以加快执行落盘指令,更可以较小的买价/沽价进行交易, 减少人手的参与,交易更有效率。

纽约股票交易所(NYSE)是现时规模最大、声誉最高的交易所。由于在纽约股票交易所上市需要符合其上市条件,更要每年达到其维持上市的条件,所以在这里 上市的公司,商誉会得到显?提升。例如要保持在该交易所上市,公司的股价必须超过$1美元,而资产市值 (上市股票总数 x 股价) 必须超过$5000万美元。

就如著名的跨国大公司通用电气、麦当劳、可口可乐及沃尔玛等,均是于纽约股票交易所进行交易。而走向世界的中国大企业如中国移动、中国人寿、中石油、中国东方航空及中石化,以及台湾的大企业如台积电、中华电信、友达光电及联电,也是在此上市。

美国股票交易所(AMEX)则相对地较小,但同样是出名的交易所,交易所买卖基金(ETFs)正正是由它率先推出,并且拥有第二大期权交易市场。
电子交易所──纳斯达克(NASDAQ)

纳斯达克是一个电子交易所,买卖双方均是透过计算机、通过网络进行联系,而市场庄家或经纪只会买卖自己的股票,他们可以买入或卖出纳斯达克股票,但需要提 供买价及卖价。现时在纳斯达克上市的企业多以科技公司为主,虽然纽约股票交易所(NYSE)的整体市值要比纳斯达克高出很多,但在上市公司数目和买卖股票 的数量方面,纳斯达克已经超越纽约股票交易所(NYSE)。

微软、思科、英特尔、戴尔及甲骨文都是纳斯达克(NASDAQ)上市的重量级科技股,而来自中国的科网股搜狐、新浪网、网易、Shanda Interactive及C-trip,也是纳斯达克的一份子。
纳斯达克(NASDAQ)同样也有对公司维持上市的要求,但条件就比纽约股票交易所(NYSE)宽松。例如,上市公司的股价必须维持在$1美元以上,而上市交易额(买卖股票数量 x 股价)则不能低于$110万美元。如上市公司无法满足这些条件,将可能会被除牌。
电子通讯网络(ECN)

电子通讯网络是另一种交易系统,可买卖纳斯达克(NASDAQ)上市的股票,并会直接联系买家及卖家而绕过市场庄家,可视为另一种买卖纳斯达克 (NASDAQ)股票的途径。并且正逐渐推面广之,可买卖其它交易所的股票(例如纽约股票交易所(NYSE)及外国交易所)。由于有效减低交易的开支,这 些创新的电子通讯网络,对投资者来说非常吸引,但照目前情况而言,还是机构性投资者比散户多加采用。
市场上还有不少电子通讯网络(ECN),例如BRUT、INET(2004年初由Instinet ECN及Island ECN合并而成)及Archipelago (1997年启用的4个ECN之一)。
场外交易市场(OTC)

场外交易其实是一个市场,而非一个有系统的交易所。场外交易市场通常为一些小型公司,尤其是被纳斯达克(NASDAQ)除牌的公司,进行股票交易。由于风 险大,散户投资者通常不会参与场外交易活动,但实力雄厚的公司则会透过场外交易市场进行买卖,以节省与法律有关的行政费用。一般而言,若没有参与这方面的 经验,在场外交易市场交易请务必格外小心。

股份、股票及证券

股票,是环球最流行、最多人认识及投资的金融产品,以下就为你扼要介绍一下。
什幺是股票?

一张股票,代表着一间公司的一份股份;你购买的股票愈多,代表你拥有该公司的股份比例就越高。股份、证券及股票三个词拥有同一个意思,就是你在公司的资产及盈利上所拥有的权益。
作为公司股票持有人,同样也是公司的股东,因此不但享有分享公司盈利的权利,更拥有相当于股票数量的投票权。
利润将可能以股息的形式,派发给股票持有人,而你持有的股票越多,获分配的利润比例就越高。但你在资产方面的债权,只适用于公司破产的情况。若公司清盘,在支付所有债权人债务后,你才可获分配剩余的资产。
股票的另一项重要特征,就是其有限责任的特性,即是说就算你所拥有股票的公司破产,你所承受的最大损失,也只是你的投资额。
股票种类
股票主要分为两大类别
普通股
大部份发行的股票都是普通股。普通股代表对公司的拥有权及分享一部分利润(分红)。投资者以一股一票的形式,选出董事会成员,以监督作出主要决策的管理层。
以一段长时间而言,普通股因资产增长,所得的回报几乎比任何其它投资更高。但高回报同样带来高风险,普通股需承担公司大部分风险,若公司破产或清盘,唯有在支付债权人、债券持有人及优先股持有人之权益后,你才可获资产分配。
优先股
持有优先股的投资者,通常可获固定的股息保证,相反投资普通股则只会获可变动的分红,而投资优先股的另一个优点,是如果公司清盘的话,将比普通股股东优先获得资产分配(但仍会在债权人之后)。但优先股一般是可赎回的,公司于任何时候,可以任何理由从股东手中赎回股份。


债券

债券实际上是一种债务的投资,投资者以指定的息率及时段,将资金借给企业或政府。

投资债券不像股票般活跃及波动,但却有很多好处,因此应是你投资组合中不可或缺的一员。

资金避风港

债券最主要的优点,是它属于一种债务投资,比投资证券(股票)更安全。原因是债权人比股东占有优先权,若企业破产的话,债权人会比股东优先获得资产分配。

就安全性而言,美国政府的债券(国库债券)通常被视为「零风险」债券,相比股票,是没有一只「零风险」的股票。若你的投资目标是保本,最好的投资选择,便是由稳健政府发行的债券。不过,虽然债券一般而言安全稳妥,但也绝不能说成全无风险。

可预计回报

回顾历史,长远来说股票的表现比债券优胜,但在经济周期的某些时段,债券的表现往往超越股票,特别是在经济衰退阶段,股票表现持续疲弱,若投资组合中包含债券,将有助平衡股票不济所导致的损失。

而退休人士的收入,更通常依赖债券所带来的稳定回报,所以若持有债券,退休人士便可更准确预计晚年的收入。

回报比存款高

债券的息率通常高于银行储蓄户口的息率,若你有一笔在短期之内无须动用的储蓄存款,可考虑投资债券,以获得较高回报,同时又无须承受太高风险。


互惠基金

你可以将互惠基金,设想成股票及/或债券的投资组合,由一家集合了一班投资者及资金的公司所构成,而每个投资者均拥有股份,代表其持有基金的一部分。

互惠基金可透过三种途径获利:
收入来源自股票派息及债券利息,而基金每年都会将绝大部分的收人,以分利形式派发给基金持有人。

若基金出售价格已经上涨的证券,将会获得更多的盈利,而多数基金都会将这些盈利,同样以分利形式分配给投资者。

若基金持有的证券价格上升,但基金经理并没有出售这些证券,那幺基金股份的价格将会上涨,你便可凭出售互惠基金的股份获利。

基金通常会让你选择收取分利支票,或将利润透过再投资换取更多股份。
为什幺要采用互惠基金?

互惠基金优点很多,包括:

专业管理

基金最主要的优点在于,由专业的人士负责管理你的资金,作出及监察投资。不少投资者选择基金的原因,是他们没有足够的时间和专业知识去管理。

分散投资

以互惠基金代替持有个别股份或债券,对分散风险特别有用。分散投资的概念在于投资在多个不同项目上,若某项投资亏损,也会因其它项目获利而得到补偿,而大型的互惠基金,更会拥有过百只不同行业的股票,这是资金没那幺充裕的投资者,永远无法建立的投资组合。

减低交易成本

互惠基金可以在同一时间买入或卖出大量证券,以减低交易成本

套现

与股票一样,互惠基金可让你将股份套现,随时转换为现金。

手续简易

买入互惠基金的手续非常简易,市场上有数以千计的互惠基金可供选择,而最低投资额也比较小。


互惠基金种类

市场上有各种类型基金,各有其风险及获利能力。每一种基金都有专门度身订造的投资目标、投资区域及投资策略。以下列举了最常见的基金类别。

货币基金

货币市场由短期债务投资工具组成,通常为国库债券,而货币基金一般被视为现金的避风港,因为你无须担心本金有任何损失;但利润也不会太可观。

债券/收益基金

收益基金的目的是在于提供稳定的收益,对于互惠基金来说,「固定收入」、「债券」及「收入」代表同样的意思,由于基金持有的产品可能会增值,可以为投资者提供稳定的现金收益,比较适合保守的投资者及退休人士。

但请留意,几乎所有债券基金都存在息率的风险,加息会导致基金价值下跌。

平衡基金

平衡基金的特式是在安全、收入及资产增值等因素中取得平衡,因此这些基金的策略,往往采取拥有固定收入的产品及股票产品作投资组合。典型平衡基金的投资比重为60%股票及40%固定收入产品,另外也可能会限制各个资产类别中最高或最低比例。

资产分配基金与平衡基金相类似,但无须指定任何资产类别的持有百分比。基金经理可以灵活调配资产类别的比例,以反映经济的变化。

股票基金

股票基金是互惠基金之中最主要的类别,市场上众多的股票,造就众多不同类别的股票股票。

环球/国际基金

国际基金也称为外国基金,其投资的地方主要在国外。而另一方面,环球基金不但投资在本国,更广达全球任何一个地方。

指数基金

这类互惠基金反映主要市场指数的表现及回报,例如标准普尔500或道琼斯等。



首次公开招股(IPO)

「首次公开招股」是指 一间公司初次推出股份让公众认购的行动,公司可透过发行债务(债券)或证券集资。若公司从未向公众招股,则会透过IPO进行招股。
为什幺要进行「首次公开招股」?

答案很简单:「首次公开招股」(或上市)可快速筹集大笔现金,而公开上市的企业也会获得更多融资途径。

例如,上市企业在发行债务时通常可获得较优惠的息率,并且更可随时发售更多股票,只要市场存在需求。另外,由于在收购及合并的商业活动中,股票可构成交易的成分,因此也令收购及合并更易达成。而且,在公开股票市场买卖、流通,也能显著提升公司的声誉。
注意事项

首次公开招股通常都很吸引投资者,而且在包销的过程中,推广宣传铺天盖地,当然会引起投资者的兴趣,但有些基本因素,绝对要小心留意。

要对一家运作健全的上市公司作出全面分析,已经是一件很困难的事情;要认识一间首次公开招股的公司,更是难上加难。因为这类公司通常没有太多过往的资料可 供参考,而且你所获得的数据资料,主要来自招股书或推广的刊物,因此特别要仔细研究分析,了解他们的管理层,以及他们计划如何运用招股得来的资金。

当公司上市时,承销商会和该公司签署一份具约束力的禁售协议,用以防止公司在一段时间内(3至24个月不等)出售任何股票。过了禁售期后,往往出现售股票套现,令股价因供过于求而急速下跌。

对任何公司来说,「首次公开招股」的机会只得一次,因此常常以勿失良机吸引投资者,但不少这类股票,在不足一年内便跌穿招股价。因此请记紧,买股票是因为某股票是一项好投资,而非因其是首次公开招股。


期货

期货是一份有关商品、货币或股市指数的合约,预测指定的资产在将来某个指定日期的价值。

简单来说,商品期货合约是承诺在指定月份,以期货市场指定的价格,交付或接收某一数量和品质的商品,售出期货合约表示你有责任交付这些商品。这个概念同样 适用于买入任何其它资产的期货合约,但值得注意的是,绝大多数期货合约都不会真正交付所代表的产品,原因是多数合约在付运日之前已经「清仓」。
为什幺要买卖期货?

买卖商品期货合约基本上有两个原因:对冲价格风险及投机。就以出售小麦作一个对冲价格例子,农夫可以等至小麦收成,才以当时的市场价格出售;或是他很满 意现时的小麦价钱,便可以利用期货合约,将价格「锁定」为现时的价格,售出(或沽空)小麦期货合约。这份沽空合约可保证他在收成时,以现时的价格出售小 麦。故此,期货合约所带来的获利(或亏损),便相等于收成时市场价格所带来的获利 (或亏损),我们称之为完全对冲。互惠基金经理一般采用同样的策略,应用于指数期货,以沽空股市指数期货合约,减低某段时期下指数下跌所带来的风险。
有什幺风险?

期货合约带来的风险,主要反映在投机者身上,他们往往将焦点放在期货价格变动上,但并没有交付或收取商品的打算,所以他们会在预期价格上升时买入期货合 约,或在认为价格下跌时卖出期货合约。而期货之所以带来很高的风险,原因在于合约通常以保证金形式买入,但合约所代表的资产却可以是非常大。


保证金交易(Margin buying)

保证金交易其实很容易明白,简单来说就是你向经纪借钱购买股票,以买入更多股票。

你首先需要开立一个保证金户口(margin account),才能进行保证金交易。这与利用户口内现金进行买卖的普通现金账户不同。保证金户口需要有一笔基本资金,称之为最低保证金 (minimum margin)。户口一旦开立并启用,你就可以借入最高相当于股票买入价50%的资金。购买金额中,你存入的部分称为基本保证金(initial margin)。请紧记,你无须一定要用尽50%的借贷额 ── 你可选择10%、25%,这完全是你自己的决定。另外,请留意某些经纪会要求你存入高于购买金额50%以上的资金。

要维持保证金户口正常运作,有两项基本义务你必须履行。首先,透过保证金户口沽售股票时,款项必须存入经纪的户口,以支付借贷款项,直至全数清还为止。其 次,还有称为维持保证金(maintenance margin)的限制,为了保持户口的最低结余,经纪会要求你存入更多现金款项,或沽售股票以支付借贷款项,这种行动称之为补仓(margin call)。

由于你借入了资金,因此将需要支付利息。若不是选择另行支付,利息将会由你的户口中扣除。随着时间的增长,你的债务将因利息不断增加,你持有的时间越长, 就需要获得更大的利润,以达至收支平衡,所以保证金交易通常用作短线的投资。另外,并非所有的股票,都可以进行保证金交易,投资前,最好先清楚了解保证金 户口的规定及限制。
购买力的例子
假设你在保证金户口存入$10,000元,而你选择了相当于购买金额50%的借贷额时,你便因而拥有了$20,000元的购买力。若你购买价值$5000 元的股票,则剩余的购买力为$15000元,但由于你仍有足够现金支付这项买卖,所以实际上并没有借入任何资金;唯有当你购买的股票价值超过$10000 元时,才算开始借入资金。
补仓

若你的户口结余(股票价值减去你对经纪的借贷)跌至低于维持保证金的水平,经纪便会发出补仓通知,要求投资者透过售套现或在户口中存入更多资金。

若你因任何原因而没有补仓,经纪将有权出售你的股票,令到你的户口结余增加至维持保证金水平以上。大部份的保证金协议条款,经纪行均可无须等待你补仓,便自行作出沽售股票的行动,你甚至无法指示经纪行出售哪一只股票。

因此,你必须仔细阅读及了解保证金户口的条款及细则,包括如何计算利息、支付借贷的责任及你所买入的股票如何用作支付借贷等。
保证金交易的优点

投资者进行保证金交易,主要是因其杠杆作用(leverage),将股票的升幅放大。若果投资正确,保证金可显着提升你的利润。

50%的保证金可让你以同样的资金,购买多一倍的股票。显而易见,保证金户口比纯普通现金账户获取更高利润,问题的关键是股价能否上升。若股价上升,保证金能让你获得更大的利润。
保证金交易的风险

杠杆式买卖能将利润放大,同样也会将损失放大。其中一种对风险的界定是资产价格的摆幅如何。在这种界定下,杠杆式买卖由于其放大价格摆幅的特性,因而令股票投资的风险同样放大。

保证金交易是唯一可以令损失超过投入资金的股票投资。若股票跌幅超过50%或以上,你的损失除了超过100%外,还要支付利息及佣金。



落盘种类

投资者应分别清楚两种基本的落盘种类:市价盘(market order)及限价盘(limit order)。了解它们的分别并明白何时使用,将有助你进行投资。

市价盘(market order)

市价盘是以当时最佳价位,实时进行买卖的指示。这指示并不保证买卖价位,但会立即执行。若你买入股票,便会以接近沽价的价钱买入;若你要沽出股票,则会以接近沽价的价位卖出。

请紧记,最新的买卖价未必与执行买卖指示的价位相同。在迅速变化的市场里,你的实际买卖价与之前的最新买卖价可能有一定的偏差及距离。

市价盘深受希望实时进行交易的散户投资者欢迎,虽然未能知道买入或卖出股票的准确价位,但每天均有成千上万的交易以市价盘执行,并且通常以接近买价和卖价的价位交易。



限价盘(limit order)

限价盘则设定你希望买入或卖出股票的最高或最低价位。例如,如果你希望以$50元价格买入股票,你可设定此价位为限价盘。这代表你不会以超过$50元的价位买入所指定的股票;但你仍可以低于$50元的价钱买入。


期权(Option)
什幺是期权?

期权是指赋予买方在指定日期或之前,以指定价格买入或卖出所代表指定的资产。期权是赋予买方权利,但并无义务的一种合约。与股票或债券一样,期权都是有价的证券。

购买期权时,你只有权利但并无义务做任何事情。你可以任由有效期过去,令期权失去价值。你可以将期权想象成买卖双方为所代表的资产制定的一份合约,而通常这些资产都是股票或指数。
认购(call)和认沽(put)

期权有两种认购期权和认沽期权。

认购期权赋予持有者权利,可以在指定时间内以某个价位购买资产。认购期权买家相信在期权过期前,股价会上升。

认沽期权赋予持有者权利,可以在指定时间内以某个价位卖出资产。认沽期权买家相信在期权过期前,股价会下跌。

买家与卖家最大的分别:

* 认购期权的投资者称为持票人(holder),认沽期权的则称为出权人(writer)。
* 买家称为长仓或持货(long position),卖家则称为空仓或淡仓(short position)。
* 认购期权及认沽期权的持票人(买家)并无义务买入或沽出,他们可以依据个人意愿选择行使权利。
* 认购期权及认沽期权出权人(沽家)却有义务买入或沽出。

为什幺使用期权?

投资者使用期权,有两个主要原因:投机及对冲

投机

期权的优点在于,你并非只能在市况向好时才能获取利润。期权非常多元化,无论市况如何走向,你都有获利的机会。但同时期权的风险也很大,购买期权时,你必须准确认定股票的走势及升跌幅度,以及这些变动发生的时间。
除了具备多元化的特性外,投资者之所以选择这种投机买卖,还因为强大的杠杆效应(leverage)。进行期权买卖时,投资者以相对较少的资金,获取庞大的利润。

对冲

对冲可视为一种保险的策略,期权可在股价下跌时用来保护你的投资。有些时候对冲策略非常有用,这对大机构尤其明显,但对散户来说同样可以获利。例如,你可 能希望从某只股票的股价升幅中获利,但又希望将损失限定在某一范围内。利用期权,你就可以在跌市中有效地将损失限定在一个范围,但又有机会全面从升市中获 利。
期权类别

期权主要有两类:美式期权(American options)及欧式期权(European options)。两者的分别如下,但其实跟地域并无直接关系:

美式期权(American options)

美式期权在购入日期与到期日之间可随时行使期权合约,在交易所进行的期权交易多为美式期权。

欧式期权(European options)

欧式期权仅可在到期日才可行使期权合约。


期权策略

基本期权策略

基本期权策略一共有四种,虽然称之为「基本」,但事实上不少投资者,懂得采用的也只是这些策略。

买进买入期权(Buying a Call Option)

若看好市场走势,相信有关股票将会显著上升,投资者就可以采用这个期权策略。

沽出买入期权(Writing a Naked Call Option)

若市场走势平淡或疲弱时,投资者认为有关股票将会下跌或不动时,就会采取这个期权策略。

买进认沽期权(Buying a Put Option)

若市r疲弱,投Y者J橛嘘P股票可能@著下跌,t裼眠@期嗖呗浴

沽出J沽期(Writing a Naked Put Option)

若市况平淡中被看好,投资者认为有关股票将会上升或不动时,则会采用这个期权策略。
高级期权策略

高级期权策略其实有很多种,但我们只建议唯有经验丰富的投资者才好使用。这里简单介绍其中三种最常用的高级策略。

对冲买入(Cover Call)

对冲买入被视为最安全的期权策略。采用对冲买入时,你可沽出(sell call)已持有股票的买入期权。如你拥有某只股票并愿意在某个指定价位沽出,就可以沽出该股票的买入期权,并且从购买期权合约的投资者身上,获取期权费。

以下为对冲买入的一个简单例子
ABC Limited 11月份$20买入期权(call)的期权费为3元。若你持有100股ABC并愿意以每股20元的价钱卖出,并同时沽出(sell call)买入期权,你将可获得每股3元的期权费。对冲买入意指投资者要沽出合约,以开设新盘。

跨期买卖(Calendar Spread)

跨期买卖也称为时间差价买卖。这个策略的做法是:买进某个到期日的买入(或认沽)期权,并沽出合约到期日较早的同一买入〔或认沽〕期权。

跨期买卖的获利机会,是要视乎期权是否即将到期,股价是否接近期权的行使价──高于或低于行使价并没有关系,但愈接近就愈好。
跨期买卖的例子,就如买入下个月付运的原油期货合约,以及沽出六个月后付运的原油期货合约。

骑墙式期权买卖(Straddle)
骑墙式期权买卖是常见的组合式策略。组合式策略通常会同时买入或卖出多于一种股票期权。

在骑墙式期权买卖中,投资者会同时买进行使价及到期日都相同的买入期权(call)及认沽期权(put)。

若你认为股票价格将会显著波动,但不能确定波动的方向,那幺骑墙式期权买卖是一个很好的策略。股价必须大幅度波动,才能为你带来利润。但切记,股价无论往哪个方向的小幅度波动,都会令你招致损失,因此骑墙式期权买卖的风险非常高。


沽空(Short selling)
什幺是沽空?

沽空是指卖家沽售并不持有的股票。具体地说,沽空是卖家沽售并非由其持有、但已担保会填补的证券。


若沽空一只股票,经纪将会借出股票给你,股票售出后的款项将会记账入你的户口,但最后你必须买回同等数量的股票还给经纪,即平仓(covering),才能完成交易。若股价下跌,你可以较低价位买入股票,并赚取差价获利;若股价上升,你就只能以较高的价位买回股票。


通常来说,你可长时间持有空仓,但若借出股票者要求时,你必须要平仓交还股票。经纪并不能沽售他们没有的股票,所以一是你借来新股,二是进行平仓,这称为「提前赎回」(called away)。虽然这种情况并不普遍,但若众多投资者同时沽空同一证券就会发生。


由于你并非要真正的股票持有者(只是借入并出售),所以你必须向借出股票者,支付红利或股权。事实上,由于你是借入股票,因此你是在进行保证金交易,所以 必须开立保证金户口(margin account),才能进行沽空股票的交易。经纪借出股票时,会向你收取利息,而你也必须同时遵守有关保证金交易的规定。
沽空的风险

沽空交易风险很大,要考虑的因素极多,因此不适合低风险的投资者。以下列出了部分常见的沽空风险:

沽空是对整体市况走势的逆向赌博

基本上,大多数股价经过一段长时间后,都会慢慢上升,实时公司业绩多年平平,通涨仍然会使股价上扬。

损失可能非常巨大

损失随时超过你开始时的投资额,但你最多只能赚取100%利润(若公司停业)。若股价上升,沽空更会带来重大损失,理论上股价上升的幅度是没有极限的,但另一方面,股价不可能低于零,因此获利的幅度是有限的。

补仓(margin call)

沽空股票涉及保证金交易,因此请切记,由于你必须达到最低维持保证金的要求,因此损失有可能失控──否则你就需要补仓,存入更多现金或清还你的仓位。

挟仓(short squeeze)

若股价上升,而众多投资者同时沽空股票试图平仓,则会令股价迅速上升,发生挟仓的情况,因此尽量避免在高息时沽空股票

过早沽空

即使你准确判断某间公司估价过高,但该股票有可能在持续数月后才会回落,而同时间你将可能面对利息、补仓及提前赎回的要求而蒙受损失。所以有些情形,即使你决定正确,但却可能是犯下大错。


离场策略〔初学者〕

投资者必须明白各种离场方式,以制定各种止蚀或获利的离场策略。

两种离场方式

其实只有两种离场方式:赚钱或蚀钱离场。我们通常用「获利回吐」(take-profit)或「止蚀」(stop-loss)来形容。

止蚀(stop-loss)

止蚀是指预先通知经纪,在股价到达某个价位时自动沽售,当股票到达指定价位时,止蚀便会成为沽售的指示。在波动的市况,当市场价格与你所期望的持相反方向发展时,止蚀有效助你减低损失。有关止蚀盘(stop-loss order)的规定,对你非常重要:

止蚀价必须高于目前买入(buy)的卖出价,或低于现时卖出(sell)的买入价。
一旦股价到达止蚀价,纳斯达克会将止蚀变成买卖的指示。
而美国证券交易所〔AMEX〕及纽约证券交易所〔NYSE〕则会在到达止蚀位时,给你在市场上下一笔交易的权利。

止蚀盘有三种类别:
取消前有效(GTC)──除非执行了交易或人为取消了指示,否则指示永远有效。
即日指示盘──止蚀的指示限于当日执行
浮动止蚀盘──此类止蚀会保持与市场价格一段距离,但不会向下走。


获利回吐(take-profit)

获利回吐或限价盘与止蚀盘相似,也会在到达某个价位时自动成为沽售指示。此外,无论在纽约证券交易所、纳斯达克及美国证券交易所,获利回吐价位与止蚀价位在实行上大致相同。
但有两点分别:
没有浮动价位。
所设定的离场价位必须高于目前市场的价位。


制定离场策略

离场策略必须考虑以下三个问题:

1. 你打算投资多久?
2. 你可以承受的风险有多大?
3. 你打算在何处离场?

你打算投资多久?

若你是长线投资者,你应该:
利用浮动止蚀价位锁定获利,以限制资产下跌及保留资本。
经过一段升幅获利后,可以套现避免市况反复。
根据影响长线投资的有利及负面因素,制定离场策略。
若你是短线投资者,则应:
设定短期获利目标,在适当时机实行,获取更丰厚利润。
制定实质的止蚀价位,争取时机放弃表现不佳的股票。
根据影响短期市况的技术和基本因素,制定离场策略。


你可以承受的风险有多大?

由于你可承受的风险程度,直接影响你可接受多大损失,所以这点非常重要。而且,这也决定了你的投资时期及采用的止蚀类型。风险承受较低者会制定比较紧贴市场的止蚀价位,而打算承受较大风险者会制定比较宽松的止蚀价位。


你打算在何处离场?

有许多投资者都会不理性地持住股票不放,即使在市场基本因素变化后,仍然不愿沽售。有些投资者则容易杞人忧天,在不必要时沽售股票。这两种情况都会导致损失及失去获利机会。
完成了主要交易之时,就是离场的最合适时机。制定沽售价位可避免你受情绪影响而进行交易。


避免投资陷阱

要成为一位成功的投资者,必须学会辨别及避免五种常见的投资陷阱。

陷阱一
趁「低」吸纳

买入低价股票,很多投资者都认为将得到可观利润。但问题是,通常低价股票都缺乏机构性支持──而这正是股市赢家的关键。

简单来说,若没有互惠基金、银行、保险公司及其它大投资者在背后的强力支持,股票价格很难有很大的升幅。导致股价急升的原因并非一般的零售交易,而是大财团大批买入成千上万股票导致股价急升,或者大批沽售导致股价暴跌。

机构投资者的成交量占交易所每天成交量的70%左右。财团透过研究小组,物色有增长潜力的投资机会,然后大量买入股票,因此跟随他们的投资方向是可取的做 法。机构性投资者通常不会对股价在1、2或3元水平的股票有兴趣,原因是这些股票通常成交淡静,很难令互惠基金大量买入或沽售。

低价股票之所以低价,当然有其背后的原因,但股票价格也与其价值有关。在许多情况下,股价低迷反映公司存在缺乏机构性支持、盈利或销售增长缓慢、市场占有 率越来越小等问题,这对股票来说非常不利。机构投资者透过研究小组,寻找投资良机大量买入或沽出股票,若你认同这些基金经理的眼光,不妨考虑跟随他们的投 资方向。

听起来1元股价翻一倍的利润相当可观,但这种机会近乎买中彩票,因此你应多考虑机构性高质素股票。


陷阱二
见「高」就怕

高市盈率往往吓怕很多投资者,所以他们都会盲目听从投资市盈率(P/E)低的股票,认为市盈率必会上升。但注意通常行业的领导者所获得的利润,都会比其竞争对手为高,所以卓越的盈利及销售增长的前景,令其市场占有率迅速增加。

市盈率高的股票通常都有一共通之处,就是其商业表现显示公司在未来有很大的发展潜力。


陷阱三
因「小」失大

别让小额的亏损不断扩大,将任何股票的损失控制在7-8%内,这样便永远不会损失惨重。若在适当时机买入股票,该股票下跌超过7-8%的机会其实非常低。

一只股票小量的亏蚀很容易赚回,但太大的亏蚀将会严重影响你整个投资计划。例如,若某只股票亏蚀50%的话,股价必须上升100%才能赚回损失。但若将亏蚀控制在7-8%,只需一次25%的获利就可以抵消三次7-8%的损失。

你投资的其中一只股票在成交量增加,但股价却下跌的话,最好立即售,然后才了解原因。将亏蚀控制在最小范围之内,可避免严重损失,并且由于你只是亏蚀了7%,因此随时可以继续入市。


陷阱四
贪「平」入货

本来在股价下跌时买入股票,理论上是可以以较廉价的股价,减低购买股票的成本,达至平均成本的目标。但其实这样的做法是非常危险的。

如前面所述,股价急升或暴跌通常都是因机构投资者而起。因此若你所持的股票价格下跌、成交量大的话,通常是因为互惠基金及其它大投资者在大量售。在这种情况下,你的股票要再回升就难上加难了。


陷阱五
趁「跌」入市

别在跌市中买入股票,投资股票前,应特别留意市况的发展。

若主要指数显示有屯积股票(大成交量股价上升)的迹象时,可买入股票;若出现售股票(大成交量股价下跌)的迹象,则应售股票。约有75%的股票会跟随着市场的走势,因此你应每天留意市况、不要逆市而行。

若比较前交易日,指数于低价收市并且成交量大,市场将出现售情况。举例而言,若开市时强劲、收市时疲弱,市场上主要股票将会出现大量售情形。



__________________

Tuesday, December 18, 2007

08年前大陆面临的八大危机 - 郎咸平

郎咸平:08年前大陆面临的八大危机 2007-12-10 11:46:37

时间:2007年11月16日下午 地点:上海衡山路小红楼  
 
现场:中国日报五强联盟2007总裁年会   以下为郎咸平教授现场演讲内容,由郎咸平财经工作室编辑整理   
 
 郎咸平:今天做这个演讲和以往不一样,今天特意准备了一份提纲,打破了传统。原因是,我很怕媒体报道这么重大问题的时候给我写错,所以把正确的提纲发给 每个人,给你们一个提纲而提出我的看法。在一个小时的时间内我按照我们议程的要求谈一谈大家最关切的话题,也就是2007年我们的经济到底是怎么回事。在 此我提出中国经济的八大危机,在我谈这个话题之前我认为这个话题对我们传媒业是非常重要的。我可以这么讲,传媒在做报道的时候有没有把握住一个中心思想, 我们对国家政策的推行是一个什么样的态度。与其做一个纯粹的报道,不如集思广益尽采各家说法,这就是一个客观媒体所要达到的目标。为了配合我这个讲话,我 今天提出自己的一家之言,我想对我们中国经济的现状提出一个整合性的结论。今天对于大家所关切的宏观调控做个课题,我对于今天政府所推行的各项政策我有一 个总结性的发言。我想利用一个中医的知识来解答,那就是我们今天的中国经济就像得了肺炎一样,按中医的理论,治疗肺炎要用大凉,如果我们真用大凉很可能把 这个病人治死掉,因为他体质是虚弱的,最好的方法先温补、固本,体质提上去之后最后才能用大凉来治疗肺炎。我们今天所有的宏观调控政策包括金融政策本身, 为什么解决不了泡沫的问题,通货膨胀的问题,主要原因就是我前面讲的他在用大凉治疗肺炎。而我提出的方案是先固本,为了我阐释我的想法,我要根据八大危机 一一来讨论。      

第一大危机是宏观调控的目标我认为是错误的,我们目前看到的股市楼市泡沫是什么原因呢?难道是政府讲的流动性过剩造成的吗?我认为是错的!      

今天的中国整体情况非常复杂,不是一个简单的流动性过剩,我认为最有冲击力的原因是由于近几年来整个国家投资营商环境的急速恶化,因此我们企业家把应该投 资而不投资的钱挤压出来形成虚拟资金打入股市打入楼市。这是我认为最重要的第一笔资金——虚拟资金。第二笔资金就是在目前大面积腐败之下的腐败款大量进入 楼市和股市,第三笔资金就是各位熟知的国际热钱,第四个资金才是我们老百姓的储蓄款。目前所有宏观调控的政策所针对的资金基本上是第三项和第四项。我举个 例子,外国人不得买房的规定是针对第三项资金,第二套房贷的问题是针对第四项资金,我不能说针对第三第四项是无效的,但是你的目标是错的。我们所有的政策 有没有针对第一项,那就是因为投资营商环境的急速恶化挤压出虚拟资金大量进入股市和楼市呢?我们有没有针对腐败款进入楼市股市的现象进行调控呢?目前并没 有对这两大资金进行调控,所以我们宏观调控的力道是不足,因为你所针对的资金方向是错误的。这就是我所提出的第一个危机。

第二大危机就是我们如何做调控?这个调控给我们目前经济带来了严重的金融风险,也就是大幅提高了金融风险。      

我想用日本90年代的泡沫现象和中国现在的泡沫现象做个比较。各位都应该知道“广场协议”这回事。英、德、法、美、日曾经签订过“广场协议”,“广场协 议” 要求日币升值。当时日本政府签下了协议之后那就很清楚的落入了美国圈套。道理很简单,当日本政府签下字,说明日币即将升值。那么全世界国际炒家就会去买日 币,因为他赌日币升值。大家千万别把汇率当作经济现象,汇率不是教科书上所定义的货币之间的价格,没那么简单,汇率是各国政府达到政治目的的手段!当日本 签下了“广场协议”:由于日币低估造成大幅贸易顺差,那么下一步必然是日元升值。日本政府签字的当日就昭告全世界的国际炒家日币要升值了,所以必然结果是 国际热钱大量进入日本。结果日币升值了!各位以为货币像一般的商品一样吗?价格提高之后可以平衡供需吗?错,那是一般的货品的价格,可是汇率不是,当汇率 价格一上升,国际炒家一看,哇!真的升值了,再买,更多的钱流入日本,再逼迫日币升值,更多热钱流入日本,再逼迫日币升值,几年下来日币升值了一倍,几乎 摧毁日本的经济。但是各位请注意有个现象是我们所忽略的,那就是在日币不断升值的过程中,美国财政部通过各种管道压迫日本降低利率以及放宽信贷,由于降低 利率放宽信贷的结果,造成流动性泛滥,日本各大商社很高兴向银行借钱,因为借钱容易,利息低了,可以迅速做大做强,所以造成日本经济的表面繁荣。这个表面 繁荣现象反映在股市就是股市泡沫,反映在楼市就是楼市泡沫,反映在购买日常用品就是通货膨胀。所以日币的升值、股市楼市泡沫和通货膨胀本身的原因是在美国 的压力之下造成的流动性过剩所造成的。那么最近看过很多媒体的报道,把这个问题说的比较正确的,因此认为我们中国政府针对目前的人民币汇率升值、股市泡 沫、楼市泡沫和通货膨胀应该和日本当时的政策是反其道而行之,也就是提高利率紧缩信贷。在这里清楚的告诉各位,他们都错了。因为日本的问题是流动性过剩, 但是今天中国的问题不是。中国是什么问题呢?按照我前面所讲的,造成泡沫的原因基本是由于投资营商环境的急速恶化造成的,因而挤压出大量的虚拟资金大量进 入股市楼市形成泡沫。由于原因不同,政府的宏观调控政策必须不同,但是很不幸的,我们的政策是提高利率紧缩信用,造成什么结果呢?它是进一步打击了已经恶 化的投资营商环境。利率已经提高了6%以上了,最近几天还在提高利率。那么各位设身处地的为我们的企业家想一想,你认为他在这种场合之下还愿意投资吗?中 国哪几个制造业能创造出这么高的利润,银行利率的提升逼得我们制造业放弃投资,不做了,把应该投资而不投资的钱拿出来形成虚拟资金炒股炒楼去了,所以为什 么宏观调控下股价越涨楼价越涨的原因就是因为宏观调控的目标是错的。因为和当时日本情况是不一样的。我们今天不是因为流动性过剩导致的泡沫现象,而是因为 投资营商环境的急速恶化。当然我也不否认今天中国流动性过剩的现象,但是中国流动性过剩不是股市楼市泡沫的主要原因,而真正的驱动因素,是因为我国的投资 营商环境的急速恶化所导致的。那么没有认清楚经济问题、经济弊端,贸然提高利率、紧缩货币,各位知道什么结果吗?随着利率的不断上升使得我国的金融风险迅 速积累,一旦到了不可承受的那天,中国就产生了重大危机。那么回顾一下当时的日本是怎么回事,当时日本的各大商社由于低利率大幅借款,而日本企业由于高负 债经营迅速积累的大量的金融风险到了一个不可承受的阶段产生了泡沫而崩溃,所以日本经济的危机来自金融风险,也就是负债积累所产生的金融风险。今天中国的 经济危机呢?一部分来自于不当的政策使得利率不断调升货币不断紧缩,产生了金融风险而给我国的经济带来重大的危机。而这也是为什么在07年年底我以一个所 谓的中立学者的身份我要做出以下的结论,那就是我完全支持中共中央宏观调控的思想,因为我认为宏观调控是必要的,但是我反对我们执行层面所推行的金融政 策,因为他的目标是错的。      
第三大危机就是从90年代中期之后我们各地地方政府以GDP为纲的理念,造成一个中国特有的二元经济现象。      

请问各位最近看过媒体的报道,媒体报道说我们今天中国经济是过热的,可是我请各位来宾你们再去问问你们的企业家,他们的日子好过吗?他们的日子是一天比一 天难过。不论他是谁,不论他从事什么行业,不论他在哪,他今年的日子肯定比去年难过,明年也肯定比今年难过,这是一定的。既然日子那么难过,那么经济怎么 可能过热呢?但是我们的指标指示经济过热,怎么回事呢?那就是我的理论,中国经济是个二元经济现象,中国经济是同时过热同时过冷,那些部门过热呢?那就是 我们地方政府以GDP为纲的理念之下,他投资建设的有关部门是过热的,比如钢铁、水泥、房地产是过热的。什么部门是过冷的呢?大部分的民营企业是过冷的。 这种二元经济现象可以说是全世界绝无仅有的现象,甚至可能只有在中国才可能出现,而造成这个现象的原因就是十几年来我们的地方政府以GDP为纲的理念大力 推动地方建设的结果。那么这十几年来我们老百姓的医疗、看不起病、上不起学、住不起房、退不起休怎么办呢?在十七大之前是不太被关注的吧。哪一个地方政府 不是开膛破肚修桥铺路的,美其名曰搞地方建设,实际上是为了升官发财的。对干部的考核都是以GDP为考核的标准,但是更严重的,在这种考核标准之下,地方 干部推动建设的结果是使得我们经济产生这种特殊的二元经济现象,就是和建设有关的部门基本上是过热的、和建设无关的民营企业基本上是过冷的。那么这种二元 经济现象和我们股票市场的二八经济现象非常类似。股票市场为什么有二八现象啊?什么是大盘股呢?你发现大盘股和我们过热部门是相关的,比如说过去的房地 产、钢铁、水泥还有其他的融资银行都是过热的,所以股票市场的二八现象和我们的二元经济基本上是相互对应的。那么在这种特殊的二元经济之下,一定会产生两 个必然的结果:   

第一个结果就是宏观调控进一步失效,第二个结果一定产生通货膨胀。那么我一一来说明。   

为什么宏观调控会失效,过热的部门为什么过热,他不是经济性的原因,而是政治性的原因,它是推动GDP为纲的心态导致过热部门过热。那么宏观调控是什么目 的?是用经济手段来控制过热,但是过热是政治原因,你用经济手段来调控就有问题。问题在哪里?举个例子,当中央银行提高利率为0.25%个百分点,地方政 府会因为提高利率而不搞建设吗?那照搞,不会停的,照样开膛破肚修桥铺路不会停的,为什么?为了提高GDP!提高利率的结果是他照样向银行借钱不会停的, 那么过冷部门就遭殃了,过冷部门基本上是民营企业的,而大部分民营企业的资金来源是地下金融,俗称黑市,黑市金融的利率是非常有效率、非常敏感,按照我个 人研究结果显示,他的调幅是官方利率的4倍,也就是央行提高0.25%之后,黑市利率提高4倍,提高4倍的结果是进一步打击了已经萧条的民营企业部门。按 照我前面的理论来看,你打击了他们投资兴趣,他们做什么呢?在这种逐渐恶化的投资营商环境之下他就不想投资了,而会挤压出更多的虚拟资金进入过热部门炒股 炒楼。过冷部门由于资金流出,结果更冷,过热部门由于接受了他的资金变得更热。所以越宏观调控中国的二元经济现象越突出,而这也是为什么我们越宏观调控我 们的经济数据显示中国经济更热,这就是过热的原因。是一部分部门过热而不是全体过热,你继续按照这个目标进行宏观调控的话,二元经济会更严重。   

第二是一定会产生通货膨胀。那么2006年年底农产品丰收,按照经济理论,当然这些理论在中国是不能用的,都是反的!按照经济理论农产品丰收粮油价格应该 下跌对吧,可到了一月,粮油价上升,那就是二元经济造成的。怎么造成的呢?各位再回忆一下我刚才讲的资金大量从过冷部门转到过热部门,所有过冷部门缺资 金,缺资金怎么办呢?政府印钞票,印钞票的结果造成全面通货膨胀。那么这个时候流动性过剩问题就出来了,使得一月的粮油价格上涨,上涨的幅度高达20%, 到了五月份猪肉价格上涨26%,蛋上涨37%,一直到我们今天的十一月份,这个涨幅从我们的20%涨到60%,那么最近还是涨幅很高。也就是说你们吃饭的 时候呢,咬一口肉吃一口饭要多付50%的钱,他不像洗衣机,电视机那样,看旧的就可以了。吃饭每天要吃3次,这个涨幅是不得了的。按照目前的统计,你们买 菜钱呢现在应该是上涨50%了吧。那么这么严重的通货膨胀而且是民生必须品是怎么来的,基本上是我讲的二元经济与虚拟资金的原因。以猪肉为例,我们谈一谈 猪肉价格为什么上涨?有两个原因,第一个是猪瘟,在07年的今天竟然会产生猪瘟的现象,可见地方政府是如何的失职,这个控制猪瘟不能靠农民的。这一定是政 府行为,现在的地方政府都在抓建设,这种疾病的控制他已经不太在乎了,而这也是为什么在07年会产生猪瘟的原因。第二是养猪的饲料价格上涨。猪瘟以及养猪 饲料价格上涨使得养猪的民营企业家的投资营商环境急速恶化。按我的理论,投资营商环境急速恶化之下养猪的民营企业家会做什么,他就把应该投资不投资的钱挤 压出来形成虚拟资金打入股市和楼市,所以我们仔细研究猪肉价格上升的原因就是把大猪宰了之后“后继无猪”了,大家不养小猪了。那么不养小猪,就像各位一样 炒楼炒股去啦。这就是我们刚刚所讲的二元经济和虚拟资金充分解释了最近通货膨胀的原因,这个二元经济的本质是来自地方政府以GDP为纲的理念所造成的恶 果。这是我所谓的第三个经济危机。


第四大危机也是地方政府以GDP为纲的理念造成了整个经济结构的失衡。      

大家想一下,我们各级地方政府建高速路、高架、铁路都是固定投资多。他的固定投资成本是多少,我想拿我们国家和日本经济崩溃之前做个比较,我们固定投资的 比重占45%,而当时日本是30%,消费我们是占了35%,而日本占了58%。这么大量的投资,国内消费是不足的。那么国内消费不了,我们每年以10%的 经济增长,造出那么多的经济、货品卖给谁呢?卖给老外嘛!而这造成大量贸易顺差。那么当时日本贸易顺差所占GDP的比重为4.5%,而中国是9%,而且各 地政府对于出口本身的思维是错的,叫出口创汇。出口创汇在我看来是个罪恶的代名词,出口创汇就是拿我们有限的资源图利外国人。举个例子,中国那么一个缺少 资源的国家敢把煤炭卖给日本人,而日本人拿去填海了。竟然把我们的树木砍下来做成毫无附加价值的筷子卖给日本,日本为什么不砍自己的树呢?他自己不会做那 个傻事的,他不会干破坏资源的事,给谁干呢?给中国人干!你用煤炭、筷子等毫无附加价值的东西流血赚取必定贬值的外汇,美其名是出口创汇,实际上就是罪恶 的代名词。地方政府在以GDP为纲的理念基础上出口创汇的理念使得我国经济严重失衡,造成大幅贸易顺差。我们有高达1.4万亿的贸易顺差,如果说你以 1.4万亿为傲,这1.4万亿都是一系列错误政策的必然结果。什么结果呢?给了欧美一个极好的机会压迫人民币升值。我今天实在想不出我国政府有什么理由不 让人民币继续升值。人民币必然升值就是我所谓的第四个经济危机。      

第五大危机 我就把前面四项的危机做个整合,一个是利率的上升,一个是错误的宏观调控造成利率的上升,地方政府错误的GDP为纲的政策及出口创汇政策造成汇率的上升。      

两大金融参数的上升使得我国企业已经难以维持生计的投资营商环境继续恶化而逐渐流血而死。你看我国哪个出口型的制造业日子好过的,日子是一天比一天难过。 所以他更不会投资了,所以他一定会像我前面所说的那样把应该投资的而不投资的钱挤压出虚拟资金进入楼市股市,那么你们可能会问我了,到底虚拟资金有多少? 告诉各位一个数字,那就是我们企业家应该投资而不投资的钱和欧美相比,80%投入股市楼市,造成泡沫。所以汇率一上升泡沫现象更严重,而表面上看起来和日 本当时一样,哪里知道原因是非常复杂的。中国企业家不投资了,去炒股炒楼了。我想请各位思考一个问题,你应该投资而不投资,这个投资的空间给谁了呢?这个 空下来的空间必然的为外资企业所用。利率汇率的上升造成了营商环境的困难,其必然结果给外资进入中国提供一个绝佳的机会,诸位看一下我们的民营企业家,这 种卖公司、卖工厂的现象比比皆是,是由于营商环境投资困难。这就是我所谓的第五个危机。      

第六大个危机我想请各位抬头仰望着蓝天,你们发现在07年的中国天空上翱翔着两只秃鹰,秃鹰是干什么的呢?秃鹰是吃尸体的。我前面就说过了,中国的制造 业,因为前面所说的所有的理论而逐渐流血而死,头上的秃鹰就飞下来啃食我们的尸体。头上两只秃鹰是什么呢?一个是产业资本,第二个是金融资本。      

各位都知道青岛啤酒是我国的著名品牌,你们还认为青岛啤酒还是中国企业吗?告诉你一个数字,青岛国资局控股30%,但是你们知不知道第二大股东是谁?来自 美国的安海斯-布希公司控股27%,只要他再多买4%的H股,我们中国的青岛啤酒就会在一夜之间变成外资企业。各位还记得徐工的故事吗?美国的凯利基金要 收购徐工,当时包括我在内很多的学者专家在媒体上对这件事情大家大法,由于大家的努力,成功制止了资产流失的现象。当时的地方政府以什么理由卖给外国人 呢?是以负的净资产卖给外国人。负的净资产就可以卖了吗?你有没有那么一点点经济常识啊。一个公司的价值不取决于净资产,而是取决于有没有持续经营的能 力。对于徐工的价值取决于未来持续盈收的能力,还好没卖,假如以100块钱卖掉,按照我所理解的凯利基金或者类似的基金,一定会把徐工分拆上市或者卖掉, 赚到一万块钱。所以从100块价格到一万块他可以赚100倍以上。那么各位了不了解,收购青岛啤酒的安海斯-布希公司就是产业资本,收购徐工的就是金融资 本,这两个资本的危害性我们还没有看出来,还在乐观的招商引资,你知不知道招商引资使得这两只秃鹰来席卷中国奄奄一息的制造业。那么你们可能要问我了,郎 教授这样是不是太悲观了,中国制造业我们自己都做不下去了,给外国人能赚钱吗?如果你们有类似的想法呢,你们就太不了解资本主义国家了!为什么我说的话那 么像社会主义经济学家,而我们社会主义经济学家讲的话更像资本主义经济学家。其实错了,我是真正吃资本主义奶水长大的资本主义经济学家,所以我对他的理解 是非常透彻的,我所以讲的这么社会主义是因为我理解了。各位想一想我们中国的企业经营不下去,负的利润,你以为外国人经营不下去吗?小看人家了。当他透过 产业资本和金融资本收购我们这些所谓不赚钱的制造业之后,他会把你融入到国际产业链的分工里面去。这是我最近做的一系列的研究,什么叫做国际产业链的分 工,那就是在国际产业链中真正做制造的是一块钱,而做这种采购、仓储、订单处理、批发、零售这整条产业链叫做软三元。国际产业链的分工是怎么回事呢?本质 就是靠软三元赚取利润,硬一元再亏损了不起亏一块钱,也不可能亏一块钱,软三元可以赚多少钱回来啊!以玩具业为例,一个巴比娃娃我们的出厂价一块美金,在 美国的沃尔玛零售价格是9.99元美金,那一块美金,原料占了0.65%,生产价0.35%,你晓不晓得我们能赚多少钱,一美分了不起了吧。我们是剥削我 们的劳动者,浪费我们的资源。用这么贱的一块钱的价格卖到美国去,他最后以9.9的价格卖给消费者,他们席卷了所有的利润。我们的商务部长薄熙来针对这个 现象提出他的看法,他的看法一部分对的,那就是我们中国的制造环节是不赚钱的,而我们透过我们的牺牲,让美国人欧洲人享受我们的产品,这是对的。可是各位 再想一想你需要呼吁吗?难道美国不知道吗?你把他看的太傻了吧。你都知道他会不知道吗?怎么可能呢?难道他们不知道他们进货价格是一美金吗?难道他们不知 道我们的劳动者几乎拿不到利润吗?难道他不知道是9.9吗?那为什么还要继续压迫我们,提高利率提高汇率,让我们仅有的一分钱都不让我们赚呢。这就是我所 谓的金融战争。其目的就是让你倒闭,你倒闭之后,我们头上两只秃鹰贱价把你收购,融入国际产业链里面去,你这里亏钱无所谓,软三元可以赚回来。硬一元里 面,根据我最近的研究结果显示,原料成本、制造成本可以省下来的钱是25%。我们再压低我们的工资、压低原料成本价格只是把整条产业链的一块钱里面的 25%省下一点点而已,真正的大头都被软三元拿去了。那么这种格局是我们国家到现在还没认识的。我们还在继续的招商引资,最后的结果呢就是把我们的制造业 拱手让给外国人。      

我请各位注意一下,我讲的现象已经发生了,你们认为我们中国有廉价劳动力的优势嘛,这样以为的话你就大错特错了!劳动力的优势最多使你硬一元里面,最多节 省25%的钱,仅此而已。可是整个国际产业的分工呢,它从软三元赚取利润。所以最近上海来了两家外资企业,一家是西班牙的ZARA,一家是瑞典的企业 H&M。ZARA80%的生产在欧洲,他为什么不来中国生产呢?我们不是有廉价劳动力吗?人家来都不来。那个不重要!重要的国际产业的分工整合最 重要,所以ZARA在欧洲进行80%的生产。他的衣服做出来不但款式新颖、时尚、潮流、质地好,还有就是比你国产的还便宜。H&M更便宜,比 ZARA便宜30%,他的大衣质地好不讲了,时尚不讲了,还是国际名影视红星麦当娜所设计。多少钱一件,大家知道吗?500-800一件。你说我们哪能造 的出来!人家为什么用这么低的价格进入中国呢?那就是国际产业化的分工,人家开始向软三元要利润。他通过软三元节省大量成本而放弃硬一元,因此才能以最高 的利润和最低的成本进入中国。这是2007年开始发生的现象,我们要密切地注意。如果我们还对廉价劳动力有任何幻想的话你太可怜了。举个例子,我们有两家 著名的企业就开始幻想,一家是TCL的李东生,第二是台湾的明基叫BENQ,这两家要搞国际化。怎么搞呢?他们想利用中国廉价劳动力配合上国外的品牌和技 术,想走出去,想国际化。按照郎教授的理论你不会成功的。为什么?你除非走入软三元!靠硬一元你是走不出去的,因为廉价劳动力最多只能省下25%的钱。所 以各位都知道TCL合作以及收购了阿尔卡特以及法国汤姆逊,明基收购西门子的移动业务,一两年之后彻底轰然跨台。为什么?你走不出去!为什么走不出去?因 为你企业的战略都是错的,错在哪里呢,劳动成本已经不重要了!最终要搞国际产业的整合,放弃硬一元,向软三元要利润,这才是国际化。我们有多少企业知道这 个呢?我们天天喊的国际化招商引资竟而把我们整个产业链拱手让给外国人,竟而容许他们洗劫我们。我为什么说是洗劫我们?我想请出一位农夫给各位做个说明。 你问一问农民:你如何灌溉?农民会告诉你灌溉之前,打开水闸之前先要挖沟渠,把水通过沟渠引到需要水的地方才叫灌溉。如果你傻不拉机的问农民,如果我忘了 挖沟渠呢?农民肯定会骂你:你傻呀,你不挖沟渠的话你打开水闸,洪水漫流大地不都把良田都淹没了吗?农民都知道的事,我们好多人都不知道的。各位了不了解 什么叫国际化?中国目前所推行的国际化就是打开水闸之前忘了挖沟渠,中国是一个没有沟渠的国际化。什么叫沟渠?法制化的游戏规则叫沟渠。那么各位,我们国 际化之前有过法制化的游戏规则吗?我们哪一个行业有这种法制化的游戏规则?我们哪个行业不是百分百的开门让外资进来!到最后的结果就是外资携其软三元的优 势,在一个没有法制化的游戏规则的中国,就像洪水一样漫流大地把中国的良田美地完全侵略了,这就是国际化的结果。这个现象很重要,据美国麦肯锡公司去年的 预测,五年之后,外资零售业将占领80%的中国市场,各位来宾这么一听是不是很高兴呀,不错呀,沃尔马、家乐福很好呀,进入中国呢,灯火通明、物品种类齐 全、服务态度良好、价格物品低廉,像家乐福,时不时的贴出广告:半径5公里之内,如果同样的货品你买到更便宜的,愿意用数倍的差价弥补你的损失。你们不知 道这个事吗!一听,好好的外资哟,他席卷中国有什么不好呀!中国对他们来讲是一个天堂,因为从来就没有法制化的游戏规则。当他们一旦席卷80%的零售市场 之后,你们相不相信我下面的预测,那就是外资零售业将联合垄断,是上抬销货价格剥削消费者,下压进货价格剥削生产者,把中间利润迅速扩大,合法的汇出中 国,你相不相信?这就是我们的未来,因为我们的国际化是一个没有法制化的游戏规则的国际化,所以一定是洪水淹没了我们的良田。而且我们的制造业还在向硬一 元要利润的阶段,人家已经放弃硬一元开始向软三元要利润了,所以他凭借着高利润低成本的优势杀入中国,你将无可抵御,因为你在国际化之前忘了挖沟渠,没办 法......! 

这是我讲的第六个危机.      

第七个危机  
继制造业之后我国的金融业将为外资所席卷.      
金融的改革包括汇率的改革以及银行的改革.这里我想先和各位谈谈银行的改革,我们像建行等那么多银行上市,大家知道不知道帮他们做顾问都是哪些公司吗?摩 根、美林、高盛。这些公司也是美国中央银行的股东,你们知道吗?我们要搞银行改革竟然要请美国中央银行的股东来当我们的顾问,你说你是傻呢还是怎么回事 呢!他给你做顾问的目的是图利于你呢还是图利于美国中央银行呢?我给各位一个数据,世界银行在2000年出了一个研究报告,讲的是银行改革。各位相不相信 我国从事银行改革的所有相关人员没有一个人念过这篇报告,我们的银行改革全是想象出来的,他们的这个报告是靠数字说话的。他们收集了过去全世界250多次 银行危机,他想了解各国银行如何进行改革,研究结果是这样显示的:250多次银行危机里面有92次找不到资料,141次各国政府包括美国在内都束手无策, 3次加强监管,14次放松监管。也就是说90%的案例里面各国政府束手无策,因此这篇文章的结论很有意思,它说:全世界的织组包括国际货币基金、世界银行 以及各大银行还有学术界的泰斗,没有一人知道如何改革银行。既然全世界没有一个人知道如何改革银行,你中国怎么敢改呢?而且你的顾问都是美国中央银行的股 东帮你做的顾问,因此给你的建议呢就是改制、上市。改制、上市很有意思,你们都有从全国各地来的,从东北一直到珠海,你到任何一个乡下去的话你都能看到一 个建行,它的网点分布之广是你不可想象的。我也是建行的客户,虽然建设银行的服务很糟糕,态度也不好,为什么我还用建设银行呢?分行特多,这是他唯一的原 因。就算我们政府完全开放银行,让花旗银行进来,他没有能力开那么多的分行的,你要知道要开像建设银行一样多的分行,要租下多少楼盘。你要投入多少钱去做 硬件与软件的开发,投入多少钱多少时间去做人员的培训,你知道不知道这么一趟下没有几万亿美金做不到的。所以他们会怎么做?所以这些聪明的顾问们就不会这 么做,他一定会要求你建设银行上市,只要你建设银行上市,美国的银行买了你20%的股份,你所有分行赚的钱他就拿走20%。同时, 银行经营在中国是垄断 经营,垄断经营都要牌照费的,建行为什么不交牌照费呢?因为他是国有银行不需要交牌照费。你上市之后卖给花旗银行,你为什么不收牌照费呢?他忘了, 他根 本不知道要收牌照费!所以外资银行包括美国银行等等,可以以最便宜的价格,以不交牌照费的方式大量购买建设银行的股票,你只要买到20%所有分行的利润你 都要分20%。看一下最新结果。这次因为美国次级债缘故损失了不少金钱,他们的首席执行官本周很骄傲的说了一句话:我们在次级债的损失远远的小于我们在建 设银行的投资。他们在建行赚了多少钱呢?赚了1300亿!!那么我们的水平呢?我们的外汇管理在娄继伟的管理之下投资美国的黑石,惨败而归, 这就是水 平!!人家为什么知道这么做呢, 因为金融战已经开始了。我们金融战的水平和一百五十年前大刀对洋枪的水平差不多。你看看美国银行和建行的故事,再看看外 汇投资基金和黑石公司的故事,一比较下来你就豁然开朗。为什么美国要逼迫我们银行上市,因上市才是美国最快收购我国银行的捷径。我们竟然听话照办!另外的 改革叫做汇率的浮动化.我一直反对这种改革,原因在哪里呢?因为我们中国没有人才!!我们中国可能有很多方面的人才,但是在外汇操作方面,我可以这么讲包 括郎教授本人在内我们全国13亿人口没有一个专家.没有专家你怎么敢开放人民币浮动?各位了不了解1997年,为何索罗斯阻击亚洲?造成亚洲金融危机.那 就是因为亚洲资产泡沫化.亚洲当时除了四小龙之外还有四小虎,对于欧美各国严重威胁,所以索罗斯开始阻击泰铢.因为泰铢刚刚改成浮动汇率,阻击下来,亚洲 各国尤其四小虎再也没有喘息的机会了.他们也没放过香港,同时也阻击香港.香港当时也是资产高估,股市很好,18000点,楼市价格迅速上升,整个资产升 值情况下阻击港币是最好的,他们同时卖空港币同时卖空恒生股市期货,什么叫卖空?以股票市场为例,今天向某证券公司借出一张股票以今天假设50元卖掉,明 天股价跌到30元, 我再买回来了把股票还给证券公司,叫卖空.50元卖的,30元买的,就赚20元差价.所以卖空的目的就是赌你股票会跌.外汇也是一 样,什么叫卖空?一样,向某金融机构借出港币卖掉,明天跌了再买回来再还给他,意义是一样的.他们同时卖空港币同是卖空恒生指数期货,当时大量卖空港币, 把港币卖给香港的金融管理局,所以市场上缺少港币了.因此银行的拆借利率大幅提高,最高到280%的拆借利率.280%的拆借利率大家知道对股票市场会有 什么打击吗?股价大跌,从18000点跌到了98年的6660点,跌了三分之二的市值.可是国际炒家在事先就大量卖空恒生指数期货,所以赚了三分之二的市 值,到了最后香港全体老百姓买单,因为股市大跌,楼盘也跟着大跌,索罗斯等人席卷一把之后离开了香港,所以当时产生了索罗斯振荡.在2006年之前,只要 恒生指数到了18000点之后呢,就会大幅波动叫做索罗斯振荡,把香港老百姓给吓到了.现在为什么到了三万点了呢?因为国内老百姓搞不清楚,从深圳通过很 多方法大量炒港股,就把港股拉上去了.香港老百姓吃过亏,知道的!国内老百姓没有吃过亏不知道,搞不清楚的!香港还是固定汇率的,是联系汇率,他要是浮动 汇率那更惨.那各位知不知道,为什么在这么严厉的亚洲金融风暴之下,中国能幸免于难呢?你以为是我们领导人英明吗?不是, 而是当时我们采取了两个最传统 最古老的制度,一个是固定汇率另外一个最重要的是外汇管制,由于固定汇率及外汇管制,保护了中国,不是由于我们能力好,而是这两个原因.按照我这个故事讲 起来的话,如果国际炒家要阻击今天中国的泡沫和当初的印尼,马来西亚,泰国和香港一样,到处都是泡沫,股市泡沫、楼市泡沫、通货膨胀,要阻击这种泡沫经 济,像席卷香港一样来席卷我们的财富,什么方法是最好的?那就是像泰国一样,阻击浮动汇率,那是最好阻击的,连联系汇率的香港都能阻击,何况是浮动汇率. 而这也是为什么美国政府不断的逼迫人民币汇率浮动化的原因.只要配合上浮动汇率,外资自由进出,再加上股指期货的推出,将使的中国的金融市场完全暴露于国 际炒家的阻击之下,而这一切我们基本上都完全具备了.我们有没有泡沫,有!有没有通货膨胀,有!有没有股指期货,快了!有没有浮动汇率,我们正在努力!经 过我们政府以及我们老百姓的逐渐努力,我相信在不久的将来我们一定会给国际炒家一个非常好的阻击中国的机会.大家拭目以待!这就是我所谓的第七个经济危 机.  

        
第八大危机  

2008年一月一号开始的外资银行可以经营人民币业务的危机.      
我们的中国银行,放款客户里面有多少好客户?我给各位一个数字,10%差不多了吧!其它的呢,不敢说全部,很多都是骗子,包括地方政府在内.他们怎么骗 呢?拿到钱直接当利润处理,我们很多地方政府不就是这么干的吗!存款客户有多少好客户呢?20%了不起了吧!百分之八十的是什么客户呢?都是我们那种小老 百姓的客户,今天存一百,明天提80,这种客户只是提高了交易成本,银行赚不到他的钱的.银行真正能赚钱的客户,是20%的大客户,20大的好的存款客户 和10不到的好的放款客户,你们认为有没有可能在明年一月一号之后大量转移到外资银行呢?我敢讲一句话, 外资银行有一个好处,那就是在国家进行宏观调控 的时候不会没有理由的给你收紧银根,那事他不会干的.我们的内资银行个个在干!如果大家都转过去了呢?如果这种好的存款和好的放款客户都转过去了,那这叫 我国内资银行如何经营?银行失血的现象是不是会发生呢,经营不济的情况会不会发生呢?更严重的,就是我前面所讲的一连串的不理解国际化的前提之下,是不是 给予外资银行进一步的进入内资银行参与经营的机会呢?所以明年一月一号开始的外资银行经营人民币业务给我国金融体系又给加上一个第八项的不稳定因素.当然 我们在批评外资银行的时候首先要检讨自己,外资并没在要求我们马上开放,给了我们三年的缓冲期.我们三年在做什么事了,你们猜一下?我们都在这种外资顾问 的指导之下,改制上市去了.你有没有把银行的最基础工作做好?什么工作呢,把银行的信用搞好,把银行的服务品质搞好,有没有把银行真正做成服务客户的平 台.没有!你根本没有!搞什么呢,大家从上到下热火朝天按照美国中央银行股东的要求改制上市去了.这三年下来,我们银行的信用如何?服务态度如何?和外资 银行相比,优劣立判!如果你是个大的存款客户,你有没有可能转到外资银行里面去呢?你知不知道你转到外资银行当存款客户有什么好处吗?你相不相信他们立刻 给你一个全球通用的钻石卡或金卡?你可以存人民币到欧洲到美国随意消费,你相不相信?多好呀!他们还需要开分行吗?因为大客户基本在城市,他只要把握了广 东,上海,北京,差不多就席卷我们大部分的最优质的客户了.他不需要开分行了, 开分行 越开到偏僻的地方,小客户越多, 都是今天存一百明天提八十的, 都赚不了钱的.所以他们只要寄守在大城市把服务做好,继续鼓动中国的银行去上市,那么他们就是最终的赢家.而我们目前也正在努力的帮助他们完成他们的愿 望.      

总结那么这八项危机,我相信我已经囊括了2007年底的诸多经济现象,你们所看到的这一切,你们诸多的不理解,经过今天我的八大危机的分析之后呢,我相信 你们都已经豁然开朗,这就是今天中国的经济危机.作为一个独立的学者,我也希望通过这个机会把我的观念透过媒体发表出来,我认为这就是媒体存在的目的,我 们不需要歌功颂德,我们需要尽早的理解国际形式!尽早理解什么叫国际化!给我们的政府给我们的老百姓提供一个不同的角度和观点.我也希望政府按我讲的八大 危机,提出一些合理的治理办法,这是我今天跟各位花了一个小时时间谈话的最终目的,谢谢各位,刚好一个小时.

Thursday, December 13, 2007

nstalling a WLan Card with Atheros Chipset under Debian Linux and NetBSD

http://www.fehu.org/atheros-en.html

Installing a WLan Card with Atheros Chipset under Debian Linux and NetBSD

1. General

1.1 Supported Hardware

1.2 Supported Modes

2. Installation under Debian Linux

2.1 Required Packages

2.2 Installation Process

2.3 Activating the Card

3. Configuration under NetBSD

4. Configuration of wpa_supplicant with WPA-PSK

5. Further Information

5.1 Wireless Applications

5.2 Links

5.3 Manpages



1. General


1.1 Supported Hardware

Basically all cards with a chipset of the type ar5210/ar5211/ar5212 are supported. To be sure, look at http://madwifi.org/wiki/Compatibility. That list will be continously adjusted by users. Another good source of information for chipsets and characteristics is also http://www.wifi.com.ar/doc/wifi/wlan_adapters.html


1.2 Supported Modes

Both the Linux MadWifi driver and the NetBSD driver are based on a binary HAL (Atheros Hardware Abstraction Layer) and its kernel module ath_hal, which enable access to the firmware. That HAL is "closed source" and is developed including an object file by Sam Leffler, employee at Atheros, compiled for different architectures and made available to the OpenSource-community. Which modes are supported and which not depends mainly on the work of that man.

The documentation, forums and mailing lists give information about available modes

  • 802.11a/b/g, in mixed mode
  • 128-bit WEP, WPA-PSK through wpa_supplicant(Linux)
  • Turbo Mode (802.11a only, Channels 42,50,58,152,160)
  • Running the card with specific countrycodes (not in turbo mode!)


2. Installation under Debian Linux

The installation of the kernel drivers is possible both under kernel 2.4 and 2.6.


2.1 Required Packages

The underlaying system is a Debian Sarge with kernel 2.6.7-1-386. Please adapt it to your needs. Following packages must be installed:

cvs
wireless-tools
kernel-headers-2.6.7-1-386
sharutils
uudecode
libc6-dev

2.2 Installation Process

Now it is time to check out the MadWifi drivers from the CVS-repository and install them:

$ cd /usr/src
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi login
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
$ cd madwifi
$ make
$ make install
$ make clean

The installed modules will be located in /lib/modules/2.6.7-1-386/net.


2.3 Activating the Card

General tools for configuring WLan cards can be found in the "wireless-tools" package. They will be explained shortly below:

  • iwconfig edits basic WLan settings like SSID, WEP-Key or channels, among other things. iwconfig(8)
  • iwlist allows scanning, listing frequencies, bit-rates, peers and accesspoints, among other things. iwlist(8)
  • iwpriv allows editing of driver specific (private) settings like turbo mode and frequence ranges, among other things. iwpriv(8)

Before loading the modules it is recommended to verify in which frequence range, subband and channel the accesspoint is running.
The driver works default in 802.11a/b/g in the 5 GHz subband 1+3:

$ iwlist ath0 chan
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 36 : 5.18 GHz
Channel 40 : 5.2 GHz
Channel 42 : 5.21 GHz
Channel 44 : 5.22 GHz
Channel 48 : 5.24 GHz
Channel 50 : 5.25 GHz
Channel 52 : 5.26 GHz
Channel 56 : 5.28 GHz
Channel 58 : 5.29 GHz
Channel 60 : 5.3 GHz
Channel 64 : 5.32 GHz
Channel 149 : 5.745 GHz
Channel 152 : 5.76 GHz
Channel 153 : 5.765 GHz
Channel 157 : 5.785 GHz
Channel 160 : 5.8 GHz
Channel 161 : 5.805 GHz
Channel 165 : 5.825 GHz

If the card should be operated with these settings, try

$ modprobe ath_pci

To get support for country specific frequencies, it is necessary to assign the parameter "countrycode" while loading the module.
For example: Germany, 5 GHz subband 1+2

$ modprobe ath_pci countrycode=276
$ iwlist ath0 chan
ath0 255 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Channel 36 : 5.18 GHz
Channel 40 : 5.2 GHz
Channel 44 : 5.22 GHz
Channel 48 : 5.24 GHz
Channel 52 : 5.26 GHz
Channel 56 : 5.28 GHz
Channel 60 : 5.3 GHz
Channel 64 : 5.32 GHz
Channel 100 : 5.5 GHz
Channel 104 : 5.52 GHz
Channel 108 : 5.54 GHz
Channel 112 : 5.56 GHz
Channel 116 : 5.58 GHz
Channel 120 : 5.6 GHz
Channel 124 : 5.62 GHz
Channel 128 : 5.64 GHz
Channel 132 : 5.66 GHz
Channel 136 : 5.68 GHz
Channel 140 : 5.7 GHz
Current Frequency:2.412GHz (channel 01)

These "countrycodes" can be viewed at http://www.unicode.org/onlinedat/countries.html. They are stored in the EEPROM of the card and aren't writeable.

If the modules are loaded with false settings unload the driver

$ modprobe -r ath_pci

and go on with experimentation.

If the card should be bound to 802.11a,b or g, do

$ iwpriv ath0 mode X

where X stands for 0=802.11a/b/g, 1=802.11a, 2=802.11b, or 3=802.11g.

The turbo mode is only possible in the 5Ghz band and limited to a few channels in subband 1+3. The countrycodes must not be set!

$ modprobe ath_pci
$ iwpriv ath0 mode 1
$ iwpriv ath0 turbo 1
$ iwlist ath0 chan
ath0 255 channels in total; available frequencies :
Channel 42 : 5.21 GHz
Channel 50 : 5.25 GHz
Channel 58 : 5.29 GHz
Channel 152 : 5.76 GHz
Channel 160 : 5.8 GHz
Current Frequency:5.21GHz (channel 42)

But even with the latest drivers it wasn't possible to convince Linux to enable turbo mode... After allocating an IP you get the error message "ath0: unable to reset hardware; hal status 12"

An example for connecting to an AP with WEP

$ modprobe ath_pci countrycode=276
$ iwconfig ath0 essid blabla
$ iwconfig ath0 key 14929429325878194789834632
$ ifconfig ath0 192.168.1.66

If you want to save your settings for automatical loading after a reboot, you have to adapt /etc/modprobe.d/aliases for 2.6, or alternatively for 2.4 /etc/modutils/aliases, and /etc/network/interfaces.

$ echo "alias ath0 ath_pci"  >> /etc/modprobe.d/aliases
$ echo "options ath_pci countrycode=276" >> /etc/modprobe.d/aliases
$ update-modules
$ cat /etc/network/interface
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# Wireless
auto ath0

# static
#iface ath0 inet static
# address 192.168.1.66
# netmask 255.255.255.0
# broadcast 192.168.1.255
# up /sbin/iwpriv ath0 mode 3
# up /sbin/iwconfig ath0 essid "blabla" rate 54M key 14929429325878194789834632

# dhcp
iface ath0 inet dhcp
pre-up /sbin/iwpriv ath0 mode 3
pre-up /sbin/iwconfig ath0 essid "blabla" rate 54M key 14929429325878194789834632

3. Installation under NetBSD

Tested and documented: Hubert Feyrer


With NetBSD the setup is easier because the driver is already in the kernel provided that you use NetBSD 2.0 or higher.
The drivers default settings, the various modes, limitations etc. are equal to the Linux MadWifi driver due to the identical HAL.

Listing the modes can be done with

$ ifconfig -m ath0

To use the 5-GHz band, run

$ ifconfig ath0 ssid blabla media autoselect mode 11a

Enabling the turbo mode

$ ifconfig ath0 ssid blabla chan 58 media autoselect mode 11a mediaopt turbo"

The "countrycode" is adjustable with the following command:

sysctl -w hw.ath.countrycode=276

To configure the card automatically after a system boot add the following information to /etc/rc.conf, for instance :
...

#
# WaveLAN+Internet Config
# static
#ifconfig_ath0="10.0.0.1 netmask 255.255.0.0 ssid blabla chan 58 media autoselect mode 11a mediaopt turbo"

# dhcp
ifconfig_ath0="mode 11a nwkey 0x14929429325878194789834632 ssid fehu.org"
dhclient=YES
dhclient_flags="ath0"

...

Further information:
* ath(4) Manpage
* http://www.netbsd.org/Documentation/network/wavelan.html



4. Configuration of wpa_supplicant with WPA-PSK


Unfortunately at the moment WPA is only possible with Linux.
The next steps explain how to enable WPA-PSK authentication (WPA-Personal) with wpa_supplicant-0.3.8 .

First install libssl-dev, then download wpa_supplicant

cd /usr/src
$ wget http://hostap.epitest.fi/releases/wpa_supplicant-0.3.8.tar.gz

Now let's install the drivers. To compile them you have to create a .config in the same directory. Either edit defconfig and copy it to .config , or make a new file like me. I will show the content with "cat"

$ tar xvzf wpa_supplicant-0.3.8.tar.gz
$ cd wpa_supplicant-0.3.8
$ cat .config

CONFIG_DRIVER_MADWIFI=y
CFLAGS += -I/usr/src/madwifi
CONFIG_DRIVER_WEXT=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_TLS=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TTLS=y
CONFIG_EAP_GTC=y
CONFIG_EAP_OTP=y
CONFIG_EAP_LEAP=y
CONFIG_PKCS12=y
CONFIG_CTRL_IFACE=y

$ make && make install

Then you have to build a configuration-file for wpa_supplicant. Again either edit wpa_supplicant.conf and copy it to somewhere or make a new file. I called it wpa-fehu.conf and placed it in /etc. The content is

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
network={
ssid="fehu.org"
scan_ssid=1
priority=5
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
#psk="mysecretpassword"
psk=283fe364eb0ce1352c1831dee1ed08481eda8ba62583d6c6589a386cbd6957af
}

In "psk=" you have to insert your Pre-Shared-Key. To get this key wpa_supplicant provides a tool called "wpa_passphrase"

$ wpa_passphrase fehu.org mysecretpassword
network={
ssid="fehu.org"
#psk="mysecretpassword"
psk=283fe364eb0ce1352c1831dee1ed08481eda8ba62583d6c6589a386cbd6957af
}

Start wpa_supplicant. After a few seconds your card should be connected to your AP. The option "-d" is only necessary for debugging

$ wpa_supplicant -w -i ath0 -c /etc/wpa-fehu.conf -D madwifi -d

If you want automatical configuration at boot time, adapt /etc/network/interfaces

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# Wireless
auto ath0

# static
#iface ath0 inet static
# address 192.168.1.66
# netmask 255.255.255.0
# broadcast 192.168.1.255
# up /sbin/iwconfig ath0 rate 54M
# up /usr/local/sbin/wpa_supplicant -B -w -i ath0 -Dmadwifi -c /etc/wpa-fehu.conf

# dhcp
iface ath0 inet dhcp
pre-up /usr/local/sbin/wpa_supplicant -B -w -i ath0 -Dmadwifi -c /etc/wpa-fehu.conf
pre-up /sbin/iwconfig ath0 rate 54M


5. Further information


5.1 Wireless Applications

* http://apradar.sourceforge.net/ ApRadar
* http://www.janmorgenstern.de/projects-software.html Wavemon
* http://www.open1x.org/ Open Source Implementation of IEEE 802.1X
* http://www.simandl.cz/stranky/linux/wifimon/wifimon_a.htm wifimon
* http://airsnort.shmoo.com/ Airsnort
* http://www.kismetwireless.net/ Kismet
* http://sourceforge.net/projects/wmwave/ wmwave

5.2 Links

* http://www.mattfoster.clara.co.uk./madwifi-faq.htm Unofficial MadWifi-Faq
* http://sourceforge.net/projects/madwifi MadWifi Project Page
* http://sourceforge.net/mail/?group_id=82936 MadWifi Mailinglisten
* http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html Wireless Toolsy

5.3 Manpages

Linux:

NetBSD:

Friday, November 30, 2007

Linux Netfilter实现机制和扩展技术

Linux Netfilter实现机制和扩展技术

2.4.x的内核相对于2.2.x在IP协议栈部分有比较大的改动, Netfilter-iptables更是其一大特色,由于它功能强大,并且与内核完美结合,因此迅速成为Linux平台下进行网络应用扩展的主要利器, 这些扩展不仅包括防火墙的实现--这只是Netfilter-iptables的基本功能--还包括各种报文处理工作(如报文加密、报文分类统计等),甚 至还可以借助Netfilter-iptables机制来实现虚拟专用网(VPN)。本文将致力于深入剖析Netfilter-iptables的组织结 构,并详细介绍如何对其进行扩展。Netfilter目前已在ARP、IPv4和IPv6中实现,考虑到IPv4是目前网络应用的主流,本文仅就IPv4 的Netfilter实现进行分析。

要想理解Netfilter的工作原理,必须从对Linux IP报文处理流程的分析开始,Netfilter正是将自己紧密地构建在这一流程之中的。

1. IP Packet Flowing

IP 协议栈是Linux操作系统的主要组成部分,也是Linux的特色之一,素以高效稳定著称。Netfilter与IP协议栈是密切结合在一起的,要想理解 Netfilter的工作方式,必须理解IP协议栈是如何对报文进行处理的。下面将通过一个经由IP Tunnel传输的TCP报文的流动路径,简要介绍一下IPv4协议栈(IP层)的结构和报文处理过程。

IP Tunnel是2.0.x内核就已经提供了的虚拟局域网技术,它在内核中建立一个虚拟的网络设备,将正常的报文(第二层)封装在IP报文中,再通过TCP/IP网络进行传送。如果在网关之间建立IP Tunnel,并配合ARP报文的解析,就可以实现虚拟局域网。

我们从报文进入IP Tunnel设备准备发送开始。

1.1报文发送

ipip模块创建tunnel设备(设备名为tunl0~tunlx)时,设置报文发送接口(hard_start_xmit)为ipip_tunnel_xmit(),流程见下图:


图1 报文发送流程

1.2 报文接收

报文接收从网卡驱动程序开始,当网卡收到一个报文时,会产生一个中断,其驱动程序中的中断服务程序将调用确定的接收函数来处理。以下仍以IP Tunnel报文为例,网卡驱动程序为de4x5。流程分成两个阶段:驱动程序中断服务程序阶段和IP协议栈处理阶段,见下图:


图2 报文接收流程之驱动程序阶段


图3 报文接收流程之协议栈阶段

如果报文需要转发,则在上图红箭头所指处调用ip_forward():


图4 报文转发流程

从上面的流程可以看出,Netfilter以NF_HOOK()的形式出现在报文处理的过程之中。





回页首


2. Netfilter Frame

Netfilter 是2.4.x内核引入的,尽管它提供了对2.0.x内核中的ipfw以及2.2.x内核中的ipchains的兼容,但实际上它的工作和意义远不止于此。 从上面对IP报文的流程分析中可以看出,Netfilter和IP报文的处理是完全结合在一起的,同时由于其结构相对独立,又是可以完全剥离的。这种机制 也是Netfilter-iptables既高效又灵活的保证之一。

在剖析Netfilter机制之前,我们还是由浅入深的从Netfilter的使用开始。

2.1 编译

在Networking Options中选定Network packet filtering项,并将其下的IP:Netfilter Configurations小节的所有选项设为Module模式。编译并安装新内核,然后重启,系统的核内Netfilter就配置好了。以下对相关的 内核配置选项稍作解释,也可以参阅编译系统自带的Help:

【Kernel/User netlink socket】建立一类PF_NETLINK套接字族,用于核心与用户进程通信。当Netfilter需要使用用户队列来管理某些报文时就要使用这一机制;

【Network packet filtering (replaces ipchains)】Netfilter主选项,提供Netfilter框架;

【Network packet filtering debugging】Netfilter主选项的分支,支持更详细的Netfilter报告;

【IP: Netfilter Configuration】此节下是netfilter的各种选项的集合:

【Connection tracking (required for masq/NAT)】连接跟踪,用于基于连接的报文处理,比如NAT;

【IP tables support (required for filtering/masq/NAT)】这是Netfilter的框架,NAT等应用的容器;

【ipchains (2.2-style) support】ipchains机制的兼容代码,在新的Netfilter结构上实现了ipchains接口;

【ipfwadm (2.0-style) support】2.0内核防火墙ipfwadm兼容代码,基于新的Netfilter实现。

2.2 总体结构

Netfilter 是嵌入内核IP协议栈的一系列调用入口,设置在报文处理的路径上。网络报文按照来源和去向,可以分为三类:流入的、流经的和流出的,其中流入和流经的报文 需要经过路由才能区分,而流经和流出的报文则需要经过投递,此外,流经的报文还有一个FORWARD的过程,即从一个NIC转到另一个NIC。 Netfilter就是根据网络报文的流向,在以下几个点插入处理过程:

NF_IP_PRE_ROUTING,在报文作路由以前执行;

NF_IP_FORWARD,在报文转向另一个NIC以前执行;

NF_IP_POST_ROUTING,在报文流出以前执行;

NF_IP_LOCAL_IN,在流入本地的报文作路由以后执行;

NF_IP_LOCAL_OUT,在本地报文做流出路由前执行。

如图所示:


图5 Netfilter HOOK位置

Netfilter 框架为多种协议提供了一套类似的钩子(HOOK),用一个struct list_head nf_hooks[NPROTO][NF_MAX_HOOKS]二维数组结构存储,一维为协议族,二维为上面提到的各个调用入口。每个希望嵌入 Netfilter中的模块都可以为多个协议族的多个调用点注册多个钩子函数(HOOK),这些钩子函数将形成一条函数指针链,每次协议栈代码执行到 NF_HOOK()函数时(有多个时机),都会依次启动所有这些函数,处理参数所指定的协议栈内容。

每个注册的钩子函数经过处理后都将返回下列值之一,告知Netfilter核心代码处理结果,以便对报文采取相应的动作:

NF_ACCEPT:继续正常的报文处理;

NF_DROP:将报文丢弃;

NF_STOLEN:由钩子函数处理了该报文,不要再继续传送;

NF_QUEUE:将报文入队,通常交由用户程序处理;

NF_REPEAT:再次调用该钩子函数。

2.3 IPTables

Netfilter -iptables由两部分组成,一部分是Netfilter的"钩子",另一部分则是知道这些钩子函数如何工作的一套规则--这些规则存储在被称为 iptables的数据结构之中。钩子函数通过访问iptables来判断应该返回什么值给Netfilter框架。

在现有(kernel 2.4.21)中已内建了三个iptables:filter、nat和mangle,绝大部分报文处理功能都可以通过在这些内建(built-in)的表格中填入规则完成:

filter,该模块的功能是过滤报文,不作任何修改,或者接受,或者拒绝。它在NF_IP_LOCAL_IN、NF_IP_FORWARD和NF_IP_LOCAL_OUT三处注册了钩子函数,也就是说,所有报文都将经过filter模块的处理。

nat,网络地址转换(Network Address Translation),该模块以Connection Tracking模块为基础,仅对每个连接的第一个报文进行匹配和处理,然后交由Connection Tracking模块将处理结果应用到该连接之后的所有报文。nat在NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING注册了 钩子函数,如果需要,还可以在NF_IP_LOCAL_IN和NF_IP_LOCAL_OUT两处注册钩子,提供对本地报文(出/入)的地址转换。nat 仅对报文头的地址信息进行修改,而不修改报文内容,按所修改的部分,nat可分为源NAT(SNAT)和目的NAT(DNAT)两类,前者修改第一个报文 的源地址部分,而后者则修改第一个报文的目的地址部分。SNAT可用来实现IP伪装,而DNAT则是透明代理的实现基础。

mangle,属于可以进行报文内容修改的IP Tables,可供修改的报文内容包括MARK、TOS、TTL等,mangle表的操作函数嵌入在Netfilter的NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT两处。

内核编程人员还可以通过注入模块,调用Netfilter的接口函数创建新的iptables。在下面的Netfilter-iptables应用中我们将进一步接触Netfilter的结构和使用方式。

2.4 Netfilter配置工具

iptables是专门针对2.4.x内核的Netfilter制作的核外配置工具,通过socket接口对Netfilter进行操作,创建socket的方式如下:

socket(TC_AF, SOCK_RAW, IPPROTO_RAW)

其中TC_AF就是AF_INET。核外程序可以通过创建一个"原始IP套接字"获得访问Netfilter的句柄,然后通过getsockopt()和setsockopt()系统调用来读取、更改Netfilter设置,详情见下。

iptables功能强大,可以对核内的表进行操作,这些操作主要指对其中规则链的添加、修改、清除,它的命令行参数主要 可分为四类:指定所操作的IP Tables(-t);指定对该表所进行的操作(-A、-D等);规则描述和匹配;对iptables命令本身的指令(-n等)。在下面的例子中,我们通 过iptables将访问10.0.0.1的53端口(DNS)的TCP连接引导到192.168.0.1地址上。

iptables -t nat -A PREROUTING -p TCP -i eth0 -d 10.0.0.1 --dport 53 -j DNAT --to-destination 192.168.0.1

由于iptables是操作核内Netfilter的用户界面,有时也把Netfilter-iptables简称为iptables,以便与ipchains、ipfwadm等老版本的防火墙并列。

2.5 iptables核心数据结构

2.5.1 表

在Linux内核里,iptables用struct ipt_table表示,定义如下(include/linux/netfilter_ipv4/ip_tables.h):

struct ipt_table
{
struct list_head list;
/* 表链 */
char name[IPT_TABLE_MAXNAMELEN];
/* 表名,如"filter"、"nat"等,为了满足自动模块加载的设计,包含该表的模块应命名为iptable_'name'.o */
struct ipt_replace *table;
/* 表模子,初始为initial_table.repl */
unsigned int valid_hooks;
/* 位向量,标示本表所影响的HOOK */
rwlock_t lock;
/* 读写锁,初始为打开状态 */
struct ipt_table_info *private;
/* iptable的数据区,见下 */
struct module *me;
/* 是否在模块中定义 */
};
struct ipt_table_info是实际描述表的数据结构(net/ipv4/netfilter/ip_tables.c):
struct ipt_table_info
{
unsigned int size;
/* 表大小 */
unsigned int number;
/* 表中的规则数 */
unsigned int initial_entries;
/* 初始的规则数,用于模块计数 */
unsigned int hook_entry[NF_IP_NUMHOOKS];
/* 记录所影响的HOOK的规则入口相对于下面的entries变量的偏移量 */
unsigned int underflow[NF_IP_NUMHOOKS];
/* 与hook_entry相对应的规则表上限偏移量,当无规则录入时,相应的hook_entry和underflow均为0 */
char entries[0] ____cacheline_aligned;
/* 规则表入口 */
};

例如内建的filter表初始定义如下(net/ipv4/netfilter/iptable_filter.c):

static struct ipt_table packet_filter
= { { NULL, NULL }, // 链表
"filter", // 表名
&initial_table.repl, // 初始的表模板
FILTER_VALID_HOOKS,// 定义为((1 << NF_IP6_LOCAL_IN) | (1 << NF_IP6_FORWARD) | (1 << NF_IP6_LOCAL_OUT)),
即关心INPUT、FORWARD、OUTPUT三点
RW_LOCK_UNLOCKED,// 锁
NULL, // 初始的表数据为空
THIS_MODULE // 模块标示
};

经过调用ipt_register_table(&packet_filter)后,filter表的private数据区即参照模板填好了。

2.5.2 规则

规则用struct ipt_entry结构表示,包含匹配用的IP头部分、一个Target和0个或多个Match。由于Match数不定,所以一条规则实际的占用空间是可变的。结构定义如下(include/linux/netfilter_ipv4):

struct ipt_entry
{
struct ipt_ip ip;
/* 所要匹配的报文的IP头信息 */
unsigned int nfcache;
/* 位向量,标示本规则关心报文的什么部分,暂未使用 */
u_int16_t target_offset;
/* target区的偏移,通常target区位于match区之后,而match区则在ipt_entry的末尾;
初始化为sizeof(struct ipt_entry),即假定没有match */
u_int16_t next_offset;
/* 下一条规则相对于本规则的偏移,也即本规则所用空间的总和,
初始化为sizeof(struct ipt_entry)+sizeof(struct ipt_target),即没有match */
unsigned int comefrom;
/* 位向量,标记调用本规则的HOOK号,可用于检查规则的有效性 */
struct ipt_counters counters;
/* 记录该规则处理过的报文数和报文总字节数 */
unsigned char elems[0];
/*target或者是match的起始位置 */
}

规则按照所关注的HOOK点,被放置在struct ipt_table::private->entries之后的区域,比邻排列。

2.5.3 规则填写过程

在了解了iptables在核心中的数据结构之后,我们再通过遍历一次用户通过iptables配置程序填写规则的过程,来了解这些数据结构是如何工作的了。

一个最简单的规则可以描述为拒绝所有转发报文,用iptables命令表示就是:

iptables -A FORWARD -j DROP;

iptables应用程序将命令行输入转换为程序可 读的格式(iptables-standalone.c::main()::do_command(),然后再调用libiptc库提供的 iptc_commit()函数向核心提交该操作请求。在libiptc/libiptc.c中定义了iptc_commit()(即TC_COMMIT ()),它根据请求设置了一个struct ipt_replace结构,用来描述规则所涉及的表(filter)和HOOK点(FORWARD)等信息,并在其后附接当前这条规则--一个 struct ipt_entry结构(实际上也可以是多个规则entry)。组织好这些数据后,iptc_commit()调用setsockopt()系统调用来启 动核心处理这一请求:

setsockopt(
sockfd, //通过socket(TC_AF, SOCK_RAW, IPPROTO_RAW)创建的套接字,其中TC_AF即AF_INET
TC_IPPROTO, //即IPPROTO_IP
SO_SET_REPLACE, //即IPT_SO_SET_REPLACE
repl, //struct ipt_replace结构
sizeof(*repl) + (*handle)->entries.size) //ipt_replace加上后面的ipt_entry

核心对于setsockopt()的处理是从协议栈中一层层传递上来的,调用过程如下图所示:


图6 规则填写过程

nf_sockopts 是在iptables进行初始化时通过nf_register_sockopt()函数生成的一个struct nf_sockopt_ops结构,对于ipv4来说,在net/ipv4/netfilter/ip_tables.c中定义了一个 ipt_sockopts变量(struct nf_sockopt_ops),其中的set操作指定为do_ipt_set_ctl(),因此,当nf_sockopt()调用对应的set操作时, 控制将转入net/ipv4/netfilter/ip_tables.c::do_ipt_set_ctl()中。

对于IPT_SO_SET_REPLACE命令,do_ipt_set_ctl()调用do_replace()来处 理,该函数将用户层传入的struct ipt_replace和struct ipt_entry组织到filter(根据struct ipt_replace::name项)表的hook_entry[NF_IP_FORWARD]所指向的区域,如果是添加规则,结果将是filter表 的private(struct ipt_table_info)项的hook_entry[NF_IP_FORWARD]和underflow[NF_IP_FORWARD]的差值扩大 (用于容纳该规则),private->number加1。

2.5.4 规则应用过程

以上描述 了规则注入核内iptables的过程,这些规则都挂接在各自的表的相应HOOK入口处,当报文流经该HOOK时进行匹配,对于与规则匹配成功的报文,调 用规则对应的Target来处理。仍以转发的报文为例,假定filter表中添加了如上所述的规则:拒绝所有转发报文。

如1.2节所示,经由本地转发的报文经过路由以后将调用ip_forward()来处理,在ip_forward()返回前,将调用如下代码:

NF_HOOK(PF_INET, NF_IP_FORWARD, skb, skb->dev, dev2, ip_forward_finish)
NF_HOOK是这样一个宏(include/linux/netfilter.h):
#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \
(list_empty(&nf_hooks[(pf)][(hook)]) \
? (okfn)(skb) \
: nf_hook_slow((pf), (hook), (skb), (indev), (outdev), (okfn)))

也就是说,如果nf_hooks[PF_INET] [NF_IP_FORWARD]所指向的链表为空(即该钩子上没有挂处理函数),则直接调用ip_forward_finish(skb)完成 ip_forward()的操作;否则,则调用net/core/netfilter.c::nf_hook_slow()转入Netfilter的处 理。

这里引入了一个nf_hooks链表二维数组:

struct list_head nf_hooks[NPROTO][NF_MAX_HOOKS];

每一个希望使用Netfilter挂钩的表都需要将 表处理函数在nf_hooks数组的相应链表上进行注册。对于filter表来说,在其初始化 (net/ipv4/netfilter/iptable_filter.c::init())时,调用了net/core/netfilter.c:: nf_register_hook(),将预定义的三个struct nf_hook_ops结构(分别对应INPUT、FORWARD、OUTPUT链)连入链表中:

struct nf_hook_ops
{
struct list_head list;
//链表
nf_hookfn *hook;
//处理函数指针
int pf;
//协议号
int hooknum;
//HOOK号
int priority;
//优先级,在nf_hooks链表中各处理函数按优先级排序
};

对于filter表来说,FORWARD点的 hook设置成ipt_hook(),它将直接调用ipt_do_table()。几乎所有处理函数最终都将调用ipt_do_table()来查询表中 的规则,以调用对应的target。下图所示即为在FORWARD点上调用nf_hook_slow()的过程:


图7 规则应用流程

2.5.5 Netfilter的结构特点

由 上可见,nf_hooks链表数组是联系报文处理流程和iptables的纽带,在iptables初始化(各自的init()函数)时,一方面调用 nf_register_table()建立规则容器,另一方面还要调用nf_register_hook()将自己的挂钩愿望表达给Netfilter 框架。初始化完成之后,用户只需要通过用户级的iptables命令操作规则容器(添加规则、删除规则、修改规则等),而对规则的使用则完全不用操心。如 果一个容器内没有规则,或者nf_hooks上没有需要表达的愿望,则报文处理照常进行,丝毫不受Netfilter-iptables的影响;即使报文 经过了过滤规则的处理,它也会如同平时一样重新回到报文处理流程上来,因此从宏观上看,就像在行车过程中去了一趟加油站。

Netfilter不仅仅有此高效的设计,同时还具备很大的灵活性,这主要表现在Netfilter-iptables 中的很多部分都是可扩充的,包括Table、Match、Target以及Connection Track Protocol Helper,下面一节将介绍这方面的内容。





回页首


3. Netfilter-iptables Extensions

Netfilter 提供的是一套HOOK框架,其优势是就是易于扩充。可供扩充的Netfilter构件主要包括Table、Match、Target和 Connection Track Protocol Helper四类,分别对应四套扩展函数。所有扩展都包括核内、核外两个部分,核内部分置于 /net/ipv4/netfilter/下,模块名为ipt_'name'.o;核外部分置于 /extensions/下,动态链接库名为libipt_'name'.so。

3.1 Table

Table 在以上章节中已经做过介绍了,它作为规则存储的媒介,决定了该规则何时能起作用。系统提供的filter、nat、mangle涵盖了所有的HOOK点, 因此,大部分应用都可以围绕这三个已存在的表进行,但也允许编程者定义自己的拥有特殊目的的表,这时需要参考已有表的struct ipt_table定义创建新的ipt_table数据结构,然后调用ipt_register_table()注册该新表,并调用 ipt_register_hook()将新表与Netfilter HOOK相关联。

对表进行扩展的情形并不多见,因此这里也不详述。

3.2 Match & Target

Match和Target是Netfilter-iptables中最常使用的功能,灵活使用Match和Target,可以完成绝大多数报文处理功能。

3.2.1 Match数据结构

核心用struct ipt_match表征一个Match数据结构:

struct ipt_match
{
struct list_head list;
/* 通常初始化成{NULL,NULL},由核心使用 */
const char name[IPT_FUNCTION_MAXNAMELEN];
/* Match的名字,同时也要求包含该Match的模块文件名为ipt_'name'.o */
int (*match)(const struct sk_buff *skb,
const struct net_device *in,
const struct net_device *out,
const void *matchinfo,
int offset,
const void *hdr,
u_int16_t datalen,
int *hotdrop);
/* 返回非0表示匹配成功,如果返回0且hotdrop设为1,则表示该报文应当立刻丢弃 */
int (*checkentry)(const char *tablename,
const struct ipt_ip *ip,
void *matchinfo,
unsigned int matchinfosize,
unsigned int hook_mask);
/* 在使用本Match的规则注入表中之前调用,进行有效性检查,如果返回0,规则就不会加入iptables中 */
void (*destroy)(void *matchinfo, unsigned int matchinfosize);
/* 在包含本Match的规则从表中删除时调用,与checkentry配合可用于动态内存分配和释放 */
struct module *me;
/* 表示当前Match是否为模块(NULL为否) */
};

定义好一个ipt_match结构后,可调用ipt_register_match()将本Match注册到ipt_match链表中备用,在模块方式下,该函数通常在init_module()中执行。

3.2.2 Match的用户级设置

要使用核心定义的Match(包括已有的和自定义的),必须在用户级的iptables程序中有所说明,iptables源代码也提供了已知的核心Match,但未知的Match则需要自行添加说明。

在iptables中,一个Match用struct iptables_match表示:

struct iptables_match
{
struct iptables_match *next;
/* Match链,初始为NULL */
ipt_chainlabel name;
/* Match名,和核心模块加载类似,作为动态链接库存在的Iptables Extension的命名规则为libipt_'name'.so
(对于ipv6为libip6t_'name'.so),
以便于iptables主程序根据Match名加载相应的动态链接库 */
const char *version;
/* 版本信息,一般设为NETFILTER_VERSION */
size_t size;
/* Match数据的大小,必须用IPT_ALIGN()宏指定对界 */
size_t userspacesize;
/*由于内核可能修改某些域,因此size可能与确切的用户数据不同,这时就应该把不会被改变的数据放在数据区的前面部分,
而这里就应该填写被改变的数据区大小;一般来说,这个值和size相同 */
void (*help)(void);
/* 当iptables要求显示当前match的信息时(比如iptables -m ip_ext -h),就会调用这个函数,
输出在iptables程序的通用信息之后 */
void (*init)(struct ipt_entry_match *m, unsigned int *nfcache);
/* 初始化,在parse之前调用 */
int (*parse)(int c, char **argv, int invert, unsigned int *flags,
const struct ipt_entry *entry,
unsigned int *nfcache,
struct ipt_entry_match **match);
/* 扫描并接收本match的命令行参数,正确接收时返回非0,flags用于保存状态信息 */
void (*final_check)(unsigned int flags);
/* 当命令行参数全部处理完毕以后调用,如果不正确,应该退出(exit_error()) */
void (*print)(const struct ipt_ip *ip,
const struct ipt_entry_match *match, int numeric);
/* 当查询当前表中的规则时,显示使用了当前match的规则的额外的信息 */
void (*save)(const struct ipt_ip *ip,
const struct ipt_entry_match *match);
/* 按照parse允许的格式将本match的命令行参数输出到标准输出,用于iptables-save命令 */
const struct option *extra_opts;
/* NULL结尾的参数列表,struct option与getopt(3)使用的结构相同 */
/* 以下参数由iptables内部使用,用户不用关心 */
unsigned int option_offset;
struct ipt_entry_match *m;
unsigned int mflags;
unsigned int used;
}
struct option {
const char *name;
/* 参数名称,用于匹配命令行输入 */
int has_arg;
/* 本参数项是否允许带参数,0表示没有,1表示有,2表示可有可无 */
int *flag;
/* 指定返回的参数值内容,如果为NULL,则直接返回下面的val值,否则返回0,val存于flag所指向的位置 */
int val;
/* 缺省的参数值 */
}

如对于--opt 参数来讲,在struct option中定义为{"opt",1,0,'1'},表示opt带参数值,如果出现-opt 参数,则返回'1'用于parse()中的int c参数。

实际使用时,各个函数都可以为空,只要保证name项与核心的对应Match名字相同就可以了。在定义了 iptables_match之后,可以调用register_match()让iptables主体识别这个新Match。当iptables命令中第 一次指定使用名为ip_ext的Match时,iptables主程序会自动加载libipt_ip_ext.so,并执行其中的_init()接口,所 以register_match()操作应该放在_init()中执行。

3.2.3 Target数据结构

Target数据结构struct ipt_target和struct ipt_match基本相同,不同之处只是用target函数指针代替match函数指针:

struct ipt_target
{
……
unsigned int (*target)(struct sk_buff **pskb,
unsigned int hooknum,
const struct net_device *in,
const struct net_device *out,
const void *targinfo,
void *userdata);
/* 如果需要继续处理则返回IPT_CONTINUE(-1),否则返回NF_ACCEPT、NF_DROP等值,它的调用者根据它的返回值来判断如何处理它处理过的报文*/
……
}

与ipt_register_match()对应,Target使用ipt_register_target()来进行注册,但文件命名、使用方法等均与Match相同。

3.2.4 Target的用户级设置

Target的用户级设置使用struct iptables_target结构,与struct iptables_match完全相同。register_target()用于注册新Target,方法也与Match相同。

3.3 Connection Track Protocol Helper

前 面提到,NAT仅对一个连接(TCP或UDP)的第一个报文进行处理,之后就依靠Connection Track机制来完成对后续报文的处理。Connection Track是一套可以和NAT配合使用的机制,用于在传输层(甚至应用层)处理与更高层协议相关的动作。

关于Connection Track,Netfilter中的实现比较复杂,而且实际应用频率不高,因此这里就不展开了,以后专文介绍。

3.4 iptables patch机制

对于Netfilter-iptables扩展工作,用户当然可以直接修改源代码并编译安装,但为了标准化和简便起见,在iptables源码包提供了一套patch机制,希望用户按照其格式要求进行扩展,而不必分别修改内核和iptables代码。

和Netfilter-iptables的结构特点相适应,对iptables进行扩展也需要同时修改内核和 iptables程序代码,因此patch也分为两个部分。在iptables-1.2.8中,核内补丁由patch-o-matic包提供, iptables-1.2.8的源码中的extensions目录则为iptables程序本身的补丁。

patch-o-matic提供了一个'runme'脚本来给核心打patch,按照它的规范,核内补丁应该包括五个部分,且命名有一定的规范,例如,如果Target名为ip_ext,那么这五个部分的文件名和功能分别为:

  • ip_ext.patch
    主文件,内容为diff格式的核心.c、.h源文件补丁,实际使用时类似给内核打patch(patch -p0
  • ip_ext.patch.config.in
    对<>/net/ipv4/netfilter/Config.in文件的修改,第一行是原Config.in中的一行,以指示 补丁添加的位置,后面则是添加在以上匹配行之后的内容。这个补丁的作用是使核心的配置界面中支持新增加的补丁选项;
  • ip_ext.patch.configure.help
    /Documentation/Configure.help的修改,第一行为原Configure.help中的一行帮助索引,以下几行的内容添加在这一行相关的帮助之后。这个补丁的作用是补充内核配置时对新增加的选项的说明;
  • ip_ext.patch.help
    用于runme脚本显示本patch的帮助信息;
  • ip_ext.patch.makefile
  • /net/ipv4/netfilter/Makefile的修改,和前两个文件的格式相同,用于在指定的位置上添加用于生成ipt_ip_ext.o的make指令。

示例可以参看patch-o-matic下的源文件。

iptables本身的扩展稍微简单一些,那就是在extensions目录下增加一个libipt_ip_ext.c的文件,然后在本子目录的Makefile的PF_EXT_SLIB宏中附加一个ip_ext字符串。

第一次安装时,可以在iptables的根目录下运行make pending-patches命令,此命令会自动调用runme脚本,将所有patch-o-matic下的patch文件打到内核中,之后需要重新配置和编译内核。

如果只需要安装所要求的patch,可以在patch-o-matic目录下直接运行runme ip_ext,它会完成ip_ext patch的安装。之后,仍然要重编内核以使patch生效。

iptables本身的make/make install过程可以编译并安装好libipt_ip_ext.so,之后,新的iptables命令就可以通过加载libipt_ip_ext.so来识别ip_ext target了。

Extensions还可以定义头文件,一般这个头文件核内核外都要用,因此,通常将其放置在/include/linux/netfilter_ipv4/目录下,在.c文件里指定头文件目录为 linux/netfilter_ipv4/。

灵活性是Netfilter-iptables机制的一大特色,因此,扩展Netfilter-iptables也是它的应用的关键。为了与此目标相适应,Netfilter-iptables在结构上便于扩展,同时也提供了一套扩展的方案,并有大量扩展样例可供参考。





回页首


4. 案例:用Netfilter实现VPN

虚拟专用网的关键就是隧道(Tunnel)技术,即将报文封装起来通过公用网络。利用Netfilter-iptables对报文的强大处理能力,完全可以以最小的开发成本实现一个高可配置的VPN。

本文第一部分即描述了IP Tunnel技术中报文的流动过程,从中可见,IP Tunnel技术的特殊之处有两点:

  • 一个特殊的网络设备tunl0~tunlx--发送时,用指定路由的办法将需要封装的内网报文交给该网络设备来处理,在"网卡驱动程序"中作封装,然后再作为正常的IP报文交给真正的网络设备发送出去;
  • 一个特殊的IP层协议IPIP--从外网传来的封装报文拥有一个特殊的协议号(IPIP),报文最终在该协议的处理程序(ipip_rcv())中解封,恢复内网IP头后,将报文注入IP协议栈底层(netif_rx())重新开始收包流程。

从中不难看出,在报文流出tunlx设备之后(即完成封装之后)需要经过OUTPUT的 Netfilter HOOK点,而在报文解封之前(ipip_rcv()得到报文之前),也要经过Netfilter的INPUT HOOK点,因此,完全有可能在这两个HOOK上做文章,完成报文的封装和解封过程。报文的接收过程可以直接沿用IPIP的处理方法,即自定义一个专门的 协议,问题的关键即在于如何获得需要封装的外发报文,从而与正常的非VPN报文相区别。我们的做法是利用Netfilter-iptables对IP头信 息的敏感程度,在内网中使用标准的内网专用IP段(如192.168.xxx.xxx),从而通过IP地址将其区分开。基于IP地址的VPN配置既方便现 有系统管理、又便于今后VPN系统升级后的扩充,而且可以结合Netfilter-iptables的防火墙设置,将VPN和防火墙有机地结合起来,共同 维护一个安全的专用网络。

在我们的方案中,VPN采用LAN-LAN方式(当然,Dial-in方式在技术上并没有什么区别),在LAN网关处设 置我们的VPN管理组件,从而构成一个安全网关。LAN内部的节点既可以正常访问防火墙限制以外非敏感的外网(如Internet的大部分站点),又可以 通过安全网关的甄别,利用VPN访问其他的专用网LAN。

由于本应用与原有的三个表在功能和所关心的HOOK点上有所不同,因此我们仿照filter表新建了一个vpn表,VPN功能分布在以下四个部分中:

  • iptables ENCRYPT Target:对于发往安全子网的报文,要求经过ENCRYPT target处理,加密原报文,产生认证码,并将报文封装在公网IPIP_EXT报文头中。ENCRYPT Target配置在vpn表的OUTPUT和FORWARD HOOK点上,根据目的方IP地址来区分是否需要经过ENCRYPT target加密处理。
  • IPIP_EXT协议:在接收该协议报文的处理函数IPIP_EXT_rcv()中用安全子网的IP地址信息代替公网间传输的隧道报文头中的IP地址,然后重新注入IP协议栈底层。
  • iptables IPIP_EXT Match:匹配报文头的协议标识是否为自定义的IPIP_EXT。经过IPIP_EXT_rcv()处理之后的报文必须是IPIP_EXT协议类型的,否则应丢弃。
  • iptables DECRYPT Target:对于接收到的来自安全子网的报文,经过IPIP_EXT协议处理之后,将IP头恢复为安全子网之间通信的IP头,再进入DECRYPT target处理,对报文进行完全解密和解封。

整个报文传输的流程可以用下图表示:


图8 VPN报文流动过程

对于外出报文(源于本地或内网),使用内部地址在FORWARD/OUTPUT点匹配成功,执行ENCRYPT,从Netfilter中返回后作为本地IPIP_EXT协议的报文继续往外发送。

对于接收到的报文,如果协议号为IPPROTO_IPIP_EXT,则匹配IPIP_EXT的Match成功,否则将在 INPUT点被丢弃;继续传送的报文从IP层传给IPIP_EXT的协议处理代码接收,在其中恢复内网IP的报文头后调用netif_rx()重新流入协 议栈。此时的报文将在INPUT/FORWARD点匹配规则,并执行DECRYPT,只有通过了DECRYPT的报文才能继续传送到本机的上层协议或者内 网。

附:iptables设置指令(样例):

iptables -t vpn -P FORWARD DROP
iptables -t vpn -A OUTPUT -d 192.168.0.0/24 -j ENCRYPT
iptables -t vpn -A INPUT -s 192.168.0.0/24 -m ipip_ah -j DECRYPT
iptables -t vpn -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0 -j DECRYPT
iptables -t vpn -A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ENCRYPT

其中192.168.0.0/24是目的子网,192.168.1.0/24是本地子网



参考资料

  • [Linus Torvalds,2003] Linux内核源码v2.4.21

  • [Paul Russell,2002] Linux netfilter Hacking HOWTO v1.2

  • [Paul Russell,2002] iptables源码v1.2.1a

  • [Paul Russell,2000] LinuxWorld: San Jose August 2000,Netfilter Tutorial

  • [Oskar Andreasson,2001] iptables Tutorial 1.0.9

如何发掘出更多退休的钱?

如何发掘出更多退休的钱? http://bbs.wenxuecity.com/bbs/tzlc/1328415.html 按照常规的说法,退休的收入必须得有退休前的80%,或者是4% withdrawal rule,而且每年还得要加2-3%对付通胀,这是一个很大...