好吧,我承认这个标题挺难读 , 从一会儿内网一会儿公网一会儿又内网的。

但是这确实一个很实在的问题。如果你用的是ASA或其他防火墙,可以直接

跳过,这东西对防火墙来说实现起来太容易。我们的目标还是思科的路由器。

不过这个功能对于思科的路由器来说仅仅只是可以实现,效果不是太好,有

些副作用,比如效率问题,所以前些日子,南通的丁博士问我这个问题的时候,

我建议他修改网站代码,不要写死域名,仍然通过内网IP地址访问。

如图所示: 内网的一台电脑需要通过互联网的DNS访问内网的一台服务器.

当公司内部无DNS或PC的DNS设置不是公司内部的DNS服务器时,就无法

通过域名来访问这个服务器。

换句话说就是 192.168.1.100可以直接访问10.1.1.100,但192.168.1.100

无法访问218.2.2.2 。

为了达成通过192.168.1.100 直接访问218.2.2.2 , 我们得利用一点小技巧。

英文叫:NAT Hairpinning 或者 NAT loopback 或者 NAT on-a-stick.

有一个思科官方的文档可参考   http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/6505-nat-on-stick.html

美食有舌尖上的中国,路由有NAT上的拐棍。。

其实现原理的确像一个拐棍一样: 包进入以后,从自己先转换成一个地址,

然后再从这个地址访问互联网地址,再通过自己拐回来。。

关心一下配置,R2 g0/1 为内网口  , g 0/0为外网口。为了实现内网用户上网

以及外网用户访问服务器,先在g0/0,g0/1上启用地址转换。

#

int g 0/0

ip add 218.2.2.2/30

ip nat enable

int g 0/1

ip add 10.0.1.1/30

ip nat enable

ip add 4.4.4.1/24  #在内网口上加一个子地址

no ip redirects   #禁止路由器发送重定向包

#

#建一个NAT地支池,跟刚才加的子地址在同一个子网

ip nat pool stickpool 4.4.4.2 4.4.4.254 prefix-length 24

#定义一个ACL,抓出内网访问的设备地址

access-l 10 permit 192.168.1.0   0.0.0.255

#开始拐了。。

ip nat source list 10 pool stickpool overload

#定义一个ACL,允许外网用户访问内网的10.1.1.100

access-l 101 permit tcp any host 10.1.1.100 eq 80

#拐回去了。。
ip nat source static tcp 10.1.1.100 80 218.2.2.2 80 extendable

ip nat source list 101 int g 0/1 overload

大功告成,测试OK,内网用户也可以通过218.2.2.2:80访问了。

直接用外网DNS毫无问题。



Cisco NAT --- 从内网用公网IP地址访问内网服务器相关推荐

  1. H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器

    H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器 ------------------------------------------------------------ ...

  2. 阿里云云服务器无法通过公网ip地址访问网站的解决方法

    刚购买的阿里云服务器自建网站却发现无法通过公网ip地址访问网站,主要是由于阿里云云服务器默认没有配置80端口的http协议安全组,给其添加上即可. 在自己的服务器实例中点击更多,选择网络与安全组,点击 ...

  3. java判断内网ip_Java判断IP地址为内网IP还是公网IP的方法

    本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8 ...

  4. golang中获取公网ip、查看内网ip、检测ip类型、校验ip区间、ip地址string和int转换、根据ip判断地区国家运营商等

    作者: 一蓑烟雨1989 所属专栏: Go从不放弃到实战 本文链接:https://blog.csdn.net/wangshubo1989/article/details/78066344 生命不止, ...

  5. 搭建个人网站没有公网IP地址可以吗?

    搭建网站不一定需要公网IP地址,甚至都不需要云服务器或虚拟主机.可以先在本地个人电脑中搭建一个网站:然后网站需要为公网上的其他访客提供访问:所以,需要内网穿透,映射公网域名进行访问.但是完全没必要,搭 ...

  6. SRT编码器传输获取公网IP地址3种解决方案

    SRT是时下最热门的互联网传输协议,具备低延时.稳定可靠传输的优势特性,可广泛应用于远程制作.远程监看.异地互动等需要互联网远程传输场景. SRT 是点对点传输协议,由于需要穿透互联网,所以至少需要有 ...

  7. NAT环境下,内网用户使用公网地址访问内网服务器

    一.环境 1.单位内部有一台服务器,提供web.ftp.ssh等服务,ip地址为私网地址. 2.出口使用cisco路由器,做端口映射,使服务器对外提供服务. 3.内部用户可以通过私网地址访问服务器,外 ...

  8. ESXI + pfsense + 公网ip ,实现内网服务器端口映射

    暴露内网服务器端口的方法有很多,之前介绍过ngrok和frp,今天我们用 ESXI +pfsense 来做下. 0. 准备材料 ESXI服务器一台,双网卡,版本5.5以上 公网ip一个(有固定IP是最 ...

  9. frp内网穿透-公网IP低成本使用高性能kali

    frp内网穿透-公网IP低成本使用高性能kali 1.frp Github项目地址:https://github.com/fatedier/frp 找到最新的releases下载,系统版本自行确认. ...

最新文章

  1. 解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
  2. matlab ga rbf,GA PSO优化的RBF神经网络
  3. 【Kaggle-MNIST之路】CNN+改进过的损失函数(三)
  4. UA MATH566 统计理论1 充分统计量例题答案3
  5. SpringBoot中使用thymeleaf模板时select下拉框怎样查询数据库赋值
  6. Python学习笔记:线程和进程(合),分布式进程
  7. .net core2.0下Ioc容器Autofac使用
  8. SharePoint 2010 技术参数(整理)
  9. SQL Server R2 地图报表制作(五)
  10. 历时四年,给Google提交的Android Framework Bug终于被Fixed了
  11. 8 个 jQuery 的 PDF 浏览插件
  12. Apache的详细配置
  13. mysql查询值替换_MySQL选择查询替换值
  14. 利用IP地址查询接口来查询IP归属地
  15. python file operate example - 2
  16. 用matlab进行单整性检验,应用VAR模型时的15个注意点(笔记)
  17. 马云单挑“叶问”吊打“战狼”,网友:原来天下武功,唯富不破~是贫穷限制了我的想象力
  18. htmlcss笔记(更新版)
  19. dot全称_DOT是什么
  20. linux 创建 swap分区

热门文章

  1. linux断电并重启命令,Linux系统关机重启相关命令
  2. Linux 5.19 迎来首个候选版本,Linus:多平台 Linux 内核“差不多完成了”
  3. C语言题目代码总结解析
  4. Java 小项目 01 简单记账软件
  5. C++ 类中的static成员的使用及单例设计示例
  6. CRP原理的简单例子
  7. 无限火力服务器爆炸,lol:无限火力这些英雄打架,腾讯看的都紧张,打到服务器爆炸!...
  8. Python-Opencv fitLine 拟合直线
  9. 我的谷歌变成了金色传说!
  10. CVE-2021-30461 - VoIPMonitor未授权远程代码执行漏洞