﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-chj-frodo</title><link>http://www.cppblog.com/chj-frodo/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 19:10:28 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 19:10:28 GMT</pubDate><ttl>60</ttl><item><title>Sample OpenVPN 2.0 config file 配置文件的简单翻译</title><link>http://www.cppblog.com/chj-frodo/archive/2008/10/29/65456.html</link><dc:creator>frodo</dc:creator><author>frodo</author><pubDate>Wed, 29 Oct 2008 08:21:00 GMT</pubDate><guid>http://www.cppblog.com/chj-frodo/archive/2008/10/29/65456.html</guid><wfw:comment>http://www.cppblog.com/chj-frodo/comments/65456.html</wfw:comment><comments>http://www.cppblog.com/chj-frodo/archive/2008/10/29/65456.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chj-frodo/comments/commentRss/65456.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chj-frodo/services/trackbacks/65456.html</trackback:ping><description><![CDATA[<p>#################################################<br># Sample OpenVPN 2.0 config file for&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># multi-client server.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># This file is for the server side&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># of a many-clients &lt;-&gt; one-server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># OpenVPN configuration.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># OpenVPN also supports&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># single-machine &lt;-&gt; single-machine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># configurations (See the Examples page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># on the web site for more info).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># This config should work on Windows&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># or Linux/BSD systems.&nbsp; Remember on&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># Windows to quote pathnames and use&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># double backslashes, e.g.:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># "C:\\Program Files\\OpenVPN\\config\\foo.key" #<br>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br># Comments are preceded with '#' or ';'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>#################################################</p>
<p># 哪一个本地地址将要被OpenVPN进行监听<br># Which local IP address should OpenVPN<br># listen on? (optional)<br>;local a.b.c.d</p>
<p># OpenVPN将要监听哪一个TCP/UDP端口<br># Which TCP/UDP port should OpenVPN listen on?<br># If you want to run multiple OpenVPN instances<br># on the same machine, use a different port<br># number for each one.&nbsp; You will need to<br># open up this port on your firewall.<br>port 1194</p>
<p># 使用TCP或者UDP<br># TCP or UDP server?<br>;proto tcp<br>proto udp</p>
<p># &#8220;dev tun&#8221;将建立一个路由IP通道<br># &#8220;dev tap&#8221;将建立一个以太网通道。<br>#&nbsp; 如果你用了以太桥接并且预先建立了一个tap0的虚拟<br># 接口，并且把它和你的以太接口进行了桥接，那么使用 "dev tap0"<br># 如果你想控制在VPN上的访问策略，那么你必须要为TUN/TAP接口<br># 建立防火墙策略。 <br># 在非window系统上，你可以指定一个显式的单元数字，比如tun0。<br># 在windows系统上，使用"dev-node"<br># 在绝大多数的系统，在你部分或者全部将针对TUN/TAP接口的防火墙<br># 禁止以前，VPN将不会工作。<br>#<br># "dev tun" will create a routed IP tunnel,<br># "dev tap" will create an ethernet tunnel.<br># Use "dev tap0" if you are ethernet bridging<br># and have precreated a tap0 virtual interface<br># and bridged it with your ethernet interface.<br># If you want to control access policies<br># over the VPN, you must create firewall<br># rules for the the TUN/TAP interface.<br># On non-Windows systems, you can give<br># an explicit unit number, such as tun0.<br># On Windows, use "dev-node" for this.<br># On most systems, the VPN will not function<br># unless you partially or fully disable<br># the firewall for the TUN/TAP interface.<br>;dev tap<br>dev tun</p>
<p># 如果你有超过一个的TAP适配器，那么Windows<br># 需要通过网络控制面板得到TAP-Win32适配器名字。<br># 在XP SP2或者更高版本，你可能需要禁止在TAP适配器<br># 上的Windows防火墙。 非windows系统通常不需要这么做。<br>#<br># Windows needs the TAP-Win32 adapter name<br># from the Network Connections panel if you<br># have more than one.&nbsp; On XP SP2 or higher,<br># you may need to selectively disable the<br># Windows firewall for the TAP adapter.<br># Non-Windows systems usually don't need this.<br>;dev-node MyTap</p>
<p># SSL/TLS根证书（ca），证书(cert)，私钥(key)。<br># 每一个客户和服务器必须有他们自己的证书和私钥<br># 服务器和所有的客户端必须要使用同样的根证书。<br>#<br># 在"easy-rsa" 目录可以看到产生RSA证书和私钥的<br># 的脚本。记住对每一个客户和服务器使用一个唯一的<br># 名称(Common Name)<br>#<br># 任意的X509 密钥管理系统都可以使用。OpenVPN也<br># 能够使用一个PKCS #12格式的密钥文件（可以在man<br># 页面参考# "pkcs12" 命令）<br>#<br># SSL/TLS root certificate (ca), certificate<br># (cert), and private key (key).&nbsp; Each client<br># and the server must have their own cert and<br># key file.&nbsp; The server and all clients will<br># use the same ca file.<br>#<br># See the "easy-rsa" directory for a series<br># of scripts for generating RSA certificates<br># and private keys.&nbsp; Remember to use<br># a unique Common Name for the server<br># and each of the client certificates.<br>#<br># Any X509 key management system can be used.<br># OpenVPN can also use a PKCS #12 formatted key file<br># (see "pkcs12" directive in man page).<br>ca ca.crt<br>cert server.crt<br>key server.key&nbsp; # This file should be kept secret</p>
<p><br># Diffie hellman参数<br># 使用如下命令产生你自己的:<br># openssl dhparam -out dh1024.pem 1024<br># 如果你要使用2048位密钥，那么将命令中的1024替换为2048<br>#<br># Diffie hellman parameters.<br># Generate your own with:<br>#&nbsp;&nbsp; openssl dhparam -out dh1024.pem 1024<br># Substitute 2048 for 1024 if you are using<br># 2048 bit keys. <br>dh dh1024.pem</p>
<p><br># 配置服务模式，并且提供要将提供给客户地址的一个VPN的<br># 子网。这个服务器本身将要使用 10.8.0.1地址。客户将使用<br># 其余的地址。每一个客户将可以通过&nbsp; 10.8.0.1 到达服务器。<br># 如果是你在使用以太网的桥接模式，请将此行注释。<br>#<br># Configure server mode and supply a VPN subnet<br># for OpenVPN to draw client addresses from.<br># The server will take 10.8.0.1 for itself,<br># the rest will be made available to clients.<br># Each client will be able to reach the server<br># on 10.8.0.1. Comment this line out if you are<br># ethernet bridging. See the man page for more info.<br>server 10.8.0.0 255.255.255.0</p>
<p><br># 在这个文件里面维护一个client 到 虚ip的关联。<br># 如果OpenVPN进程推出或者重新启动，那么重新连接的<br># 客户将被分配到与上次分配的地址一样的虚IP地址上。<br>#<br># Maintain a record of client &lt;-&gt; virtual IP address<br># associations in this file.&nbsp; If OpenVPN goes down or<br># is restarted, reconnecting clients can be assigned<br># the same virtual IP address from the pool that was<br># previously assigned.<br>ifconfig-pool-persist ipp.txt</p>
<p><br># 为&#8220;以太桥接&#8221;配置服务器模式。<br># 你必须首先使用操作系统的桥接功能来把TAP接口和以太<br># 网卡（NIC）接口桥接起来。 然后你必须在桥接接口上<br># 手动的设置IP/子网掩码，在这里我们假设为10.8.0.4/255.255.255.0<br># 最后，我们必须设定一个IP地址范围(start=10.8.0.50 end=10.8.0.100)<br># 分配给 将要连接的客户。<br># 除非你使用了以太桥接模式，否则将这一行注释保留。<br>#<br># Configure server mode for ethernet bridging.<br># You must first use your OS's bridging capability<br># to bridge the TAP interface with the ethernet<br># NIC interface.&nbsp; Then you must manually set the<br># IP/netmask on the bridge interface, here we<br># assume 10.8.0.4/255.255.255.0.&nbsp; Finally we<br># must set aside an IP range in this subnet<br># (start=10.8.0.50 end=10.8.0.100) to allocate<br># to connecting clients.&nbsp; Leave this line commented<br># out unless you are ethernet bridging.<br>;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100</p>
<p># 将路由Push给客户，以便允许客户可以访问在这个服务器后的<br># 私有子网。记住：这些私有子网也同样需要知道将OpenVPN的客户<br># 地址 (10.8.0.0/255.255.255.0)路由回OpenVPN服务器。<br>#<br># Push routes to the client to allow it<br># to reach other private subnets behind<br># the server.&nbsp; Remember that these<br># private subnets will also need<br># to know to route the OpenVPN client<br># address pool (10.8.0.0/255.255.255.0)<br># back to the OpenVPN server.<br>;push "route 192.168.10.0 255.255.255.0"<br>;push "route 192.168.20.0 255.255.255.0"</p>
<p><br># 要把分配一个特定的IP地址给一个特定的客户 或者<br># 如果一个连接的客户有一个私有的子网，并且这个子网也需要<br># 进行VPN的访问， 那么使用ccd目录作为存放 特定客户配置文件的目录。<br># To assign specific IP addresses to specific<br># clients or if a connecting client has a private<br># subnet behind it that should also have VPN access,<br># use the subdirectory "ccd" for client-specific<br># configuration files (see man page for more info).</p>
<p><br># 例如： 假设一个证书common name为"Thelonious"的客户<br># 在他连接VPN的机器上还有诸如&#8220;192.168.40.128/255.255.255.248&#8221;<br># 的一个小的子网<br># 第一步： 将下面的这些注释去除<br>;client-config-dir ccd<br>;route 192.168.40.128 255.255.255.248<br># 然后建立一个文件内容包含下面这行的 ccd/Thelonious文件<br>#&nbsp;&nbsp; iroute 192.168.40.128 255.255.255.248<br># 这将允许Thelonious的私有子网访问VPN。这个例子将仅仅在<br># 你在routing模式，而不是bridging模式下工作，比如你正在<br># 使用&#8220;dev tun&#8221; 和&#8220;server&#8221; 命令<br># <br># EXAMPLE: Suppose the client<br># having the certificate common name "Thelonious"<br># also has a small subnet behind his connecting<br># machine, such as 192.168.40.128/255.255.255.248.<br># First, uncomment out these lines:<br>;client-config-dir ccd<br>;route 192.168.40.128 255.255.255.248<br># Then create a file ccd/Thelonious with this line:<br>#&nbsp;&nbsp; iroute 192.168.40.128 255.255.255.248<br># This will allow Thelonious' private subnet to<br># access the VPN.&nbsp; This example will only work<br># if you are routing, not bridging, i.e. you are<br># using "dev tun" and "server" directives.</p>
<p><br>#例如：如何给一个客户每次分配一个固定的IP的地址<br># EXAMPLE: Suppose you want to give<br># Thelonious a fixed VPN IP address of 10.9.0.1.<br># First uncomment out these lines:<br>;client-config-dir ccd<br>;route 10.9.0.0 255.255.255.252<br># Then add this line to ccd/Thelonious:<br>#&nbsp;&nbsp; ifconfig-push 10.9.0.1 10.9.0.2</p>
<p># 假设你想为不同的组或者客户制定不同的防火墙策略<br># Suppose that you want to enable different<br># firewall access policies for different groups<br># of clients.&nbsp; There are two methods:<br># (1) Run multiple OpenVPN daemons, one for each<br>#&nbsp;&nbsp;&nbsp;&nbsp; group, and firewall the TUN/TAP interface<br>#&nbsp;&nbsp;&nbsp;&nbsp; for each group/daemon appropriately.<br># (2) (Advanced) Create a script to dynamically<br>#&nbsp;&nbsp;&nbsp;&nbsp; modify the firewall in response to access<br>#&nbsp;&nbsp;&nbsp;&nbsp; from different clients.&nbsp; See man<br>#&nbsp;&nbsp;&nbsp;&nbsp; page for more info on learn-address script.<br>;learn-address ./script</p>
<p># 如果设定了这个选选，那个它会将所有客户的缺省网关<br># 设定为VPN，引起所有的IP通讯诸如web浏览，DNS查询将<br># 会通过VPN。（为了让让这些工作正常，OpenVPN服务器<br># 可能需要进行转发 （NAT） TUN/TAP接口到Internet）<br># 警告： 如果客户本地的DHCP服务器的数据包被路由道了<br># VPN通道，这可能会破坏客户的网络配置。 解决方案：确保<br># 客户本地的DHCP服务器可以通过一个比缺省路由0.0.0.0/0.0.0.0<br># 更加具体的route设定到达。<br>#<br># If enabled, this directive will configure<br># all clients to redirect their default<br># network gateway through the VPN, causing<br># all IP traffic such as web browsing and<br># and DNS lookups to go through the VPN<br># (The OpenVPN server machine may need to NAT<br># the TUN/TAP interface to the internet in<br># order for this to work properly).<br># CAVEAT: May break client's network config if<br># client's local DHCP server packets get routed<br># through the tunnel.&nbsp; Solution: make sure<br># client's local DHCP server is reachable via<br># a more specific route than the default route<br># of 0.0.0.0/0.0.0.0.<br>;push "redirect-gateway"</p>
<p># 某些windows特定的网络设置诸如DND或者WINS服务器地址<br># 可以push到客户端。<br># Certain Windows-specific network settings<br># can be pushed to clients, such as DNS<br># or WINS server addresses.&nbsp; CAVEAT:<br># <a href="http://openvpn.net/faq.html#dhcpcaveats">http://openvpn.net/faq.html#dhcpcaveats</a><br>;push "dhcp-option DNS 10.8.0.1"<br>;push "dhcp-option WINS 10.8.0.1"</p>
<p><br>#将下面这个注释去掉可以允许不同的客户可以相互可见<br># Uncomment this directive to allow different<br># clients to be able to "see" each other.<br># By default, clients will only see the server.<br># To force clients to only see the server, you<br># will also need to appropriately firewall the<br># server's TUN/TAP interface.<br>;client-to-client</p>
<p># 如果要允许不同的客户使用相同的certificate/key或者<br># 相同的common name，那么可以将下面的注释去除。<br># 这种情况一般推荐在测试情况下使用。如果是产品目的使用<br># 每一个client应该有个他自己的证书/秘钥<br># Uncomment this directive if multiple clients<br># might connect with the same certificate/key<br># files or common names.&nbsp; This is recommended<br># only for testing purposes.&nbsp; For production use,<br># each client should have its own certificate/key<br># pair.<br>#<br># IF YOU HAVE NOT GENERATED INDIVIDUAL<br># CERTIFICATE/KEY PAIRS FOR EACH CLIENT,<br># EACH HAVING ITS OWN UNIQUE "COMMON NAME",<br># UNCOMMENT THIS LINE OUT.<br>;duplicate-cn</p>
<p># The keepalive directive causes ping-like<br># messages to be sent back and forth over<br># the link so that each side knows when<br># the other side has gone down.<br># Ping every 10 seconds, assume that remote<br># peer is down if no ping received during<br># a 120 second time period.<br># 设定每次ping间格10秒，如果120秒内没有收到<br># 回应，则认为对方已经down机<br>keepalive 10 120</p>
<p><br>#如果需要除了已经提供的SSL/TLS以外的的安全性<br># 可以建立一个&#8220;HMAC firewall&#8221;来帮助抵御大量的<br># Dos攻击和UDP端口洪水攻击<br># For extra security beyond that provided<br># by SSL/TLS, create an "HMAC firewall"<br># to help block DoS attacks and UDP port flooding.<br>#<br># Generate with:<br>#&nbsp;&nbsp; openvpn --genkey --secret ta.key<br>#<br># The server and each client must have<br># a copy of this key.<br># The second parameter should be '0'<br># on the server and '1' on the clients.<br>;tls-auth ta.key 0 # This file is secret</p>
<p>#选择加密算法，这个选项也必须被copy到客户端的配置文件<br># Select a cryptographic cipher.<br># This config item must be copied to<br># the client config file as well.<br>;cipher BF-CBC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Blowfish (default)<br>;cipher AES-128-CBC&nbsp;&nbsp; # AES<br>;cipher DES-EDE3-CBC&nbsp; # Triple-DES</p>
<p># 允许在VPN链接上进行压缩。如果服务器端压缩<br># 选项打开，那么客户端的配置文件里面也应该打开。<br># Enable compression on the VPN link.<br># If you enable it here, you must also<br># enable it in the client config file.<br>comp-lzo</p>
<p># 设定允许的最大的客户端并发数。<br># The maximum number of concurrently connected<br># clients we want to allow.<br>;max-clients 100</p>
<p># 在完成初始化后可以减少OpenVPN后台进程的权限是个<br># 非常好的主意。<br># 在非windows的系统上可以将下面的2行注释符去除。<br># It's a good idea to reduce the OpenVPN<br># daemon's privileges after initialization.<br>#<br># You can uncomment this out on<br># non-Windows systems.<br>;user nobody<br>;group nobody</p>
<p># The persist options will try to avoid<br># accessing certain resources on restart<br># that may no longer be accessible because<br># of the privilege downgrade.<br>persist-key<br>persist-tun</p>
<p># 输出一个小的状态文件，包括当前的连接情况，<br># 每分钟更新这个文件。<br># Output a short status file showing<br># current connections, truncated<br># and rewritten every minute.<br>status openvpn-status.log</p>
<p><br>#设定日子文件的输出方式<br># By default, log messages will go to the syslog (or<br># on Windows, if running as a service, they will go to<br># the "\Program Files\OpenVPN\log" directory).<br># Use log or log-append to override this default.<br># "log" will truncate the log file on OpenVPN startup,<br># while "log-append" will append to it.&nbsp; Use one<br># or the other (but not both).<br>;log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; openvpn.log<br>;log-append&nbsp; openvpn.log</p>
<p># 日子级别<br># Set the appropriate level of log<br># file verbosity.<br>#<br># 0 is silent, except for fatal errors<br># 4 is reasonable for general usage<br># 5 and 6 can help to debug connection problems<br># 9 is extremely verbose<br>verb 3</p>
<p># Silence repeating messages.&nbsp; At most 20<br># sequential messages of the same message<br># category will be output to the log.<br>;mute 20<br></p>
<img src ="http://www.cppblog.com/chj-frodo/aggbug/65456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chj-frodo/" target="_blank">frodo</a> 2008-10-29 16:21 <a href="http://www.cppblog.com/chj-frodo/archive/2008/10/29/65456.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>