<?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; 阿里云服务器，如何配置端口映，Dnat教程</title>
	<atom:link href="https://www.fuwuqiok.com/tag/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%8c%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%ef%bc%8cdnat%e6%95%99%e7%a8%8b/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fuwuqiok.com</link>
	<description></description>
	<lastBuildDate>Sun, 01 Mar 2020 07:28:40 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.26</generator>
	<item>
		<title>阿里云服务器如何配置端口映射Dnat教程</title>
		<link>https://www.fuwuqiok.com/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%e5%b0%84dnat%e6%95%99%e7%a8%8b/</link>
		<comments>https://www.fuwuqiok.com/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%e5%b0%84dnat%e6%95%99%e7%a8%8b/#comments</comments>
		<pubDate>Sat, 15 Aug 2015 04:10:35 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[aliyun服务器代维]]></category>
		<category><![CDATA[服务器迁移]]></category>
		<category><![CDATA[网站代维]]></category>
		<category><![CDATA[网站防挂马]]></category>
		<category><![CDATA[aws服务器代维]]></category>
		<category><![CDATA[小说站代维]]></category>
		<category><![CDATA[服务器基础环境搭建]]></category>
		<category><![CDATA[阿里云服务器，如何配置端口映，Dnat教程]]></category>

		<guid isPermaLink="false">https://www.fuwuqiok.com/?p=2567</guid>
		<description><![CDATA[<p>通过iptables配置Dnat是一个比较常见的操作，阿里云的服务在classic网络下无法支持snat，但是 [&#8230;]</p>
<p><a rel="nofollow" href="https://www.fuwuqiok.com/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%e5%b0%84dnat%e6%95%99%e7%a8%8b/">阿里云服务器如何配置端口映射Dnat教程</a>，首发于<a rel="nofollow" href="https://www.fuwuqiok.com">服务器安全维护工作室</a>。</p>
]]></description>
				<content:encoded><![CDATA[<p>通过iptables配置Dnat是一个比较常见的操作，阿里云的服务在classic网络下无法支持snat，但是dnat功能实际是没问题的，这里将我们工作室平时常用的实现方法罗列一下操作过程：</p>
<pre>
 环境两台阿里云ECS服务器 ，一台公网，一台内网。内网安装nginx，希望访问公网服务器的时候，能够访问到内网的nginx站点。
 <span id="more-486"></span>
 内网服务器操作过程如下：</pre>
<p>首先安装nginx和启动</p>
<div id="highlighter_349548" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">[root@内网 ~]</code><code class="comments"># yum install nginx -y &gt;&gt;/dev/null</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="plain">[root@内网 ~]</code><code class="comments"># /etc/init.d/nginx start</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="plain">Starting nginx: [ OK ]</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="plain">[root@内网 ~]</code><code class="comments"># lsof -i:80</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>5</code></td>
<td class="content"><code class="plain">COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>6</code></td>
<td class="content"><code class="plain">nginx 1742 root 6u IPv4 5570 0t0 TCP *:http (LISTEN)</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>测试nginx安装正常，可以访问。</p>
<div id="highlighter_688157" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table style="height: 29px;" width="400">
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">[root@内网 ~]</code><code class="comments"># curl -I www.fuwuqiok.com<br />
</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="plain">HTTP/1.1 200 OK</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="plain">Server: nginx/0.8.55</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="plain">Date: Wed, 14 Jan 2015 07:29:05 GMT</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>5</code></td>
<td class="content"><code class="plain">Content-Type: text/html</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>6</code></td>
<td class="content"><code class="plain">Content-Length: 3698</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>7</code></td>
<td class="content"><code class="plain">Last-Modified: Tue, 11 Nov 2014 16:30:06 GMT</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>8</code></td>
<td class="content"><code class="plain">Connection: keep-alive</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>9</code></td>
<td class="content"><code class="plain">Accept-Ranges: bytes</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<pre>公网服务器操作如下：

 首先修改内核参数，开启ip转发</pre>
<div id="highlighter_261767" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">[root@公网 ~]</code><code class="comments"># sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="plain">应用生效</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="plain">[root@公网 ~]</code><code class="comments"># sysctl -p</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="plain">net.ipv4.ip_forward = 1</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>配置iptables，将访问公网服务器80端口的请求，转发到内网服务器的80</p>
<div id="highlighter_580261" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">[root@公网 ~]</code><code class="comments"># iptables -t nat -I PREROUTING -d 115.29.96.246 -p tcp --dport 80 -j DNAT --to 10.144.26.11:80</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>这时候我们访问公网服务器IP测试一下，同时抓包看转发后的数据包情况：</p>
<div id="highlighter_497411" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">15:35:46.602240 IP 42.120.74.108.8864 &gt; 115.29.96.246.80: S 765781831:765781831(0) win 8192</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="plain">15:35:46.602272 IP 42.120.74.108.8864 &gt; 10.144.26.11.80: S 765781831:765781831(0) win 8192</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>这样原地址是访客的公网IP，目标是内网服务器的内网地址，这样也没办法双向通讯啊，所以，需要让这个数据包的原地址，也变成内网地址，这样才能和内网服务器建立通讯。<br />
修改原地址就是SNAT<br />
我们继续在公网服务器配置：</p>
<div id="highlighter_451003" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">[root@公网 ~]</code><code class="comments"># iptables -t nat -I POSTROUTING -d 10.144.26.11 -p tcp --dport 80 -j SNAT --to 10.163.209.59</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>抓包分析：</p>
<div id="highlighter_665871" class="syntaxhighlighter  ">
<div class="lines">
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>1</code></td>
<td class="content"><code class="plain">15:38:14.846955 IP 42.120.74.108.10839 &gt; 115.29.96.246.80: P 433:858(425) ack 159 win 16385</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>2</code></td>
<td class="content"><code class="plain">15:38:14.846985 IP 10.163.209.59.10839 &gt; 10.144.26.11.80: P 433:858(425) ack 159 win 16385</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt1">
<table>
<tbody>
<tr>
<td class="number"><code>3</code></td>
<td class="content"><code class="plain">15:38:14.847759 IP 10.144.26.11.80 &gt; 10.163.209.59.10839: P 159:317(158) ack 858 win 317</code></td>
</tr>
</tbody>
</table>
</div>
<div class="line alt2">
<table>
<tbody>
<tr>
<td class="number"><code>4</code></td>
<td class="content"><code class="plain">15:38:14.847772 IP 115.29.96.246.80 &gt; 42.120.74.108.10839: P 159:317(158) ack 858 win 317</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>访客本地公网-&gt;公网服务器公网IP<br />
修改目标地址<br />
公网服务器内网IP-&gt;内网服务器IP<br />
修改原地址<br />
内网服务器IP-&gt;公网服务器内网IP<br />
公网服务器公网IP-&gt;访客本地公网</p>
<p>完成通讯，试试看。</p>
<p><a rel="nofollow" href="https://www.fuwuqiok.com/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%e5%b0%84dnat%e6%95%99%e7%a8%8b/">阿里云服务器如何配置端口映射Dnat教程</a>，首发于<a rel="nofollow" href="https://www.fuwuqiok.com">服务器安全维护工作室</a>。</p>
]]></content:encoded>
			<wfw:commentRss>https://www.fuwuqiok.com/%e9%98%bf%e9%87%8c%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%e7%ab%af%e5%8f%a3%e6%98%a0%e5%b0%84dnat%e6%95%99%e7%a8%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
