NAT網絡地址轉換理論+實驗

NAT網絡地址轉換

NAT不只能解決IP地址不足的問題,並且還可以有效地避免來自網絡外部的隱患,隱藏並保護網絡內部的計算機。
1.寬帶分享:這是 NAT 主機的最大功能。
2.安全防禦:NAT 以內的 PC 聯機到 Internet 上面時,他所顯示的 IP 是 NAT 主機的公共 IP,因此 Client 端的 PC 固然就具備必定程度的安全了,外界在進行 portscan(端口掃描) 的時候,就偵測不到源Client 端的 PC html

一、NAT的工做原理

Network Address Translation ,網絡地址轉換linux

二、NAT實現方式

(1)靜態轉換 (Statin Translation)
(2)動態轉換 ( Dynamic Translation)
(3)端口多路複用(Port Address Translation,PAT)web

三、NAT的優缺點

一、NAT的優勢

(1)節省公有合法的IP地址
(2)處理地址重疊
(3)加強靈活性
(4)安全性vim

二、NAT的缺點

(1)延遲增大
(2)配置和維護更復雜
(3)不支持某些應用,能夠經過靜態NAT映射來避免安全

NAT的術語於轉換表

在這裏插入圖片描述
NAT地址轉換一種假裝,確保了地址的安全
如圖:
PC1第一件事情發出請求,先查詢路由表,而後纔會根據NAT錶轉換成公網地址,去訪問外部網。源IP,目的IP,這時候外部的源IP就變成了公網地址。
PC2第一件事情給出迴應,先查詢NAT轉換表,再查詢路由表發送數據包。
迴應時兩個接口若是先查詢路由表,就無法去找到,一個接口是1.0一個是125.0
內部:
源IP:內部局部地址
目的IP:外部局部地址
外部:
源IP:內部全局地址
目的IP:外部全局地址服務器

四、NAT的轉換條目

(1)簡單轉換條目(根據IP地址)
(2)擴輾轉換條目(根據IP地址和 端口)網絡

五、NAT的工做過程

在這裏插入圖片描述

1:本身主機的地址10.1.1.1
2.根據NAT轉換表,須要本身手動配置,TCP協議,內部用局部IP地址,內部用全局IP地址,外部用全局IP地址
3.目的IP地址
4.訪問外部網
5.目的IP地址和源IP地址

六、PAT的工做過程

在這裏插入圖片描述

PAT是多個私網地址轉換成一個公網地址,多了端口,端口能夠本身設定

七、靜態NAT地址實驗圖

NAT網絡地址轉換理論+實驗

sw1:關閉路由功能,設置速率和全雙工
R3:給接口配IP,配置默認路由
f0/0:12.0.0.2/24
f0/1:13.0.0.1/24
R2:給接口配IP,配置默認路由回去,配置靜態NAT地址轉換,應用於接口
f0/0:12.0.0.1/24
f0/1:192.168.100.1/24
PC1:192.168.100.10/24
PC2:192.168.100.20/24

7.一、給交換機配置速率,全雙工,關閉路由功能

sw1#conf t
sw1(config)#no ip routing  //關閉路由功能
sw1(config)#int f1/0
sw1(config-if)#speed 100  //速率100
sw1(config-if)#dup full    //全雙工模式
sw1(config-if)#ex

7.二、給路由器R3接口配置d地址,配置默認路由

R3#conf t
R3(config)#int f0/0
R3(config-if)#ip add 12.0.0.2 255.255.255.0  //配置地址
R3(config-if)#no shut   //開啓地址接口
R3(config-if)#int f0/1
R3(config-if)#ip add 13.0.0.1 255.255.255.0
R3(config-if)#no shut
R3(config-if)#do show ip route  //查看路由表條目
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     12.0.0.0/24 is subnetted, 1 subnets
C       12.0.0.0 is directly connected, FastEthernet0/0
     13.0.0.0/24 is subnetted, 1 subnets
