<?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>Erning.write() &#187; linux</title>
	<atom:link href="http://erning.net/tags/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://erning.net</link>
	<description>Reloading</description>
	<lastBuildDate>Thu, 15 Sep 2011 10:04:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Home Network Setup</title>
		<link>http://erning.net/archives/home-network-setup</link>
		<comments>http://erning.net/archives/home-network-setup#comments</comments>
		<pubDate>Thu, 15 Sep 2011 10:04:33 +0000</pubDate>
		<dc:creator>erning</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://erning.net/?p=474</guid>
		<description><![CDATA[家庭网络设置的需求 LAN 在家里，应该做到在任何地方都可以连上网络，而不是必须坐在电脑桌前；目前可以上网的移动设备比电脑还多。因此Wifi网络是必须的。 如果还在使用百兆的网络，拷贝一份20G的高清电影你需要30多分钟。而如果使用千兆网络，同样拷贝一份20G的电影，只需要3分钟多一些。当然硬盘可能不够快，以致实际上需要10多分钟才能完成。所以需要千兆网络交换机。 需要设备一接上，不需要配置就应该能够互连。IPv4的情况下，还是DHCP服务器自动分配IP比较方便的。 Internet 家庭网络内的设备都需要访问互联网，需要一个路由器做网关。 目前运营商为家庭用户提供的互联网接入方式还是以PPPoE为主。 运营商提供的域名解析服务器不靠谱，部分域名还被污染。用8.8.8.8或opendns这样的解析服务可能无法解析到最佳网络连接的主机。自建的解析服务器还可以解析内部网络的主机。 架一个HTTP代理服务器能够很大程度提高互联网页面的访问速度。 翻墙，这属于基础设置。需要做到网络层的翻墙，简单的HTTP代理不够。 Remote Access 需要从外部通过互联网访问家庭网络，例如从办公室查看家里的一篇文档。OpenSSH能够提供最基本的远程访问，管理家庭网络内的设备。 在外的时候，笔记本电脑或者移动设备还能够是家庭网络的一部分，这时候就需要虚拟的私有网络了。OpenVPN可以采用证书的认证方式，将作为缺省方案；还需要PPTP服务器来满足临时的需求，因为PPTP的客户端在很多系统上都是自带的，还有未越狱的iOS设备还无法使用OpenVPN，但可以使用PPTP。 运营商提供的是动态的IP地址，每次重新建立PPPoE连接的时候都会换一个IP。为了能够从互联网上访问家庭网络，需要动态的域名解析。 NAS 网络文件服务器，可以在内部网络共享电影、音乐、文件等，还有TimeMachine。同一个存储空间可以通过各种协议访问。 Mac设备间通过AFP最方便；Linux机器使用NFS比较方便；提供CIFS/Samba，让Windows客户端不需要另外安装任何软件就能够直接访问共享存储。 IPv6 访问只有IPv6服务的网站，可以显摆。6in4的tunnel服务还没有被GFWed，也可以用来翻墙，而且速度相当快（上海电信FTTH至he.net位于加州的机房可以有近10Mbps的吞吐量） Security 需要对家庭网络做访问限制，特别是远程来的访问。 内部网络和外部的网络应该物理隔离，物理隔离是指内部网络和外部网络必须跑在不同的网卡、不同的交换机VLAN上。 还需要做网络包过滤。]]></description>
			<content:encoded><![CDATA[<p>家庭网络设置的需求</p>
<p><strong>LAN</strong></p>
<p>在家里，应该做到在任何地方都可以连上网络，而不是必须坐在电脑桌前；目前可以上网的移动设备比电脑还多。因此Wifi网络是必须的。</p>
<p>如果还在使用百兆的网络，拷贝一份20G的高清电影你需要30多分钟。而如果使用千兆网络，同样拷贝一份20G的电影，只需要3分钟多一些。当然硬盘可能不够快，以致实际上需要10多分钟才能完成。所以需要千兆网络交换机。</p>
<p>需要设备一接上，不需要配置就应该能够互连。IPv4的情况下，还是DHCP服务器自动分配IP比较方便的。</p>
<p><strong>Internet</strong></p>
<p>家庭网络内的设备都需要访问互联网，需要一个路由器做网关。</p>
<p>目前运营商为家庭用户提供的互联网接入方式还是以PPPoE为主。</p>
<p>运营商提供的域名解析服务器不靠谱，部分域名还被污染。用8.8.8.8或opendns这样的解析服务可能无法解析到最佳网络连接的主机。自建的解析服务器还可以解析内部网络的主机。</p>
<p>架一个HTTP代理服务器能够很大程度提高互联网页面的访问速度。</p>
<p>翻墙，这属于基础设置。需要做到网络层的翻墙，简单的HTTP代理不够。</p>
<p><strong>Remote Access</strong></p>
<p>需要从外部通过互联网访问家庭网络，例如从办公室查看家里的一篇文档。OpenSSH能够提供最基本的远程访问，管理家庭网络内的设备。</p>
<p>在外的时候，笔记本电脑或者移动设备还能够是家庭网络的一部分，这时候就需要虚拟的私有网络了。OpenVPN可以采用证书的认证方式，将作为缺省方案；还需要PPTP服务器来满足临时的需求，因为PPTP的客户端在很多系统上都是自带的，还有未越狱的iOS设备还无法使用OpenVPN，但可以使用PPTP。</p>
<p>运营商提供的是动态的IP地址，每次重新建立PPPoE连接的时候都会换一个IP。为了能够从互联网上访问家庭网络，需要动态的域名解析。</p>
<p><strong>NAS</strong></p>
<p>网络文件服务器，可以在内部网络共享电影、音乐、文件等，还有TimeMachine。同一个存储空间可以通过各种协议访问。</p>
<p>Mac设备间通过AFP最方便；Linux机器使用NFS比较方便；提供CIFS/Samba，让Windows客户端不需要另外安装任何软件就能够直接访问共享存储。</p>
<p><strong>IPv6</strong></p>
<p>访问只有IPv6服务的网站，可以显摆。6in4的tunnel服务还没有被GFWed，也可以用来翻墙，而且速度相当快（上海电信FTTH至he.net位于加州的机房可以有近10Mbps的吞吐量）</p>
<p><strong>Security</strong></p>
<p>需要对家庭网络做访问限制，特别是远程来的访问。</p>
<p>内部网络和外部的网络应该物理隔离，物理隔离是指内部网络和外部网络必须跑在不同的网卡、不同的交换机VLAN上。</p>
<p>还需要做网络包过滤。</p>
<p><img src="http://farm7.static.flickr.com/6205/6149793966_5d4658e312_m.jpg" width="238" height="240" alt="eeebox-b202"></p>
]]></content:encoded>
			<wfw:commentRss>http://erning.net/archives/home-network-setup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mppc for kernel 2.6.31</title>
		<link>http://erning.net/archives/mppc-for-kernel-2-6-31</link>
		<comments>http://erning.net/archives/mppc-for-kernel-2-6-31#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:47:21 +0000</pubDate>
		<dc:creator>erning</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://erning.net/?p=119</guid>
		<description><![CDATA[之前我搞了一台华硕的小机器做穿墙路由器，操作系统用的是Gentoo Linux。 SSH的socks5钻墙是好了，但我现在还想要开VPN到墙外，还有VPN到公司里，这样在家里用起来就更方便了。 有些PPTP的VPN需要mppe,mppc。而我用的Gentoo不像Ubuntu，原装的内核不带mppe-mppc模块，得自己打补丁。可是这补丁只到2.6.13，之后的没有了。之前每次内核升级都遇到同样麻烦:&#124; 不过最终还是google到了devil-linux项目里现成的2.6.31补丁。 cd /usr/src/patches wget http://ftp.devil-linux.org/pub/devel/sources/1.4/linux-2.6.31-mppe-mppc-1.3.patch.bz2 bunzip2 linux-2.6.31-mppe-mppc-1.3.patch.bz2 cd /usr/src/linux patch -p1 &#60; /usr/src/patches/linux-2.6.31-mppe-mppc-1.3.patch make menuconfig 选上CONFIG_PPP_MPPE_MPPC=m Device Drivers ---> [*] Network device support ---> &#60;M&#62; PPP (point-to-point protocol) support &#60;M&#62; Microsoft PPP compression/encryption (MPPC/MPPE) 然后重新编译安装内核。这样就有了ppp_mppe_mppc模块。 最后emerge ppp的时候需要带上USE=&#8221;mppe-pmmc&#8221;参数。我是把&#8221;net-dialup/ppp mppe-mppc&#8221;添加到&#8221;/etc/portage/package.use&#8221;文件里。]]></description>
			<content:encoded><![CDATA[<p>之前我搞了一台<a href="http://www.asus.com.cn/product.aspx?P_ID=QUObl5lSRQQ3lSqJ">华硕的小机器</a>做穿墙路由器，操作系统用的是<a href="http://www.gentoo.org/">Gentoo Linux</a>。</p>
<p>SSH的socks5钻墙是好了，但我现在还想要开VPN到墙外，还有VPN到公司里，这样在家里用起来就更方便了。</p>
<p>有些<a href="http://en.wikipedia.org/wiki/Point-to-point_tunneling_protocol">PPTP</a>的VPN需要<a href="http://en.wikipedia.org/wiki/Microsoft_Point-to-Point_Encryption">mppe</a>,<a href="http://en.wikipedia.org/wiki/Microsoft_Point-to-Point_Compression">mppc</a>。而我用的Gentoo不像Ubuntu，原装的内核不带mppe-mppc模块，得自己打<a href="http://mppe-mppc.alphacron.de/">补丁</a>。可是这补丁只到2.6.13，之后的没有了。之前每次内核升级都遇到同样麻烦:|</p>
<p>不过最终还是google到了<a href="http://www.devil-linux.org/">devil-linux</a>项目里现成的<a href="http://ftp.devil-linux.org/pub/devel/sources/1.4/linux-2.6.31-mppe-mppc-1.3.patch.bz2">2.6.31补丁</a>。</p>
<ul>
<pre class="brush: plain">
cd /usr/src/patches
wget http://ftp.devil-linux.org/pub/devel/sources/1.4/linux-2.6.31-mppe-mppc-1.3.patch.bz2
bunzip2 linux-2.6.31-mppe-mppc-1.3.patch.bz2
cd /usr/src/linux
patch -p1 &lt; /usr/src/patches/linux-2.6.31-mppe-mppc-1.3.patch
make menuconfig
</pre>
</ul>
<p>选上<code>CONFIG_PPP_MPPE_MPPC=m</code></p>
<ul>
<pre class="brush: plain; gutter: false;">Device Drivers  --->
[*] Network device support  --->
&lt;M&gt;   PPP (point-to-point protocol) support
&lt;M&gt;     Microsoft PPP compression/encryption (MPPC/MPPE)</pre>
</ul>
<p>然后重新编译安装内核。这样就有了ppp_mppe_mppc模块。</p>
<p>最后emerge ppp的时候需要带上USE=&#8221;mppe-pmmc&#8221;参数。我是把&#8221;net-dialup/ppp mppe-mppc&#8221;添加到&#8221;/etc/portage/package.use&#8221;文件里。</p>
]]></content:encoded>
			<wfw:commentRss>http://erning.net/archives/mppc-for-kernel-2-6-31/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Linux Gateway</title>
		<link>http://erning.net/archives/my-linux-gateway</link>
		<comments>http://erning.net/archives/my-linux-gateway#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:56:23 +0000</pubDate>
		<dc:creator>erning</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://erning.net/?p=110</guid>
		<description><![CDATA[使用透明网关，将web流量通过squid走，cache之后可以提高家里机器访问web的速度。 通过squid配置，将被墙的站点设置成通过SSH隧道走。但squid本身不能forward给socks5代理，因此中间加了个privoxy中转。被墙的站点也可以在squid缓存，节省流量。 如果所有的web访问都通过SSH隧道，访问国内的站点慢了。不仅会反向被墙还浪费海外主机的流量。 没有海外主机的时候，SSH隧道可以用TOR替代。 https不可以做透明代理，这时候需要将浏览器的proxy设置到网关的squid。 图上没标出，网关上还安装有bind，提供域名解析服务，用来对付DNS解析被篡改的问题。 现在这个硬件用的是Asus EeeBox b202，安静省电。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/zendragon/4192451789/" title="My Linux Gateway by Zhang Erning, on Flickr"><img src="http://farm3.static.flickr.com/2737/4192451789_ec84d67d3f.jpg" width="352" height="500" alt="My Linux Gateway" /></a></p>
<p>使用透明网关，将web流量通过squid走，cache之后可以提高家里机器访问web的速度。</p>
<p>通过squid配置，将被墙的站点设置成通过SSH隧道走。但squid本身不能forward给socks5代理，因此中间加了个privoxy中转。被墙的站点也可以在squid缓存，节省流量。</p>
<p>如果所有的web访问都通过SSH隧道，访问国内的站点慢了。不仅会反向被墙还浪费海外主机的流量。</p>
<p>没有海外主机的时候，SSH隧道可以用TOR替代。</p>
<p>https不可以做透明代理，这时候需要将浏览器的proxy设置到网关的squid。</p>
<p>图上没标出，网关上还安装有bind，提供域名解析服务，用来对付DNS解析被篡改的问题。</p>
<p>现在这个硬件用的是<a href="http://www.asus.com.cn/product.aspx?P_ID=QUObl5lSRQQ3lSqJ">Asus EeeBox b202</a>，安静省电。</p>
]]></content:encoded>
			<wfw:commentRss>http://erning.net/archives/my-linux-gateway/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

