溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇

發(fā)布時間:2020-05-29 01:17:22 來源:網(wǎng)絡(luò) 閱讀:479 作者:caozhengtao1213 欄目:系統(tǒng)運維

NAT概述

1.NAT出現(xiàn)背景

NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換),當在專用網(wǎng)內(nèi)部的一些主機本來已經(jīng)分配到了本地IP地址(即僅在本專用網(wǎng)內(nèi)使用的專用地址),但現(xiàn)在又想和因特網(wǎng)上的主機通信(并不需要加密)時,可使用NAT方法。


2.NAT工作原理

借助于NAT,私有地址的"內(nèi)部"網(wǎng)絡(luò)通過路由器發(fā)送數(shù)據(jù)包時,私有地址被轉(zhuǎn)換成合法的IP地址,一個局域網(wǎng)只需使用少量IP地址即可實現(xiàn)私有地址網(wǎng)絡(luò)內(nèi)所有計算機與Internet的通信需求。
NAT將自動修改IP報文的源IP地址和目的IP地址,Ip地址校驗則在NAT處理過程中自動完成。有些應(yīng)用程序?qū)⒃碔P地址嵌入到IP報文的數(shù)據(jù)部分中,所以還需要同時對報文的數(shù)據(jù)部分進行修改,以匹配IP頭中已經(jīng)修改過的源IP地址。否則,在報文數(shù)據(jù)部分嵌入IP地址的應(yīng)用程序就不能正常工作。


3.NAT的優(yōu)缺點

(1)NAT的優(yōu)點
節(jié)省共有合法IP地址
處理地址重疊
增強靈活性
安全性

(2)NAT缺點
延遲增大
配置和維護的復(fù)雜性
不支持某些應(yīng)用,可以通過靜態(tài)NAT映射來避免


4.NAT的實現(xiàn)方式

1.靜態(tài)轉(zhuǎn)換
是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公有IP地址,IP地址對是一對一的,是一成不變的,某個私有IP地址只轉(zhuǎn)換為某個公有IP地址。借助于靜態(tài)轉(zhuǎn)換,可以實現(xiàn)外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)中某些特定設(shè)備(如服務(wù)器)的訪問。
2.動態(tài)轉(zhuǎn)換
是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公用IP地址時,IP地址是不確定的,是隨機的,所有被授權(quán)訪問上Internet的私有IP地址可隨機轉(zhuǎn)換為任何指定的合法IP地址。也就是說,只要指定哪些內(nèi)部地址可以進行轉(zhuǎn)換,以及用哪些合法地址作為外部地址時,就可以進行動態(tài)轉(zhuǎn)換。動態(tài)轉(zhuǎn)換可以使用多個合法外部地址集。當ISP提供的合法IP地址略少于網(wǎng)絡(luò)內(nèi)部的計算機數(shù)量時??梢圆捎脛討B(tài)轉(zhuǎn)換的方式。
3.端口多路復(fù)用(PAT)
是指改變外出數(shù)據(jù)包的源端口并進行端口轉(zhuǎn)換,即端口地址轉(zhuǎn)換采用端口多路復(fù)用方式。內(nèi)部網(wǎng)絡(luò)的所有主機均可共享一個合法外部IP地址實現(xiàn)對Internet的訪問,從而可以最大限度地節(jié)約IP地址資源。同時,又可隱藏網(wǎng)絡(luò)內(nèi)部的所有主機,有效避免來自internet的叨擾。


5.NAT包含4類地址

內(nèi)部 外部
內(nèi)部局部地址 內(nèi)部全局地址
外部局部地址 外部全局地址

6. NAT的轉(zhuǎn)換條目

簡單轉(zhuǎn)換條目              ip
擴展轉(zhuǎn)換條目              ip和port(端口)                 


靜態(tài)NAT案列演示

拓撲結(jié)構(gòu)圖

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇



第一步:配置SW交換機

SW#conf t 
SW(config)#no ip routing    //關(guān)閉路由功能
SW(config)#int f1/0         //進入端口f1/0
SW(config-if)#speed 100     //配置速率
SW(config-if)#dup full      //配置全雙工模式
SW(config-if)#ex


第二步:配置R2路由器