C       13.0.0.0 is directly connected, FastEthernet0/1
R3(config-if)#ex     
R3(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1  //配置默認路由
R3(config)#

7.三、給R2接口配IP,配置默認路由回去

R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 192.168.100.1 255.255.255.0  //配置地址
R2(config-if)#no shut
R2(config-if)#int f0/1
R2(config-if)#ip add 12.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.2
R2(config)#

7.四、給每一個主機配置地址

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

7.五、給R2配置靜態NAT地址轉換,應用於接口

R2#conf t
R2(config)#ip nat inside source static 192.168.100.10 12.0.0.10
//設置靜態NAT地址內部網轉換成外部網
R2(config)#ip nat inside source static 192.168.100.20 12.0.0.20
R2(config)#int f0/0
R2(config-if)#ip nat inside  //給F0/0接口設置內部
R2(config-if)#int f0/1
R2(config-if)#ip nat outside //給F0/1接口設置外部
R2(config-if)#end
R2#debug ip nat  //查看NAT地址轉換狀態
IP NAT debugging is on

八、靜態NAT映射

NAT端口映射協議(英語:NAT Port Mapping Protocol,縮寫NAT-PMP)是一個能自動建立網絡地址轉換(NAT)設置和端口映射配置而無需用戶介入的網絡協議。該協議能自動測定NAT網關的外部IPv4地址,併爲應用程序提供與對等端交流通訊的方法。NAT-PMP於2005年由蘋果公司推出,爲更常見的ISO標準互聯網網關設備協議(被許多NAT路由器實現)的一個替代品。該協議由互聯網工程任務組(IETF)在RFC 6886中發佈。 NAT-PMP使用用戶數據報協議(UDP),在5351端口運行。該協議沒有內置的身份驗證機制,由於轉發一個端口一般不容許任何活動,也不能用STUN方法實現。NAT-PMP相比STUN的好處是它不須要STUN服務器,而且NAT-PMP映射有一個已知的過時時間,應用能夠避免低效地發送保活數據包。 NAT-PMP是端口控制協議(PCP)的前身。app

8.1實驗圖

在廣域網上想訪問私網地址必需要有映射地址

實驗目的讓外部網的主機能訪問linux的WEB服務

NAT網絡地址轉換理論+實驗

8.二、到linux服務器當中安裝HTTPD服務並寫一個網頁,自測一下

[root@localhost ~]# yum install httpd -y  //安裝HTTPD服務
[root@localhost ~]# vim /var/www/html/index.html  //代站點底下建立文件和內容
<h1>this is web NAT </h1>                                 
[root@localhost ~]# systemctl start httpd  //開啓HTTPD服務
[root@localhost ~]# systemctl stop firewalld.service   //關閉防火牆
[root@localhost ~]# setenforce 0  //開啓加強功能

NAT網絡地址轉換理論+實驗

8.三、linux服務器綁定網卡,並設置固定IP

NAT網絡地址轉換理論+實驗

[root@localhost ~]# 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=849aa04e-1874-490f-8cb0-b2fde4b9a6f8
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.100   //IP地址
NETMASK=255.255.255.0   //子網掩碼
GATEWAY=192.168.100.1   //網關
[root@localhost ~]# systemctl restart network  //重啓網絡服務
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.100  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::e3c7:14af:6e4d:7216  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c9:dd:05  txqueuelen 1000  (Ethernet)
        RX packets 4309  bytes 4579244 (4.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1123  bytes 96283 (94.0 KiB)

8.四、到win10當中綁定網卡

NAT網絡地址轉換理論+實驗

8.五、到GNS3配置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

8.六、回到WIN10設置地址

NAT網絡地址轉換理論+實驗
NAT網絡地址轉換理論+實驗

8.七、回到GNS3開始配置端口映射

映射什麼意思?就是外部網想要訪問你的私網地址必需要映射,否則不安全。tcp

R1#conf t
R1(config)#ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable         
 //內部端口啓用NAT,tcp協議,IP地址加端口,映射外部網地址加端口,後面必定要加個擴展extendable
 on Interface NVI0, changed state to up
R1(config)#int f0/0
R1(config-if)#ip nat inside  //設置爲內部
R1(config-if)#int f0/1
R1(config-if)#ip nat outside  //設置爲外部
R1(config-if)#end
R1#debug ip nat   //測試啓動端口映射
IP NAT debugging is on

8.八、咱們回到外部網中的一臺主機去訪問一下。 http://12.0.0.100:8080/ 必定要加8080端口,這是映射的

NAT網絡地址轉換理論+實驗

九、動態NAT地址轉換

動態NAT是指將內部網絡的私有IP地址轉換爲公用IP地址時,IP地址對是不肯定的,是隨機的,全部被受權訪問Internet的私有IP地址可隨機轉換爲任何指定的合法IP地址。也就是說,只要指定哪些內部地址能夠進行轉換,以及用哪些合法地址做爲外部地址時,就能夠進行動態轉換。動態轉換可使用多個合法外部地址集。當ISP提供的合法IP地址略少於網絡內部的計算機數量時。能夠採用動態轉換的方式。ide

動態NAT實驗圖

實驗目的讓內部的私有網轉換成多個公網之一

NAT網絡地址轉換理論+實驗

9.一、二層交換機關閉路由功能,設置速率和全雙工模式

sw#conf t
sw(config)#no ip routing
sw(config)#int f1/0
sw(config-if)#speed 100
sw(config-if)#dup full
sw(config-if)#ex

9.二、給R1路由器接口設置地址,動態NAT

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)#access-list 1 permit 192.168.100.0 0.0.0.255
//定義內部容許的網段,後面要加反碼
R1(config)#ip nat pool test 12.0.0.10 12.0.0.100 netmask 255.255.255.0
//定義外部轉換的地址段落,地址範圍,起始地址和結束地址和子網掩碼
R1(config)#ip nat inside source list 1 pool test //引用內部的網段,轉換成外部網的地址池
R1(config)#int f0/0
R1(config-if)#ip nat inside  //定義內部網
R1(config-if)#int f0/1
R1(config-if)#ip nat outside //定義外部網
R1(config-if)#end         
R1#debug ip nat  //測試啓用NAT
IP NAT debugging is on

9.三、給每臺主機配置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 12.0.0.12 12.0.0.1
Checking for duplicate address...
PC1 : 12.0.0.12 255.255.255.0 gateway 12.0.0.1

9.四、PC1和PC2主機去測試內部網轉換成外部網是否是有多個公網地址

PC1> ping 12.0.0.12
84 bytes from 12.0.0.12 icmp_seq=1 ttl=63 time=20.944 ms
84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=18.950 ms
84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=15.957 ms
84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=22.452 ms
84 bytes from 12.0.0.12 icmp_seq=5 ttl=63 time=19.952 ms
*Mar  1 00:19:47.327: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34108 (34108)
R1#
*Mar  1 00:19:47.463: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15552]
*Mar  1 00:19:47.471: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15552]
*Mar  1 00:19:48.351: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34364 (34364)
R1#
*Mar  1 00:19:48.487: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15553]
*Mar  1 00:19:48.499: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15553]
*Mar  1 00:19:49.375: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34620 (34620)
R1#
*Mar  1 00:19:49.511: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15554]
*Mar  1 00:19:49.519: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15554]
*Mar  1 00:19:50.399: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34876 (34876)
R1#
*Mar  1 00:19:50.531: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15555]
*Mar  1 00:19:50.543: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15555]
*Mar  1 00:19:51.423: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 35132 (35132)
R1#

