<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/</link>
<title><![CDATA[Ubuntu Linux下OPENVPN和SS5的配置使用--使用SS5（SOCKS5）共享VPN连接]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[默认分类]]></category>
<pubDate>Thu, 15 Apr 2010 09:13:37 +0000</pubDate> 
<guid>http://www.snooda.com/read/</guid> 
<description>
<![CDATA[ 
	Linux下的OPENVPN客户端并不支持服务器push过来的dns地址（我是使用Ubuntu下/etc/init.d/openvpn start来启动vpn客户端的），所以假如使用vpn上国外某些网站的话，会由于国内的dns污染而无法连接。这不是vpn的问题，是由于dns解析出来的结果压根就是错的。<br />
<br />
解决办法：root权限修改/etc/resolv.conf。修改为国外的dns服务器，这里可以使用Google的：8.8.8.8服务器，简单好记。正在研究通过修改/etc/init.d/openvpn脚本来自动实现修改dns的方法。<br />
<br />
<br />
现在，SS5仍不能把这个vpn连接共享出去，因为路由表的问题。vpn连接建立后会把所有的流量路由至vpn服务器，比如该机收到1发来的包，他会把应答发送至vpn服务器，让vpn服务器来发送给1，由于1无法和vpn服务器通信（比如教育网机器和国外vpn），导致1无法收到代理服务器的应答，共享失败。所以要在路由表中添加一条规则，让发往1的数据包直接发往网关而不经vpn。<br />
<br />
注：上面说的共享失败的原因我现在还不确定到底是何种原因，可能性如下：1，就是文中说的，主机1和vpn服务器无法通信。2，主机1中本来是和代理服务器通信的，突然收到vpn服务器发来的一堆包，会认为是垃圾，丢弃导致通信失败。<br />
如大家有对其中原理了解的欢迎指教。不过即使这种方式能通信，也由于应答发往vpn再从vpn发回来而导致带宽浪费和延迟加大。<br />
<br />
<br />
最后，还需要在iptables里开放相应端口。iptables我最近一直在研究，让人蛋疼的是居然没有一个命令可以显示出所有的规则。-L也只是显示一部分。所以有时候开端口不用在iptables里加规则（默认开放），有的时候就必须加了。为保万一，还是加上的好。<br />
<br />

]]>
</description>
</item><item>
<link>http://www.snooda.com/read/#blogcomment</link>
<title><![CDATA[[评论] Ubuntu Linux下OPENVPN和SS5的配置使用--使用SS5（SOCKS5）共享VPN连接]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.snooda.com/read/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>