NAT

73 阅读4分钟

背景

外网IP(公网地址、Internet地址)

  • A类:1.0.0.1~126.255.255.254
  • B类:128.0.0.1~191.255.255.254
  • C类:192.0.0.1~223.255.255.254

内网IP(私网地址、局域网地址)

  • A类:10.0.0.0~10.255.255.255
  • B类:172.16.0.0~172.31.255.255
  • C类:192.168.0.0~192.168.255.255

矛盾点

  • 既要缓解IPv4地址不够用的现状,又要解决内网IP无法在外网使用的问题;

概述

  • 网络地址转换NAT(Network Address Translation)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。

作用

  • 缓解IPv4地址枯竭现象,解决内网和外网IP转换问题。
  • 有效避免来自外网的攻击,可以很大程度上提高网络安全性。
  • 控制内网主机访问外网,同时也可以控制外网主机访问内网。

地址

  • 内部局域地址:发送方内网地址
  • 内部全局地址:发送方公网地址
  • 外部全局地址:接收方公网地址
  • 外部局域地址:接收方内网地址

NAT转换方式

静态转换

  • IP地址转换,一对一转换,形成永久转换关系(绑定);

  • 优点:

    • 可以实现双向访问(可以实现内访外,也可实现外访内);
  • 缺点:

    • 无法节省IP地址,无法缓解IPv4地址枯竭现象;

image-20240325160446313

动态转换

  • IP地址转换,多对多转换,形成临时性的转化关系;

  • 优点:

    • 相较静态转换,外网IP重用率更高;
    • 外网无法定位内网具体主机,内网遭受攻击的可能性降低;
  • 缺点:

    • 当内网IP比外网IP多时,无法实现内网主机同时访问外网主机,在一定程度上,无法实现外网IP节省;

image-20240325161430406

端口多路复用

  • IP地址和端口转换,多对一(多对多),形成临时转换关系;

  • 优点:

    • 可以节省外网IP地址,缓解IPv4地址枯竭现象;
    • 可以实现内部访外控制;
  • 典型案例:

    • 实现源地址转换(SNAT):内网主机访问外网主机的地址过程(内网IP转为外网IP);

image-20240325162025390

端口映射

  • 将内网IP和端口映射到外网IP和端口。

  • 优点:

    • 可以节省外网IP地址,缓解IPv4地址枯竭现象;
    • 可以实现外访内的访问控制;
  • 典型案例:

    • 目的地址转换(DNAT):外网主机访问内网主机的地址转换过程(外网IP和端口转换为内网IP和端口);

image-20240325162752347

华为NAT实现

静态转换

image-20240325160446313

  • 查看静态nat信息:dis nat static

AR1:

  1. sys
  2. int g0/0/0
  3. ip add 192.168.10.254 24
  4. int g0/0/1
  5. ip add 22.33.44.55 24
  6. q
  7. int g0/0/1
  8. nat static global 22.33.44.56 inside 192.168.10.1
  9. nat static global 22.33.44.57 inside 192.168.10.2
  10. nat static global 22.33.44.58 inside 192.168.10.3

动态转换

image-20240325161430406

  • 查看端口多路复用信息:dis nat outbound

AR1:

  1. sys
  2. int g0/0/0
  3. ip add 192.168.10.254 24
  4. int g0/0/1
  5. ip add 22.33.44.55 24
  6. q
  7. #确定要转换的内网主机
  8. acl 2000
  9. rule permit
  10. q
  11. #确定可用的外网IP范围,指定起始IP和结束IP
  12. nat address-group 1 22.33.44.56 22.33.44.57
  13. #将nat配置应用到物理接口
  14. int g0/0/1
  15. nat outbound 2000 address-group 1 no-pat

端口多路复用

image-20240325162025390

  • 查看端口多路复用信息:dis nat outbound

  • NAPT

    • 需要单独的NAT转换的外网IP(一个作为接口IP,一个作为NAT转换IP);

AR1:

  1. sys
  2. int g0/0/0
  3. ip add 192.168.10.254 24
  4. int g0/0/1
  5. ip add 22.33.44.55 24
  6. q
  7. #确定要转换的内网主机
  8. acl 2000
  9. rule permit
  10. q
  11. #确定可用的外网IP范围,指定起始IP和结束IP
  12. nat address-group 1 22.33.44.56 22.33.44.57
  13. #将nat配置应用到物理接口
  14. int g0/0/1
  15. nat outbound 2000 address-group 1

Easy-IP(使用较多)

  • 可以直接使用接口的外网IP作为NAT转换的外网IP(只需要一个外网IP);

AR1:

  1. sys
  2. int g0/0/0
  3. ip add 192.168.10.254 24
  4. int g0/0/1
  5. ip add 22.33.44.55 24
  6. q
  7. acl 2000
  8. rule permit
  9. q
  10. int g0/0/1
  11. nat outbound 2000

端口映射

image-20240325174806417

  • 查看端口映射信息:dis nat server
  1. AR1:
  2. sys
  3. int g0/0/0
  4. ip add 192.168.10.254 24
  5. int g0/0/1
  6. ip add 22.33.44.55 24
  7. q
  8. int g0/0/1
  9. nat server protocol tcp global current-interface 8080 inside 192.168.10.2 80