十、PAT轉換

實驗圖

實驗目的:讓全部的私網地址轉換成同一個公網地址

NAT網絡地址轉換理論+實驗

Port Address Translation,端口多路複用(端口地址轉化),經過改變外出數據包源IP和源端口,並進行端口轉換,內網全部主機都可共享一個公用IP訪問外網,節約IP。

10.一、二層交換機關閉路由功能,配置速率和全雙工模式

sw#conf t
sw(config)#no ip routing
sw(config)#int f1/0
sw(config-if)#speed 100
sw(config-if)#dup full

10.二、R2給接口配置地址,配置PAT地址轉換

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)#access-list 1 permit 192.168.100.0 0.0.0.255    //定義內部容許的網段,加反碼
R1(config)#ip nat inside source list 1 interface fastEthernet 0/1 overload
//直接引用外部接口 ,overlload全部外部網
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  //測試啓動NAT

10.三、給每臺主機配置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 12.0.0.12 12.0.0.1
Checking for duplicate address...
PC1 : 12.0.0.12 255.255.255.0 gateway 12.0.0.1

10.4測試PC1和PC2的私網地址訪問的是否是同一個公網地址

PC1> ping 12.0.0.12 -t
12.0.0.12 icmp_seq=1 timeout
84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=20.943 ms
84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=17.919 ms
84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=16.956 ms
R1#
*Mar  1 00:19:04.779: NAT: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18124]
R1#
*Mar  1 00:19:06.783: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18125]
*Mar  1 00:19:06.791: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18125]
R1#
*Mar  1 00:19:07.807: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18126]
*Mar  1 00:19:07.811: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18126]
R1#
*Mar  1 00:19:08.823: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18127]
*Mar  1 00:19:08.831: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18127]
R1#
*Mar  1 00:19:09.843: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18128]
*Mar  1 00:19:09.847: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18128]
R1#
PC2> ping 12.0.0.12 -t
84 bytes from 12.0.0.12 icmp_seq=1 ttl=63 time=29.921 ms
84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=16.981 ms
84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=15.958 ms
84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=23.936 ms
R1#
*Mar  1 00:20:28.715: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18208]
*Mar  1 00:20:28.719: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18208]
R1#
*Mar  1 00:20:29.731: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18209]
*Mar  1 00:20:29.739: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18209]
R1#
*Mar  1 00:20:30.751: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18210]
*Mar  1 00:20:30.759: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18210]
R1#
*Mar  1 00:20:31.775: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18211]
*Mar  1 00:20:31.779: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18211]
相關文章
相關標籤/搜索