configuration思科871 IOS 12.4(15)T4的发夹?

我是IOS的新手。 在过去,我使用的消费者路由器似乎很聪明,可以自动将请求发送到通过公用名称寻址的内部主机回到内部networking。 我认为这被称为发夹。

我需要这样做,以便办公室的笔记本电脑可以通过其公用名称从办公室外部和内部访问我们的办公室networking上的服务器。

这个东西让我难住,但我确定这是一个networking专家的小菜一碟。

注意:我们没有内部DNS(我们只有4台机器)。

假设…

  1. 我对这个问题的理解是正确的(请参阅评论@petrus)
  2. 而且你正在使用静态 nat使用诸如以下的东西你的内部服务器暴露给互联网:

    (config)#ip nat内部源静态PRIVATE-IP PUBLIC-IP可扩展

没有 PAT, 只有普通的,老的和无聊的静态NAT ),那么在有效载荷中有对PUBLIC-IP的引用(与在静态NAT中使用的相同)的任何DNS回复将被重写到PRIVATE -IP。

因此,如果满足前提条件(即使用静态NAT),当您的用户查询您的主机名的外部DNS服务器时,他们将收到重新写入的DNS答案(PRIVATE_IP),并应​​该连接到您的服务器没有问题。

您的外部用户将像往常一样连接到您的服务器,即使用服务器的PUBLIC-IP地址。

您可能需要查看以下文档: DNS响应的networking地址转换

你要做的是执行反向端口地址转换。

人们称之为各种疯狂的事情,比如:NAT Hairpinning,NAT-on-a-stick,NATreflection和NAT环回。

只是为了清除这一点,..发夹是一种NAT-on-a-Stickconfiguration中使用的技术,涉及具有NAT“回送”stream量。 这听起来像你想要的,但很可能不是你想要的。 这些简单forms的configuration只有一个接口。 他们实际上把一台路由器变成一台NAT服务器到一个交换networking。

使用Google来解决这类问题是很困难的,所以我会重申:

如果您无法使用GLOBAL IP地址和端口访问内部服务器,那么这篇文章就是为您准备的!

您必须configuration另一种名为NVI的NAT,而不是传统的NAT。

要configurationNAT NVI,您可以replace:

ip nat outsideip nat inside ip nat接口configuration模式下 启用

ip nat内部源静态abcd xx int fa0 yy ip nat源静态abcd xx int fa0 yy 全局configuration模式

ip nat源路由映射NAT_MAP接口Dialer1过载,用于源NAT内部的NAT n route_map NAT_MAP接口 全局configuration模式下的 Dialer1过载

现在,您应该能够使用GLOBAL IP ADDRESS从LAN访问您的Web服务器。

这是伟大的,对不对? 如果你有一个dynamic的IP地址,那么不是这样的,因为路由器重新启动后,它就会启动,NAT条目将成为传统的NAT条目而不是NVI条目。 一般情况下,这会打破“端口转发”,所以我写了一个脚本,在界面处于启动状态时立即重新input语句。 我只是要在这里留下,如果有人需要帮助,随时问。

(顺便说一句,你可以告诉这是发生在你身上,如果你有ip nat源静态…语句在输出显示ip nat翻译而不是ip nat nvi翻译。)

脚本在这里可用:

https://github.com/vittorio88/cisco-scripts/blob/master/fix_nvi.tcl

保存并复制到路由器。 查看文件内部如何configurationIOS来使用脚本。

祝你好运!

PS启用NVI使您的路由器轻微的性能打击。 这在旧的路由器或800系列上可能更为显着。

如果你问了,那么我会猜测你困扰的是NAT(实际上是哼声,拍拍)configuration。

如果是这样,看看下面的例子:

ip nat inside source static tcp 172.22.151.10 22 interface FastEthernet1/0 22 

这条线路将把FastEthernet1 / 0(WAN接口)上的所有传入请求(tcp端口22)转发到内部主机172.22.151.10,同样也在tcp端口22上。

如果你在里面,那么就不需要路由器上的任何configuration,你应该能够直接到达服务器。