R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 12.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int f0/1
R2(config-if)#ip add 13.0.0.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#ex
R2(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1    //配置默認路由


第三步:配置R1路由器

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 192.168.100.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int f0/1 
R1(config-if)#ip add 12.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ex
R1(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.2


第四步:配置客戶機ip地址,并測試全網(wǎng)互通性

1.配置客戶機IP地址

PC1> ip 192.168.100.10 192.168.100.1
Checking for duplicate address...
PC1 : 192.168.100.10 255.255.255.0 gateway 192.168.100.1

PC2> ip 192.168.100.20 192.168.100.1
Checking for duplicate address...
PC1 : 192.168.100.20 255.255.255.0 gateway 192.168.100.1

PC3> ip 13.0.0.13 13.0.0.1
Checking for duplicate address...
PC1 : 13.0.0.13 255.255.255.0 gateway 13.0.0.1

2.測試互通性

PC1> ping 13.0.0.13
13.0.0.13 icmp_seq=1 timeout
13.0.0.13 icmp_seq=2 timeout
84 bytes from 13.0.0.13 icmp_seq=3 ttl=62 time=45.879 ms
84 bytes from 13.0.0.13 icmp_seq=4 ttl=62 time=37.925 ms
84 bytes from 13.0.0.13 icmp_seq=5 ttl=62 time=38.894 ms

PC1> ping 192.168.100.20
84 bytes from 192.168.100.20 icmp_seq=1 ttl=64 time=0.000 ms
84 bytes from 192.168.100.20 icmp_seq=2 ttl=64 time=0.000 ms
84 bytes from 192.168.100.20 icmp_seq=3 ttl=64 time=0.000 ms
84 bytes from 192.168.100.20 icmp_seq=4 ttl=64 time=0.000 ms
84 bytes from 192.168.100.20 icmp_seq=5 ttl=64 time=0.069 ms


第五步:在R1路由器上配置NAT,并開啟debug功能

R1(config)#ip nat inside source static 192.168.100.10 12.0.0.10
R1(config)#ip nat inside source static 192.168.100.20 12.0.0.20 
R1(config)#int f0/0
R1(config-if)#ip nat inside         //將NAT應(yīng)用于內(nèi)部
R1(config)#int f0/1 
R1(config-if)#ip nat out            //將NAT應(yīng)用于內(nèi)部
R1#debug ip nat                 //測試NAT地址
IP NAT debugging is on

第六步:測試NAT地址轉(zhuǎn)換,并使用debug功能

PC1> ping 13.0.0.13
13.0.0.13 icmp_seq=1 timeout
13.0.0.13 icmp_seq=2 timeout
84 bytes from 13.0.0.13 icmp_seq=3 ttl=62 time=41.886 ms
84 bytes from 13.0.0.13 icmp_seq=4 ttl=62 time=38.922 ms

R1#
*Mar  1 00:30:38.259: NAT*: s=192.168.100.10->12.0.0.10, d=13.0.0.13 [1514]
R1#
*Mar  1 00:30:40.259: NAT*: s=192.168.100.10->12.0.0.10, d=13.0.0.13 [1515]
R1#
*Mar  1 00:30:42.263: NAT*: s=192.168.100.10->12.0.0.10, d=13.0.0.13 [1516]
*Mar  1 00:30:42.291: NAT*: s=13.0.0.13, d=12.0.0.10->192.168.100.10 [1516]
R1#
*Mar  1 00:30:43.307: NAT*: s=192.168.100.10->12.0.0.10, d=13.0.0.13 [1517]
*Mar  1 00:30:43.335: NAT*: s=13.0.0.13, d=12.0.0.10->192.168.100.10 [1517]
R1#
*Mar  1 00:30:44.347: NAT*: s=192.168.100.10->12.0.0.10, d=13.0.0.13 [1518]
*Mar  1 00:30:44.379: NAT*: s=13.0.0.13, d=12.0.0.10->192.168.100.10 [1518]
//出方向?qū)⒃吹刂穝=192.168.100.10轉(zhuǎn)換成12.0.0.10,回方向?qū)?目標地址d=12.0.0.10轉(zhuǎn)換成192.168.100.10


靜態(tài)NAT端口映射案列演示

拓撲結(jié)構(gòu)圖

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇環(huán)境需求:
一臺Linux虛擬機(CentOS 7),作為局域網(wǎng)內(nèi)提供服務(wù)服務(wù)器
一臺Windows 虛擬機(win 7),作為公網(wǎng)的客戶端


第一步:打開Linux虛擬機,在網(wǎng)絡(luò)連接時安裝并架設(shè)服務(wù)

[root@192 ~]# yum install httpd -y //安裝服務(wù)

[root@192 ~]# vim /var/www/html/index.html //編輯測設(shè)網(wǎng)頁

<hl>this is inside web</hl>

[root@192 ~]# systemctl start httpd //開啟服務(wù)
[root@192 ~]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@192 ~]# setenforce 0 //關(guān)閉增強型安全功能


第二步:測試網(wǎng)站是否架設(shè)成功

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇


第三步:將Linux虛擬機的網(wǎng)卡綁定為VMnet1(僅主機模式),并設(shè)定靜態(tài)ip地址

1.綁定網(wǎng)卡
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇
2.設(shè)定靜態(tài)ip

root@192 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static            
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=88cf4975-29b8-4041-9cb0-456a56d1fddb
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.100          
NETMASK=255.255.255.0
GATWAY=192.168.100.1

[root@192 ~]# service network start 
Starting network (via systemctl):                          [  確定  ]

第四步:配置R1路由器

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 192.168.100.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ex
R1(config)#int f0/1
R1(config-if)#ip add 12.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ex

第五步:將win 7虛擬機的網(wǎng)卡綁定為VMnet2(僅主機模式),并設(shè)定靜態(tài)ip地址

1.綁定網(wǎng)卡
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇

2.設(shè)定靜態(tài)ip網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇


第六步:在R1路由器上配置NAT映射,并開啟debug功能

1.先查看Linux的服務(wù)端口號

[root@192 ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      2659/httpd    

2.設(shè)定路由器上的NAT映射關(guān)系

R1(config)#ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable
R1(config)#int f0/0                                                            
R1(config-if)#ip nat in
R1(config-if)#int f0/1
R1(config-if)#ip nat out
R1(config-if)#end

R1#debug ip nat
IP NAT debugging is on

第七步:使用win 7虛擬機模擬公網(wǎng)主機來訪問私網(wǎng)Linux服務(wù)器搭建的服務(wù)

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)---靜態(tài)實踐篇

R1#
*Mar  1 00:09:18.395: NAT*: TCP s=49163, d=8080->80
*Mar  1 00:09:18.395: NAT*: s=12.0.0.12, d=12.0.0.100->192.168.100.100 [119]
//抓取到端口與地址轉(zhuǎn)換的過程
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI