内网IP出不去?试试这几种最常见的地址映射方案!

360影视 日韩动漫 2025-05-12 15:12 1

摘要:内网设备的IP地址,通常是像 192.168.1.x、10.0.0.x 这样的私有地址,它们不能直接访问公网。因为公网互联要用全球唯一的公网IP,私有地址在公网是无法识别的。

hello,我是网工小陈。

今天聊聊内网IP。如何将内网的IP地址映射到外网,给你说道说道。

内网设备的IP地址,通常是像 192.168.1.x、10.0.0.x 这样的私有地址,它们不能直接访问公网。因为公网互联要用全球唯一的公网IP,私有地址在公网是无法识别的。

这就需要 NAT(Network Address Translation,网络地址转换) 出场了。

它的作用是:在内网设备访问外网时,把私有IP地址“翻译”成公网IP地址,让它们“伪装”成合法公网设备,实现内外网通信。

1. 静态NAT(Static NAT)

一个内网IP ↔ 一个公网IP,1:1 映射关系。

适合场景:公司有服务器(如Web服务器、邮件服务器)需要被外网访问。

内网服务器IP:192.168.1.100公网IP映射:8.8.8.100

配置后,公网访问 8.8.8.100,其实访问的是公司内部这台服务器。

优点:固定、稳定,公网访问明确。缺点:浪费公网IP,一个公网IP只服务一个内网设备。

2. 动态NAT(Dynamic NAT)

多个内网IP ↔ 多个公网IP池,自动分配,非固定绑定。

适合场景:内网设备数量较多,公网IP资源也比较充足的企业。

内网IP范围:192.168.1.0/24公网IP池:8.8.8.101~8.8.8.105

用户每次访问外网时,设备会从公网池中动态挑选一个IP做映射。

优点:比静态NAT节省公网IP。缺点:不适用于公网访问内网;不能保证某个内网IP每次都有公网IP分配。

3. PAT(Port Address Translation,也叫NAPT)

又叫端口多路复用多个内网IP共用一个公网IP,通过端口号区分

这就是最常用、最经济的一种方式了。

公司只有一个公网IP:8.8.8.200内网IP:192.168.1.101、192.168.1.102、192.168.1.103……

当多个用户访问外网时,交换机会把:

192.168.1.101:4000 映射成 8.8.8.200:20001192.168.1.102:4001 映射成 8.8.8.200:20002

通过端口号区分不同连接。

优点:节省公网IP,只需一个公网IP即可让多个内网设备访问外网。缺点:公网设备无法主动访问内网设备(需要端口映射技术)。

三、三种NAT方式的对比总结

可以看到,PAT 是企业和家庭网络中最常见的方式。只要有一个公网IP,就能让一整个内网访问外网,这也是大多数宽带家庭能上网的基础原理。

华为设备(AR系列)上配置NAT(以PAT为例)

假设公网接口为 G0/0/0,内网接口为 G0/0/1。

# 进入系统视图
system-view

# 配置公网接口
interface GigabitEthernet 0/0/0
ip address 202.100.1.1 255.255.255.0
nat outbound

# 配置内网接口
interface GigabitEthernet 0/0/1
ip address 192.168.1.1 255.255.255.0

# 配置地址池(如果使用动态NAT)
nat address-group 1 202.100.1.10 202.100.1.20

# 配置源地址转换(PAT模式,使用接口地址)
acl 2001
rule permit ip source 192.168.1.0 0.0.0.255

nat address-group 1 202.100.1.1 202.100.1.1
nat outbound 2001 address-group 1 overload

注意:“overload” 关键字表示 PAT(端口复用),即多台设备共享一个公网IP。

思科设备上配置PAT:

# 配置公网接口
interface GigabitEthernet0/0
ip address 202.100.1.1 255.255.255.0
ip nat outside

# 配置内网接口
interface GigabitEthernet0/1
ip address 192.168.1.1 255.255.255.0
ip nat inside

# 创建ACL,定义哪些地址需要转换
access-list 1 permit 192.168.1.0 0.0.0.255

# 配置NAT地址转换(使用外网接口的IP)
ip nat inside source list 1 interface GigabitEthernet0/0 overload

光是让内网设备能访问外网还不够,实际工程中,还有很多人会问:

“我要让公网用户访问我内网的一台Web服务器怎么办?”

这就涉及到 端口映射(Port Forwarding) 了,也是 PAT 的一种玩法。

1. 场景一:公网访问内网Web服务(端口映射)

假设你公司有一台Web服务器,IP 是 192.168.1.100,运行在内网,但你希望外网能通过公网IP 202.100.1.1 的 80 端口访问它。

# 进入系统视图
system-view

# 创建ACL
acl 2001
rule permit ip source any destination 202.100.1.1 0

# 配置NAT服务器映射
nat server protocol tcp global 202.100.1.1 www inside 192.168.1.100 www

思科配置示例:

ip nat inside source static tcp 192.168.1.100 80 202.100.1.1 80

这里的意思是:把公网的202.100.1.1:80 转发到内网192.168.1.100:80。

2. 场景二:多个内网服务映射到一个公网IP不同端口

公网IP紧张时,一个公网IP可以通过不同端口映射到多个内网主机服务,比如:

配置方式同样是通过 NAT server / static 方式映射端口。

3. 场景三:内网多个出口IP+多个公网IP,做地址池负载

企业网中,如果有多个公网IP段,比如你有一个地址池:202.100.1.10 到 202.100.1.20

可通过 动态NAT + 地址池 让内网用户出网更均衡,提升性能。

很多小伙伴配置NAT之后会遇到:

内网出不了网公网无法访问映射服务NAT状态查不到DNS能解析但ping不通

排查建议如下:

1. ACL配置有误

很多时候,是 ACL 里没写对,比如 IP 段、掩码错误,或者压根没有创建。

检查命令(以华为为例):

display acl 2001

2. NAT没有绑定公网接口

检查是否绑定了公网出口口 NAT OUTBOUND,或者 NAT SERVER。

3. 查看 NAT 会话表

华为:display nat session all思科:show ip nat translations

你可以判断:是否有会话建立?是否翻译成功?

4. 查看地址池状态(动态NAT)

华为:display nat address-group思科:show ip nat statistics

能用PAT就别搞动态NAT,公网IP是稀缺资源。

如果配置端口映射,务必检查端口是否已占用

多做 ping + tracert + telnet 端口,对排障很有帮助。

NAT日志很关键,建议开启调试模式观察(慎用生产网):

思科:debug ip nat华为:debugging nat all

NAT 看起来只是做地址转换,但它牵涉了太多网络核心原理:

IP地址的规划与管理、数据包是怎么从内网跳出去、如何才能在公网穿透内网访问某个服务、为什么你打得通 DNS 却打不开网页、怎么通过一个公网IP服务多个内网主机……

这些都是 NAT 的“副作用”,也是很多人卡住的点。

所以说,NAT 是新手进阶的分水岭。

它是让你从“配置网通”到“理解网络行为”的关键一步。

建议你现在就打开你身边的交换机/路由器,试着做一个简单的源NAT配置,把理论变成手上的操作,那才是网工最硬的本事。

关于作者:叫我小陈就好,95年新手女网工,老杨的小助理。在甲方当牛马,HCIE数通已拿下。爱学习、爱交朋友,长期主义者,默默进阶学习的路上!专注分享网工相关知识,文章如有错误,感谢指正,共同进步吖~

来源:网络工程师俱乐部一点号

相关推荐