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

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

但是这确实一个很实在的问题。如果你用的是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毫无问题。






  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Cisco NAT是一种网络地址转换技术,用于将一个内部网络的私有IP地址转换为外部网络的公共IP地址,从而实现互联网访问。如果我们想通过外网SSH登录内部网络设备,我们可以使用Cisco NAT来实现此功能。 首先,我们需要在内部网络设备上配置SSH服务,并分配一个SSH端口号。然后,我们需要在Cisco NAT设备上进行以下配置: 1. 配置访问控制列表(ACL):我们需要创建一个ACL来允许外部网络的SSH连接通过NAT设备访问内部网络设备。ACL应该包括外部IP地址和允许的SSH端口号。 2. 配置静态NAT:我们需要为内部网络设备创建一个静态NAT映射,将其内部IP地址映射到外部网络的公共IP地址。这样,外部网络的SSH请求才能正确地转发到内部网络设备。 3. 配置端口转发:如果我们有多个内部网络设备需要通过SSH访问,我们可以配置端口转发来将外部网络的不同SSH端口号转发到内部网络的不同设备。这样,我们可以使用不同的SSH端口号访问不同的设备。 最后,我们可以通过外网使用SSH客户端工具来连接内网设备。在SSH客户端中,我们需要输入NAT设备的外部公共IP地址和配置的SSH端口号。当我们连接时,NAT设备将自动将SSH请求转发到正确的内部网络设备上,从而允许我们通过外网SSH登录到内部网络设备。 使用Cisco NAT技术可以实现外网SSH登录内网设备的安全访问,但我们还应该采取其他安全措施,例如使用强密码、启用SSH加密等,以确保网络的安全性。 ### 回答2: Cisco NAT 是一种网络地址转换技术,通过它可以实现在外网通过 SSH 登录内网设备。 在使用 Cisco NAT 进行外网 SSH 登录内网设备时,我们需要进行以下配置: 1. 在边界设备上配置静态 NAT:通过在边界设备上配置静态 NAT,将外部 IP 地址映射到内网设备的 IP 地址。例如,我们可以将外部 IP 地址映射到内网设备上的 SSH 端口(默认为端口22)。 2. 在边界设备上配置访问控制列表(ACL):为了保证安全性,在配置 NAT 的同时,我们需要配置 ACL,限制允许进行 SSH 登录的 IP 地址范围。只有在 ACL 允许的 IP 地址下,才能够使用该外网 IP 地址进行 SSH 登录。 3. 配置 SSH:在内网设备上,我们需要配置 SSH 服务。可以指定允许进行 SSH 登录的用户名和密码,或者使用密钥进行身份验证。 4. 配置路由:在边界设备上配置路由,确保外网数据包可以正确地转发到内网设备。 配置完成后,我们可以通过在外网使用指定的公共 IP 地址和指定的 SSH 端口,连接到内网设备。例如,如果我们将外部 IP 地址映射到内网设备的 SSH 端口上,我们可以使用类似于 "ssh username@外部IP地址 -p port" 的命令,在外网通过 SSH 登录到内网设备。 总结来说,通过 Cisco NAT 技术可以方便地实现从外网通过 SSH 登录内网设备。但在配置 NAT 时,需要同时考虑安全性,通过限制 ACL、配置 SSH 和路由等方式来保障网络安全。 ### 回答3: 在使用Cisco NAT技术实现从外网通过SSH登录内网设备时,需要进行以下步骤: 1. 配置源地址转换(PAT):在NAT设备上设置NAT转换规则,将内网设备的IP地址转换为NAT设备的公网IP地址。这样,内网设备发送的SSH数据包会经过NAT设备并被转换为公网IP地址。 2. 开启SSH访问:确保内网设备已启用SSH远程访问功能,并在其配置中设置SSH登录所需的用户名和密码。也可以配置密钥认证机制,提高安全性。 3. 配置访问控制列表(ACL):在NAT设备上创建ACL,并将SSH连接的源IP地址添加到允许访问的列表中。这样,只有在ACL中指定的IP地址才能建立到内网设备的SSH连接。 4. 配置端口转发(Port Forwarding):在NAT设备上设置端口转发规则,将外部设备的SSH请求转发到内网设备的SSH服务端口上。这样,当外网设备通过指定的NAT设备的公网IP地址和端口号连接时,请求会被转发到相应内网设备上。 5. 防火墙配置:如果在内网中存在防火墙,需要相应地配置防火墙规则,允许对内网设备的SSH连接。确保防火墙未阻止SSH连接。 通过以上步骤的配置,就可以从外网通过SSH连接NAT设备,并远程登录到内网设备。这样,可以实现对内网设备的远程管理和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值