<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>豆花@垃圾熊 &#187; TUN/TAP</title>
	<atom:link href="http://www.douhua.im/tag/tuntap/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.douhua.im</link>
	<description>Open Source、Python、Flex/ActionScritp、Linux、CouchDB、MongoDB和Cloud</description>
	<lastBuildDate>Thu, 26 Aug 2010 21:19:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CentOS VPS 安装 OpenVPN</title>
		<link>http://www.douhua.im/2010/02/03/centos-vps-install-openvpn/</link>
		<comments>http://www.douhua.im/2010/02/03/centos-vps-install-openvpn/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 13:24:04 +0000</pubDate>
		<dc:creator>豆花&#38;垃圾熊</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[VPS&Web Hosing]]></category>
		<category><![CDATA[photonvps.com]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[TUN/TAP]]></category>

		<guid isPermaLink="false">http://www.douhua.im/?p=332</guid>
		<description><![CDATA[最近频繁在CentOS的VPS上安装OpenVPN，安装过程中还是颇有周折。首先是要和客服人员沟通开通TUN/TAP、iptables和NAT。有的VPS只开通iptables却没有NAT的支持，iptables设置postrouting的时候还是会失败。不管你在开通的时候怎么要求，VPS开通的时候还是要提交个ticket来处理这些事情。 默认CentOS的源里面只有很少的软件，需要安装EPEL(Extra Packages for Enterprise Linux)，这样源里面的就有openvpn了。 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm 然后再执行安装openvpn的命令。 yum install openvpn 剩下的配置文件和别的一样，启动iptables的命令是： #1.2.3.4改成VPS分配的Main IP iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 1.2.3.4 这次要再评论photonvps.com一下，购买的VPS分配的IP被Google误认为是德国的IP，看Youtube的时候总是有些影片受限制，看hulu.com的时候就没有什么问题。跟他们沟通更换IP，最后到另外一台机器上新安装了一个VPS。觉得photonvps.com的服务还是不错，是值得推荐的一家VPS厂商。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 杯具了，新换的IP被Google认为是法国的IP&#8230;.]]></description>
			<content:encoded><![CDATA[<p>最近频繁在CentOS的VPS上安装OpenVPN，安装过程中还是颇有周折。首先是要和客服人员沟通开通TUN/TAP、iptables和NAT。有的VPS只开通iptables却没有NAT的支持，iptables设置postrouting的时候还是会失败。不管你在开通的时候怎么要求，VPS开通的时候还是要提交个ticket来处理这些事情。</p>
<p>默认CentOS的源里面只有很少的软件，需要安装EPEL(Extra Packages for Enterprise Linux)，这样源里面的就有openvpn了。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpm <span style="color: #660033;">-Uvh</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.fedora.redhat.com<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>epel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>epel-release-<span style="color: #000000;">5</span>-3.noarch.rpm</pre></div></div>

<p>然后再执行安装openvpn的命令。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #c20cb9; font-weight: bold;">install</span> openvpn</pre></div></div>

<p>剩下的配置文件和别的一样，启动iptables的命令是：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#1.2.3.4改成VPS分配的Main IP</span>
iptables <span style="color: #660033;">-t</span> nat <span style="color: #660033;">-A</span> POSTROUTING <span style="color: #660033;">-s</span> 10.8.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #660033;">-j</span> SNAT <span style="color: #660033;">--to-source</span> 1.2.3.4</pre></div></div>

<p>这次要再评论photonvps.com一下，购买的VPS分配的IP被Google误认为是德国的IP，看Youtube的时候总是有些影片受限制，看hulu.com的时候就没有什么问题。跟他们沟通更换IP，最后到另外一台机器上新安装了一个VPS。觉得photonvps.com的服务还是不错，是值得推荐的一家VPS厂商。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
杯具了，新换的IP被Google认为是法国的IP&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.douhua.im/2010/02/03/centos-vps-install-openvpn/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在Gentoo安装OpenVPN Server</title>
		<link>http://www.douhua.im/2010/01/06/gentoo-openvpn-server-iptables/</link>
		<comments>http://www.douhua.im/2010/01/06/gentoo-openvpn-server-iptables/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 06:43:46 +0000</pubDate>
		<dc:creator>豆花&#38;垃圾熊</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[TUN/TAP]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.douhua.im/?p=149</guid>
		<description><![CDATA[以前的一篇关于OpenVPN在Gentoo上运行需要编译内核的TUN/TAP选项，如果仅仅是使用OpenVPN作为客户端没有什么问题，要用作OpenVPN Server就需要安装iptables，并且编译对iptables支持的新内核。 iptables内核的编译选项在： Networking options ---&#62; &#91;*&#93; Network packet filtering framework &#40;Netfilter&#41; ---&#62; Core Netfilter Configuration ---&#62; &#60;*&#62; Netfilter connection tracking support -*- Netfilter Xtables support &#40;required for ip_tables&#41; 在这个下面有很多个match support，搞不清楚到底哪个和openvpn有关，所以全部选上。 安装openvpn的命令： emerge -avt openvpn 到/usr/share/openvpn/easy-rsa/目录下制作证书文件，这个过程和在Ubuntu下是一样的，请参考Ubuntu Server下安装OpenVPN Server。将生成好的配置文件拷贝到/etc/openvpn下，余下的设置过程和在Ubuntu上是一样的，只不过配置文件的名字要改为openvpn.conf，这个配置文件的名字是可以通过编辑/etc/init.d/openvpn这个脚本进行修改的。 修改/etc/sysctl.conf文件中的net.ipv4.ip_forward = 0，将0改为1，并用命令sysctl -p让其立即生效。然后执行： iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables的命令能否正确执行，检验了内核的编译结果。如果不放心，最好将NAT有关的选项都编译进去。]]></description>
			<content:encoded><![CDATA[<p>以前的一篇关于<a href="http://www.douhua.im/2009/10/23/gentoo-openvpn-client-kernel-tun-tap">OpenVPN在Gentoo上运行需要编译内核的TUN/TAP选项</a>，如果仅仅是使用OpenVPN作为客户端没有什么问题，要用作OpenVPN Server就需要安装iptables，并且编译对iptables支持的新内核。</p>
<p>iptables内核的编译选项在：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Networking options  ---<span style="color: #000000; font-weight: bold;">&gt;</span>
    <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Network packet filtering framework <span style="color: #7a0874; font-weight: bold;">&#40;</span>Netfilter<span style="color: #7a0874; font-weight: bold;">&#41;</span>  ---<span style="color: #000000; font-weight: bold;">&gt;</span>
        Core Netfilter Configuration  ---<span style="color: #000000; font-weight: bold;">&gt;</span>
            <span style="color: #000000; font-weight: bold;">&lt;*&gt;</span> Netfilter connection tracking support
            -<span style="color: #000000; font-weight: bold;">*</span>- Netfilter Xtables support <span style="color: #7a0874; font-weight: bold;">&#40;</span>required <span style="color: #000000; font-weight: bold;">for</span> ip_tables<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>在这个下面有很多个match support，搞不清楚到底哪个和openvpn有关，所以全部选上。</p>
<p>安装openvpn的命令：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">emerge <span style="color: #660033;">-avt</span> openvpn</pre></div></div>

<p>到/usr/share/openvpn/easy-rsa/目录下制作证书文件，这个过程和在Ubuntu下是一样的，请参考<a href="http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/">Ubuntu Server下安装OpenVPN Server</a>。将生成好的配置文件拷贝到/etc/openvpn下，余下的设置过程和在Ubuntu上是一样的，只不过配置文件的名字要改为openvpn.conf，这个配置文件的名字是可以通过编辑/etc/init.d/openvpn这个脚本进行修改的。</p>
<p>修改/etc/sysctl.conf文件中的net.ipv4.ip_forward = 0，将0改为1，并用命令sysctl -p让其立即生效。然后执行：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-t</span> nat <span style="color: #660033;">-A</span> POSTROUTING <span style="color: #660033;">-s</span> 10.8.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #660033;">-o</span> eth0 <span style="color: #660033;">-j</span> MASQUERADE</pre></div></div>

<p>iptables的命令能否正确执行，检验了内核的编译结果。如果不放心，最好将NAT有关的选项都编译进去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.douhua.im/2010/01/06/gentoo-openvpn-server-iptables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu Server 安装 OpenVPN Server</title>
		<link>http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/</link>
		<comments>http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 06:17:38 +0000</pubDate>
		<dc:creator>豆花&#38;垃圾熊</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[TUN/TAP]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.douhua.im/?p=151</guid>
		<description><![CDATA[本来想写一篇在Gentoo下安装OpenVPN Server的文章，可是Gentoo下还没有测试成功，所以先写一篇Ubuntu Server下安装OpenVPN Server。OpenVPN在Linux下作为Server还是Client，就看配置文件怎么写了。 Ubuntu下安装OpenVPN还是那句经典的apt-get： sudo apt-get install openvpn 配置证书的过程稍微复杂一点，先拷贝/usr/share/doc/openvpn/examples/easy-rsa/2.0目录到/etc/openvpn目录下或者home目录里。修改目录里面的vars文件中的几个配置项： export KEY_COUNTRY=&#34;&#34; export KEY_PROVINCE=&#34;&#34; export KEY_CITY=&#34;&#34; export KEY_ORG=&#34;&#34; export KEY_EMAIL=&#34;&#34; 注意：KEY_COUNTRY使用2个大写字母来表示国家。 source ./vars ./clean-all ./build-ca ./build-key-server &#60;servername&#62; ./build-key &#60;clientname&#62; ./build-dh build-ca是创建根证书，除非是打算重置全部的证书，否则第一次运行完这个命令后就不要再运行了。build-key-server和build-key的命令可以多次运行，最好是为每一个用户做一个client的key。 拷贝示例的server.conf文件到/etc/openvpn目录，进行修改： sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz server.conf文件中对每个选项都有详细的解释，根据自己需要进行修改。下面是一个删除注释的配置文件示例： #OpenVPN的监听地址 local xxx.xxx.xxx.xxx #OpenVPN的监听端口 port 1194 #使用UDP Server proto udp #使用tun通道 dev tun #相对路径 [...]]]></description>
			<content:encoded><![CDATA[<p>本来想写一篇在Gentoo下安装OpenVPN Server的文章，可是Gentoo下还没有测试成功，所以先写一篇Ubuntu Server下安装OpenVPN Server。OpenVPN在Linux下作为Server还是Client，就看配置文件怎么写了。</p>
<p>Ubuntu下安装OpenVPN还是那句经典的apt-get：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> openvpn</pre></div></div>

<p>配置证书的过程稍微复杂一点，先拷贝/usr/share/doc/openvpn/examples/easy-rsa/2.0目录到/etc/openvpn目录下或者home目录里。修改目录里面的vars文件中的几个配置项：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">KEY_COUNTRY</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">KEY_PROVINCE</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">KEY_CITY</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">KEY_ORG</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">KEY_EMAIL</span>=<span style="color: #ff0000;">&quot;&quot;</span></pre></div></div>

<p>注意：KEY_COUNTRY使用2个大写字母来表示国家。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">source</span> .<span style="color: #000000; font-weight: bold;">/</span>vars
.<span style="color: #000000; font-weight: bold;">/</span>clean-all
.<span style="color: #000000; font-weight: bold;">/</span>build-ca
.<span style="color: #000000; font-weight: bold;">/</span>build-key-server <span style="color: #000000; font-weight: bold;">&lt;</span>servername<span style="color: #000000; font-weight: bold;">&gt;</span>
.<span style="color: #000000; font-weight: bold;">/</span>build-key <span style="color: #000000; font-weight: bold;">&lt;</span>clientname<span style="color: #000000; font-weight: bold;">&gt;</span>
.<span style="color: #000000; font-weight: bold;">/</span>build-dh</pre></div></div>

<p>build-ca是创建根证书，除非是打算重置全部的证书，否则第一次运行完这个命令后就不要再运行了。build-key-server和build-key的命令可以多次运行，最好是为每一个用户做一个client的key。</p>
<p>拷贝示例的server.conf文件到/etc/openvpn目录，进行修改：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>doc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>examples<span style="color: #000000; font-weight: bold;">/</span>sample-config-files<span style="color: #000000; font-weight: bold;">/</span>server.conf.gz  <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>server.conf.gz</pre></div></div>

<p>server.conf文件中对每个选项都有详细的解释，根据自己需要进行修改。下面是一个删除注释的配置文件示例：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#OpenVPN的监听地址</span>
<span style="color: #7a0874; font-weight: bold;">local</span> xxx.xxx.xxx.xxx 
<span style="color: #666666; font-style: italic;">#OpenVPN的监听端口</span>
port <span style="color: #000000;">1194</span> 
<span style="color: #666666; font-style: italic;">#使用UDP Server</span>
proto udp
<span style="color: #666666; font-style: italic;">#使用tun通道 </span>
dev tun 
<span style="color: #666666; font-style: italic;">#相对路径 /etc/openvpn</span>
ca ca.crt 
cert server.crt
key server.key
dh dh1024.pem
<span style="color: #666666; font-style: italic;">#OpenVPN的子网地址</span>
server 10.8.0.0 255.255.255.0
<span style="color: #666666; font-style: italic;">#客户端的Internet访问使用OpenVPN通道 </span>
push <span style="color: #ff0000;">&quot;redirect-gateway def1&quot;</span> 
<span style="color: #666666; font-style: italic;">#Windows客户端会使用此DNS地址</span>
push <span style="color: #ff0000;">&quot;dhcp-option DNS 208.67.222.222&quot;</span>
push <span style="color: #ff0000;">&quot;dhcp-option DNS 208.67.220.220&quot;</span>
<span style="color: #666666; font-style: italic;">#记录客户端分配的ip地址情况，如果OpenVPN服务重启，</span>
<span style="color: #666666; font-style: italic;">#客户端重新连接的时候会按照此文件分配原先的地址。</span>
ifconfig-pool-persist ipp.txt 
<span style="color: #666666; font-style: italic;">#每10秒ping一次，120秒内客户端没有动作就断开连接</span>
keepalive <span style="color: #000000;">10</span> <span style="color: #000000;">120</span>
<span style="color: #666666; font-style: italic;">#客户端之间可以互相访问</span>
client-to-client
<span style="color: #666666; font-style: italic;">#对OpenVPN链接进行压缩，客户端的配置文件必须同时使用</span>
comp-lzo
<span style="color: #666666; font-style: italic;">#OpenVPN的用户和用户组</span>
user nobody
group nobody
<span style="color: #666666; font-style: italic;">#如果user和group的用户和用户组没有访问key的权限</span>
<span style="color: #666666; font-style: italic;">#避免产生权限不足的bug</span>
persist-key
persist-tun
<span style="color: #666666; font-style: italic;">#日志文件</span>
status openvpn-status.log
<span style="color: #666666; font-style: italic;">#日志文件的记录级别</span>
verb <span style="color: #000000;">3</span></pre></div></div>

<p>OpenVPN的安装设置完成，还需要设置数据包转发：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> sysctl <span style="color: #660033;">-w</span> net.ipv4.ip_forward=<span style="color: #000000;">1</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> iptables <span style="color: #660033;">-t</span> nat <span style="color: #660033;">-A</span> POSTROUTING <span style="color: #660033;">-s</span> 10.8.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #660033;">-o</span> eth0 <span style="color: #660033;">-j</span> MASQUERADE</pre></div></div>

<p>这两个命令如果不执行，OpenVPN的客户端虽然能连接成功，但不能访问Internet。iptables需要内核的支持，如果在Gentoo系统下就需要<a href="http://www.douhua.im/2010/01/06/gentoo-openvpn-server-iptables/">编译内核</a>的一些选项了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>在gentoo下使用openvpn client遇到kernel不支持TUN/TAP</title>
		<link>http://www.douhua.im/2009/10/23/gentoo-openvpn-client-kernel-tun-tap/</link>
		<comments>http://www.douhua.im/2009/10/23/gentoo-openvpn-client-kernel-tun-tap/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 15:39:00 +0000</pubDate>
		<dc:creator>豆花&#38;垃圾熊</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[TUN/TAP]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.douhua.im/?p=18</guid>
		<description><![CDATA[openvpn会在系统内创建虚拟网卡，但是我默认安装kernel没有设置支持TUN/TAP，所以必须在内核里面重新加入这个模块的支持。 cd /usr/src/linux make menuconfig 在菜单里面选择Device Drivers -> Network device support -> Universal TUN/TAP device driver support 为这个选项选择M。然后保存退出，进行编译： make &#38;&#38; make modules_install 安装openvpn后在/etc/openvpn目录编写你的openvpn.conf文件，下面的例子是个client的示例： client &#160; dev tun proto udp remote my-server-2 1194 resolv-retry infinite nobind persist-key persist-tun &#160; ca /etc/openvpn/client/ca.crt cert /etc/openvpn/client/client.crt key /etc/openvpn/client/client.key &#160; log /var/log/openvpn/client.log status /var/log/openvpn/client-status.log comp-lzo verb 3]]></description>
			<content:encoded><![CDATA[<p>openvpn会在系统内创建虚拟网卡，但是我默认安装kernel没有设置支持TUN/TAP，所以必须在内核里面重新加入这个模块的支持。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>linux
<span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig</pre></div></div>

<p>在菜单里面选择Device Drivers -> Network device support -> Universal TUN/TAP device driver support 为这个选项选择M。然后保存退出，进行编译：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> modules_install</pre></div></div>

<p>安装openvpn后在/etc/openvpn目录编写你的openvpn.conf文件，下面的例子是个client的示例：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">client
&nbsp;
dev tun
proto udp
remote my-server-<span style="color: #000000;">2</span> <span style="color: #000000;">1194</span>
resolv-retry infinite
nobind
persist-key
persist-tun
&nbsp;
ca <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>ca.crt
cert <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>client.crt
key <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>client.key
&nbsp;
log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>client.log
status <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>client-status.log
comp-lzo
verb <span style="color: #000000;">3</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.douhua.im/2009/10/23/gentoo-openvpn-client-kernel-tun-tap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
