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

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

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

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

1 [root@内网 ~]# yum install nginx -y >>/dev/null
2 [root@内网 ~]# /etc/init.d/nginx start
3 Starting nginx: [ OK ]
4 [root@内网 ~]# lsof -i:80
5 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
6 nginx 1742 root 6u IPv4 5570 0t0 TCP *:http (LISTEN)

测试nginx安装正常,可以访问。

1 [root@内网 ~]# curl -I localhost
2 HTTP/1.1 200 OK
3 Server: nginx/0.8.55
4 Date: Wed, 14 Jan 2015 07:29:05 GMT
5 Content-Type: text/html
6 Content-Length: 3698
7 Last-Modified: Tue, 11 Nov 2014 16:30:06 GMT
8 Connection: keep-alive
9 Accept-Ranges: bytes

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

1 [root@公网 ~]# sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
2 应用生效
3 [root@公网 ~]# sysctl -p
4 net.ipv4.ip_forward = 1

配置iptables,将访问公网服务器80端口的请求,转发到内网服务器的80

1 [root@公网 ~]# iptables -t nat -I PREROUTING -d 115.29.96.246 -p tcp --dport 80 -j DNAT --to 10.144.26.11:80

这时候我们访问公网服务器IP测试一下,同时抓包看转发后的数据包情况:

1 15:35:46.602240 IP 42.120.74.108.8864 > 115.29.96.246.80: S 765781831:765781831(0) win 8192
2 15:35:46.602272 IP 42.120.74.108.8864 > 10.144.26.11.80: S 765781831:765781831(0) win 8192

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

1 [root@公网 ~]# iptables -t nat -I POSTROUTING -d 10.144.26.11 -p tcp --dport 80 -j SNAT --to 10.163.209.59

抓包分析:

1 15:38:14.846955 IP 42.120.74.108.10839 > 115.29.96.246.80: P 433:858(425) ack 159 win 16385
2 15:38:14.846985 IP 10.163.209.59.10839 > 10.144.26.11.80: P 433:858(425) ack 159 win 16385
3 15:38:14.847759 IP 10.144.26.11.80 > 10.163.209.59.10839: P 159:317(158) ack 858 win 317
4 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->访客本地公网

完成通讯,试试看。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
8天前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
31 4
|
15天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
13天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
36 3
|
16天前
|
存储 缓存 固态存储
阿里云服务器2核8G、4核16G、8核32G配置租用收费标准与活动价格参考
2核8G、8核32G、4核16G配置的云服务器处理器与内存比为1:4,这种配比的云服务器一般适用于中小型数据库系统、缓存、搜索集群和企业办公类应用等通用型场景,因此,多为企业级用户选择。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
17天前
|
存储 编解码 安全
阿里云服务器2核4G、4核8G、8核16G配置租用收费标准与活动价格参考
通常情况下,个人和一般企业用户在购买阿里云服务器时比较喜欢购买2核4G、4核8G、8核16G等配置,这些配置既能满足各种图文类中小型网站和应用又能满足企业网站应用、批量计算、中小型数据库系统等场景,2核4G配置适合新手入门或初创企业,4核8G与8核16G兼具成本与性能优势,适合通用场景,本文介绍这些配置的最新购买价格,包含原价收费标准和最新活动价格。
|
22天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
28天前
|
弹性计算 安全 网络安全
阿里云服务器租用流程,四种阿里云服务器租用方式图文教程参考
阿里云服务器可以通过自定义租用、一键租用、云市场租用和活动租用四种方式去租用,不同的租用方式适合不同的用户群体,例如我们只是想租用一款配置较低且可以快速部署应用的云服务器,通常可以选择一键租用或者云市场租用,本文为大家展示不同租用方式的适合对象以及租用流程,以供初次租用阿里云服务器的用户参考和选择。下面是阿里云服务器租用的图文操作步骤。
|
1月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
269 3
|
1月前
|
NoSQL Linux PHP
|
8天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
下一篇
无影云桌面