+86 189 8218 1436Mon. - Fri. 10:00-22:00

Dnat教程&阿里云服务器如何配置端口映射

Dnat教程&阿里云服务器如何配置端口映射

经济实惠的服务器代维费用及报价,让中小企业都能用上专业的服务器代维服务!

服务器代维外包服务 让您省心又放心 小程序HTTPS配置 一键ssl全站配置 正版EV OV_SSL证书 顶级证书长期享用 DDOS/CC攻击防御 有针对性的攻击防御
木马病毒清除 彻底的清除专家 网站中毒处理 快速网站故障处理专家 服务器故障处理 一站式解决服务器问题 数据找回/恢复 重要数据秒级找回
数据库优化 提升网站访问速度神器 数据迁移 网站搬家快方法 漏洞扫描/渗透测试 网站安全检测 网站故障排查/修复 一键排查故障/修复
宝塔Linux面板安装服务 环境配置专家 WordPress代维托管 一次性收费包您满意 网站程序安装指导 多年安装经验
肉鸡处理,中毒处理
肉鸡处理,中毒处理  
 

Dnat教程&阿里云服务器如何配置端口映射

通过iptables配置Dnat是一个比较常见的操作,阿里云的服务在classic网络下无法支持snat,但是dnat实际是没问题的,这里罗列一下操作过程:
实验环境两台阿里云ECS服务器 ,一台公网,一台内网。内网安装nginx,希望访问公网服务器的时候,能够访问到内网的nginx站点。

内网服务器操作过程如下:
首先安装nginx和启动

[root@内网 ~]# yum install nginx -y >>/dev/null

[root@内网 ~]# /etc/init.d/nginx start

Starting nginx: [ OK ] [root@内网 ~]# lsof -i:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

nginx 1742 root 6u IPv4 5570 0t0 TCP *:http (LISTEN)
测试nginx安装正常,可以访问。

[root@内网 ~]# curl -I localhost

HTTP/1.1 200 OK

Server: nginx/0.8.55

Date: Wed, 14 Jan 2015 07:29:05 GMT

Content-Type: text/html

Content-Length: 3698

Last-Modified: Tue, 11 Nov 2014 16:30:06 GMT

Connection: keep-alive

Accept-Ranges: bytes
公网服务器操作如下:
首先修改内核参数,开启ip转发

[root@公网 ~]# sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g’ /etc/sysctl.conf

应用生效

[root@公网 ~]# sysctl -p

net.ipv4.ip_forward = 1
配置iptables,将访问公网服务器80端口的请求,转发到内网服务器的80

[root@公网 ~]# iptables -t nat -I PREROUTING -d 115.29.96.246 -p tcp –dport 80 -j DNAT –to 10.144.26.11:80
这时候我们访问公网服务器IP测试一下,同时抓包看转发后的数据包情况:

15:35:46.602240 IP 42.120.74.108.8864 > 115.29.96.246.80: S 765781831:765781831(0) win 8192

15:35:46.602272 IP 42.120.74.108.8864 > 10.144.26.11.80: S 765781831:765781831(0) win 8192
这样原地址是访客的公网IP,目标是内网服务器的内网地址,这样也没办法双向通讯啊,所以,需要让这个数据包的原地址,也变成内网地址,这样才能和内网服务器建立通讯。
修改原地址就是SNAT
我们继续在公网服务器配置:

[root@公网 ~]# iptables -t nat -I POSTROUTING -d 10.144.26.11 -p tcp –dport 80 -j SNAT –to 10.163.209.59
抓包分析:

15:38:14.846955 IP 42.120.74.108.10839 > 115.29.96.246.80: P 433:858(425) ack 159 win 16385

15:38:14.846985 IP 10.163.209.59.10839 > 10.144.26.11.80: P 433:858(425) ack 159 win 16385

15:38:14.847759 IP 10.144.26.11.80 > 10.163.209.59.10839: P 159:317(158) ack 858 win 317

15:38:14.847772 IP 115.29.96.246.80 > 42.120.74.108.10839: P 159:317(158) ack 858 win 317
访客本地公网->公网服务器公网IP
修改目标地址
公网服务器内网IP->内网服务器IP
修改原地址
内网服务器IP->公网服务器内网IP
公网服务器公网IP->访客本地公网

完成通讯,试试看。

北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