網絡地址轉換(NAT)
NAT概述
NAT的概念與實現方式
NAT的工作原理:網絡地址轉換
NAT實現方式:
靜態轉換
動態轉換
端口多路複用
NAT的術語與轉換表
訪問外部服務器的過程:先查詢路由表再查看NAT表進行轉換
數據包回來的過程:先查詢NAT表進行轉換再查詢路由表
NAT包含四類地址
內部局部地址
外部局部地址
內部全局地址
外部全局地址
NAT的轉換條目
簡單轉換條目
擴展轉換條目
NAT的優缺點
NAT的優點
節省公有合法IP地址
處理地址重疊
增強靈活性
安全性
NAT的缺點
延遲增大
配置和維護的複雜性
不支持某些應用,可以通過靜態NAT映射來避免
NAT實現方法的工作過程
NAT的特徵
NAT的的配置
NAT配置步驟
1、接口IP地址配置
2、使用訪問控制列表定義那些主機能做NAT
3、決定採用什麼公有地址,靜態和地址池
Router(config)#ip nat pool pool-name star-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]
4、指定地址轉換映射
Router(config)#ip nat inside source static local-ip global-ip [extendable]
Router(config)#ip nat inside source list access-list-number pool pool-name [overload]
5、在內部和外部端口上啓用NAT
靜態NAT配置實例
將內網地址192.168.100.2 / 192.168.100.3靜態轉換爲合法的外部地址61.159.62.131 / 61.159.62.132,以便訪問外部網絡或被外部網絡訪問
設置外部端口的IP地址:
router(config)#interface FastEthernet 0/0
router(config-if)#ip address 61.159.62.130 255.255.255.248
router(config-if)#no shut
設置內部端口的IP地址:
router(config)#interface FastEthernet 1/0
router(config-if)#ip address 192.168.100.1 255.255.255.0
router(config-if)#no shut
建立靜態地址轉換:
router(config)#ip nat inside source static 192.168.100.2 61.159.62.130
router(config)#ip nat inside source static 192.168.100.3 61.159.62.131
在內部和外部端口上啓用NAT:
router(config)#inerface FastEthernet 0/0
router(config)#ip nat outside
router(config)#interface FastEthernet 1/0
router(config)#ip nat inside
配置默認路由:
router(config)#ip router 0.0.0.0 0.0.0.0 61.159.62.129
實驗:靜態NAT配置
實驗拓撲圖
R2接口配置
輸入以下命令:
conf t
int f0/0
ip add 12.0.0.2 255.255.255.0
no shut
int f0/1
ip add 13.0.0.1 255.255.255.0
no shut
ex
ip route 0.0.0.0 0.0.0.0 12.0.0.1
sw接口配置
輸入以下命令:
conf t
no ip routing
int f1/2
speed 100
dup full
ex
R1接口配置
輸入以下命令:
conf t
int f0/0
ip add 192.168.100.1 255.255.255.0
no shut
int f0/1
ip add 12.0.0.1 255.255.255.0
no shut
ex
ip route 0.0.0.0 0.0.0.0 12.0.0.2
配置PC機地址
分別輸入以下命令:
PC1> ip 192.168.100.10 192.168.100.1
PC2> ip 192.168.100.20 192.168.100.1
PC3> ip 13.0.0.2 13.0.0.1
測試全網是否互通
輸入以下命令:
PC1> ping 192.168.100.20
PC1> ping 13.0.0.2
靜態NAT地址轉換配置
輸入以下命令:
ip nat inside source static 192.168.100.10 12.0.0.10
ip nat inside source static 192.168.100.10 12.0.0.20
int f0/0
ip nat inside
int f0/1
ip nat outside
end
debug ip nat
測試NAT地址轉換配置結果
實驗:NAT靜態端口映射
實驗需求:
Linux搭建的一臺Web服務器,局域網地址爲192.168.100.100,默認端口爲80端口
局域網的網關192.168.100.1
廣域網的客戶機無法直接訪問100.100地址,如果想訪問的話就需要做端口映射
映射地址:192.168.100.100:80—>12.0.0.100:8080
win7作爲廣域網的客戶端
CentOS 7做爲Web服務器
實驗拓撲圖
在CentOS7的終端做以下配置
yum install httpd -y
vim /var/www/html/index.html
<h1>this is inside web</h1>
systemctl start httpd
systemctl stop firewalld.service
setenforce 0
輸入本地地址,對網站進行自測
對CentOS7綁定VMnet1網卡,並配置固定ip192.168.100.100
vim /etc/sysconfig/network-scripts/ifcfg-ens33
將第4行的dhcp改爲static
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
將win10綁定VMnet2網卡,並配置固定ip12.0.0.12
配置路由器網關地址
conf t
int f0/0
ip add 192.168.100.1 255.255.255.0
no shut
ex
int f0/1
ip add 12.0.0.1 255.255.255.0
no shut
ex
靜態NAT地址轉換配置
ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable
int f0/0
ip nat inside
int f0/1
ip nat outsid
end
debug ip nat
再次嘗試使用公網地址在win10進行訪問,此時可以成功,並且debug可以抓取到地址轉換過程