现在说说疑问,希望有大神能给出解释:
——————————————在R1上NAT配置为:——————————————
ip nat inside source static tcp 20.20.20.1 23 10.10.10.254 23
ip nat outside source static 10.10.10.1 10.10.10.254
使用debug ip packet ,debug ip nat detailed 输出信息如下,有一些省略。(#后为我自己的判断,不一定正确)
*Mar 1 01:28:52.319: NAT: o: tcp (10.10.10.1, 27111) -> (10.10.10.254, 23) [12632] #(o 代表数据流从外部到内部)
*Mar 1 01:28:52.319: NAT: s=10.10.10.1->10.10.10.254, d=10.10.10.254 [12632] #(数据流从外部到内部,ip nat ouside source static转源IP)
*Mar 1 01:28:52.323: NAT: s=10.10.10.254, d=10.10.10.254->20.20.20.1 [12632] #(数据流从外部到内部,ip nat inside source static转目标IP,再查路由表)
*Mar 1 01:28:52.327: IP: tableid=0, s=10.10.10.254 (local), d=20.20.20.1 (FastEthernet0/0), routed via FIB
*Mar 1 01:28:52.327: IP: s=10.10.10.254 (local), d=20.20.20.1 (FastEthernet0/0), len 44, sending
*Mar 1 01:28:52.367: IP: tableid=0, s=20.20.20.1 (FastEthernet0/0), d=10.10.10.254 (Loopback0), routed via RIB
*Mar 1 01:28:52.371: NAT: i: tcp (20.20.20.1, 23) -> (10.10.10.254, 27111) [49839] #(i 代表数据流从内部到外部)
*Mar 1 01:28:52.371: NAT: s=20.20.20.1->10.10.10.254, d=10.10.10.254 [49839] #(数据流从内部到外部,ip nat inside source static转源IP)
*Mar 1 01:28:52.375: NAT: s=10.10.10.254, d=10.10.10.254->10.10.10.1 [49839] #(数据流从内部到外部,ip nat outside source static转目标IP)
——————————————在R1上NAT配置只为:——————————————
ip nat outside source static 10.10.10.1 10.10.10.254
使用debug ip packet ,debug ip nat detailed 输出信息如下:
*Mar 1 01:08:05.779: IP: tableid=0, s=10.10.10.1 (local), d=10.10.10.254 (Loopback0), routed via RIB
*Mar 1 01:08:05.779: IP: s=10.10.10.1 (local), d=10.10.10.254 (Loopback0), len 44, sending
*Mar 1 01:08:05.783: NAT: setting up outside mapping 10.10.10.254->10.10.10.1, with mapping-id 0
*Mar 1 01:08:05.787: NAT: i: tcp (10.10.10.1, 32292) -> (10.10.10.254, 23) [38404]
*Mar 1 01:08:05.791: NAT: s=10.10.10.1, d=10.10.10.254->10.10.10.1 [38404] #(数据流从内部到外部,先查路由表,再NAT转目标IP)
*Mar 1 01:08:05.799: IP: tableid=0, s=10.10.10.1 (Loopback0), d=10.10.10.1 (Loopback0), routed via RIB
*Mar 1 01:08:05.803: IP: s=10.10.10.1 (Loopback0), d=10.10.10.1 (Loopback0), len 44, rcvd 3
*Mar 1 01:08:05.815: NAT: o: tcp (10.10.10.1, 23) -> (10.10.10.1, 32292) [52559]
*Mar 1 01:08:05.819: NAT: s=10.10.10.1->10.10.10.254, d=10.10.10.1 [52559] # (数据流从外部到内部,先NAT转源IP,再查路由表)
我的疑问是:
当R1单独用ip nat outside
根据debug信息,我推测的是:路由器认为10.10.10.1->10.10.10.254 这个流量是内部到外部。
而和ip nat inside一起用时,根据debug信息,路由器认为10.10.10.1->10.10.10.254 这个流量是外部到内部。
为啥会这样的呢?
——————————————————————
我参考的一些NAT资料:
https://www.cisco.com/c/zh_cn/support/docs/ip/network-address-translation-nat/13773-2.htmlhttps://www.cisco.com/c/zh_cn/support/docs/ip/network-address-translation-nat/6505-nat-on-stick.html