<?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>ShareItem.org&#187; iptables</title>
	<atom:link href="http://shareitem.org/archive/tag/iptables/feed" rel="self" type="application/rss+xml" />
	<link>http://shareitem.org</link>
	<description>这里记录着我学习 Linux 的点滴</description>
	<lastBuildDate>Fri, 16 Oct 2009 16:03:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>用 iptables 实现端口映射</title>
		<link>http://shareitem.org/archive/iptables-dnat.html</link>
		<comments>http://shareitem.org/archive/iptables-dnat.html#comments</comments>
		<pubDate>Fri, 25 Jul 2008 07:02:52 +0000</pubDate>
		<dc:creator>kaysiness</dc:creator>
				<category><![CDATA[Configure]]></category>
		<category><![CDATA[Arch]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[MLDonkey]]></category>

		<guid isPermaLink="false">http://www.shareitem.org/2008/07/25/iptables-dnat/</guid>
		<description><![CDATA[<p>由于我这里是几台 Windows 连接网关通过ADSL共享上网的，网关为 Archlinux ，单网卡，有两个网络接口，eth0链接内网，地址192.168.1.2；ppp0为ADSL拨号连接，地址自动分配，内网网段为 192.168.1.0/24 。
…</p>]]></description>
			<content:encoded><![CDATA[<p>由于我这里是几台 Windows 连接网关通过ADSL共享上网的，网关为 Archlinux ，单网卡，有两个网络接口，eth0链接内网，地址192.168.1.2；ppp0为ADSL拨号连接，地址自动分配，内网网段为 192.168.1.0/24 。<br />
下图为物理拓扑图</p>
<p style="text-align: center"><a href="http://learn.yo2.cn/wp-content/uploads/121/12133/2008/07/e789a9e79086e68b93e68991e59bbe.GIF" title="物理拓扑图"><img src="http://learn.yo2.cn/wp-content/uploads/121/12133/2008/07/e789a9e79086e68b93e68991e59bbe.thumbnail.GIF" alt="物理拓扑图" /></a></p>
<p>比如内网上的pc1这台机想要BT下载，由于p2p的工作原理，我们必须在网关上打开到pc1的端口映射，这里假设pc1的ip地址为192.168.1.11，bt下载端口为11197。</p>
<blockquote><p># iptables -t nat -A PREROUTING -p tcp -i ppp0 &#8211;dport 11197 -j DNAT &#8211;to-destination 192.168.1.11:11197<br />
# iptables-save -c &gt; /etc/iptables/iptables.rules（这条命令不能用sudo，可以先执行su命令。不执行这条命令的后果是重启机器后要重新执行上一条命令）</p></blockquote>
<p>就是这么简单，你现在已经打开了pc1的端口映射，而电驴的 HighID 问题也可以参考这个方法。附上一张内网BT下载的截图。（为啥我的下载速度这么慢？大家都限速了？？）</p>
<p style="text-align: center"><a href="http://learn.yo2.cn/wp-content/uploads/121/12133/2008/07/utorrent-2008-07-25.JPG" title="utorrent-2008-07-25.JPG"><img src="http://learn.yo2.cn/wp-content/uploads/121/12133/2008/07/utorrent-2008-07-25.thumbnail.JPG" alt="utorrent-2008-07-25.JPG" /></a></p>
<hr />
文章地址:<a href="http://shareitem.org/archive/iptables-dnat.html">http://shareitem.org/archive/iptables-dnat.html</a> <br />
<small>本文内容属于<a href="http://shareitem.org/">ShareItem.org</a>，遵循<a href='http://creativecommons.org/licenses/by-nc-nd/2.5/cn/'> CC </a>协议 | 7e6874b3209cf4276e96802080b61256</small>

<p>没有相关文章</p>]]></content:encoded>
			<wfw:commentRss>http://shareitem.org/archive/iptables-dnat.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo:搭建家用下载&amp;路由服务器</title>
		<link>http://shareitem.org/archive/howto-build-a-download-and-routing-home-server.html</link>
		<comments>http://shareitem.org/archive/howto-build-a-download-and-routing-home-server.html#comments</comments>
		<pubDate>Sat, 21 Jun 2008 12:37:05 +0000</pubDate>
		<dc:creator>kaysiness</dc:creator>
				<category><![CDATA[Configure]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[dnsmasq]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[MLDonkey]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://www.shareitem.org/2008/06/21/howto-build-a-download-and-routing-home-server/</guid>
		<description><![CDATA[<p>其实这篇文章不能说是 HowTo ，最多只能说是我自己的安装笔记而已。该服务器主要用来下载和实现共享上网，有空还可以用它来研究iptables。整个系统没有鼠标键盘显示器，全都日常维护都是…</p>]]></description>
			<content:encoded><![CDATA[<p>其实这篇文章不能说是 HowTo ，最多只能说是我自己的安装笔记而已。该服务器主要用来下载和实现共享上网，有空还可以用它来研究iptables。整个系统没有鼠标键盘显示器，全都日常维护都是用SSH进行，所以使用了密钥的验证方式确保安全。下载方面用mldonkey实现，通过局域网内其他电脑用网页方式管理，唯一的不足是对BT下载支持不够。由于服务器基本上都是24小时运作的，所有在上面弄了个dnsmasq，实现DNS缓存和DHCP，局域网的其他机器ip都是自动获取，接上网线就能上网，十分方便。</p>
<p>先说说用到的软件</p>
<ul>
<li> ArchLinux</li>
<li> ssh</li>
<li> iptables</li>
<li> dnsmasq</li>
<li> mldonkey</li>
</ul>
<p><font color="#0000ff"><strong>ArchLinux</strong></font><br />
选择安装包时只选择 base 组，加上 support 组中 re-pppoe，sudo，iptables等几个包，安装一个最小系统。安装完后运行</p>
<blockquote><p># pacman-optimize<br />
# sync<br />
# pacman -Syu mldonkey dnsmasq</p></blockquote>
<p><font color="#0000ff"><strong>ssh</strong></font><br />
为了安全，我这里设置了只允许用密钥验证，以下是我的 /etc/ssh/sshd_config 文件的内容</p>
<blockquote><p>Port 22<br />
ListenAddress 0.0.0.0<br />
Protocol 2</p>
<p>KeyRegenerationInterval 1h<br />
ServerKeyBits 768</p>
<p>LoginGraceTime 2m<br />
PermitRootLogin yes</p>
<p>RSAAuthentication yes<br />
PubkeyAuthentication yes<br />
AuthorizedKeysFile	.ssh/authorized_keys<br />
PasswordAuthentication no<br />
PermitEmptyPasswords no</p>
<p>ChallengeResponseAuthentication no<br />
UsePAM yes<br />
Subsystem	sftp /usr/lib/ssh/sftp-server</p></blockquote>
<p><font color="#0000ff"><strong>iptables</strong></font><br />
由于服务器上只有一张网卡连接到交换机，再通过交换机连接到 ADSL Modem 上，所以需要共享服务器上的ppp0链接让局域网上的其他机器上网。</p>
<blockquote><p># iptables -F INPUT<br />
# iptables -F FORWARD<br />
# iptables -F POSTROUTING -t nat<br />
# iptables -t nat -F<br />
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE<br />
# iptables-save -c &gt; /etc/iptables/iptables.rules</p></blockquote>
<p><font color="#0000ff"><strong>dnsmasq</strong></font><br />
这个主要是用来做 dns 缓存和 dhcp 服务，参考了 firefoxmmx 写的这篇教程《<a href="http://www.linuxsir.org/bbs/showthread.php?t=327632&amp;highlight=dnsmasq">提高ADSL（pppoe）上网速度</a>》</p>
<blockquote><p># vi /etc/dnsmasq.conf</p></blockquote>
<p>找到下面这一项</p>
<blockquote><p>#resolv-file=</p></blockquote>
<p>用下面的一条语句替换</p>
<blockquote><p>resolv-file=/etc/resolv_dnsmasq.conf</p></blockquote>
<p>将下面两句前的注释符号删除</p>
<blockquote><p>interface=eth0<br />
dhcp-range=192.168.1.10,192.168.1.20,255.255.255.0,24h</p></blockquote>
<p>创建新的dns配置文件，把自己常用的DNS添加到/etc/resolv_dnsmasq.conf中</p>
<blockquote><p># cp /etc/resolv.conf /etc/resolv_dnsmasq.conf</p></blockquote>
<p>编辑 /etc/ppp/pppoe.conf</p>
<blockquote><p># vi /etc/ppp/pppoe.conf</p></blockquote>
<p>找到下列一行</p>
<blockquote><p>PEERDNS=NO</p></blockquote>
<p>并在该行下面添加</p>
<blockquote><p>DNS1 = 127.0.0.1</p></blockquote>
<p><font color="#0000ff"><strong>mldonkey</strong></font><br />
这里要注意 mldonkey 默认只允许 127.0.0.1 访问，要首先设置允许其他网段访问。~/.mldonkey/downloads.ini 文件的第37行就是设置的地方。再配合《<a href="http://www.shareitem.org/2008/05/13/imput-amule-emule-userhash-to-mldonkey/">导入 amule/emule 的设置到 Mldonkey</a>》和《<a href="http://www.shareitem.org/2008/03/22/mldonkey-import-amule-emule-temp/">让 MLDonkey 导入 amule/emule 的临时文件</a>》两篇文章，驴子基本上能全速运行了，如果你遇到中文文件名变成下划线的问题，可以参考这篇文章《 				<a href="http://www.shareitem.org/2008/06/19/mldonkey-chinese-problem/">解决 Mldonkey 中文文件变下划线问题		</a>》。</p>
<p>最后启动服务<br />
# /etc/rc.d/iptables start<br />
# /etc/rc.d/sshd start<br />
# /etc/rc.d/samba start<br />
# /etc/rc.d/dnsmasq start<br />
# /etc/rc.d/mldonkey start</p>
<p>或者编辑 /etc/rc.conf 文件，添加到 daemon 段中。</p>
<p>ok，收工，enjoy it。</p>
<hr />
文章地址:<a href="http://shareitem.org/archive/howto-build-a-download-and-routing-home-server.html">http://shareitem.org/archive/howto-build-a-download-and-routing-home-server.html</a> <br />
<small>本文内容属于<a href="http://shareitem.org/">ShareItem.org</a>，遵循<a href='http://creativecommons.org/licenses/by-nc-nd/2.5/cn/'> CC </a>协议 | 7e6874b3209cf4276e96802080b61256</small>

<p>没有相关文章</p>]]></content:encoded>
			<wfw:commentRss>http://shareitem.org/archive/howto-build-a-download-and-routing-home-server.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
