NAT කියන්නේ මොකක්ද? Static NAT, Dynamic NAT සහ PAT සරලව තේරුම් ගමු
Networking ඉගෙනගන්නකොට අනිවාර්යයෙන්ම හම්බවෙන topic එකක් තමයි NAT (Network Address Translation).
විශේෂයෙන් CCNA කරන කෙනෙක් නම් Static NAT, Dynamic NAT සහ PAT (NAT Overload) කියන concepts ටික හොඳට තේරුම් ගන්න එක වැදගත්.
NAT මුලින් බලද්දි ටිකක් confusing වගේ පේන්න පුළුවන්. හැබැයි concept එක අල්ලගත්තම configurations ටිකත් ලේසි.
NAT කියන්නේ මොකක්ද?
අපේ home network එකේ හෝ office network එකේ devices වලට සාමාන්යයෙන් තියෙන්නේ Private IP Addresses.
උදාහරණයක්:
PC1 → 192.168.1.10
PC2 → 192.168.1.20
PC3 → 192.168.1.30
මේ Private IP addresses direct Internet එකේ route කරන්නේ නැහැ. Internet එකට communicate කරන්න Public IP address එකක් අවශ්ය වෙනවා.
මෙතනදි තමයි NAT වැඩේට එන්නේ.
Private IP → NAT Router → Public IP → Internet
සරලව කිව්වොත් Router එක Private IP address එක Public IP address එකකට translate කරනවා. ඒ process එක තමයි Network Address Translation.
NAT Address Terms
NAT ඉගෙනගන්නකොට මේ terms හතර හම්බවෙනවා:
- Inside Local
- Inside Global
- Outside Local
- Outside Global
මුලින්ම වැදගත් දෙක තමයි Inside Local සහ Inside Global.
Inside Local කියන්නේ inside device එකට local network එකේ තියෙන address එක. සාමාන්යයෙන් මේක Private IP එකක්.
192.168.1.10
Inside Global කියන්නේ outside network එකට inside device එක represent කරන globally routable address එක.
203.0.113.10
සරල example එකක:
Inside Local = 192.168.1.10
Inside Global = 203.0.113.10
NAT ප්රධාන වර්ග
අපි මේ article එකේ NAT වර්ග තුනක් බලනවා:
- Static NAT
- Dynamic NAT
- PAT (Port Address Translation)
1. Static NAT
Static NAT කියන්නේ One-to-One mapping එකක්.
ඒ කියන්නේ එක Private IP address එකකට එක Public IP address එකක් fixed විදිහට map කරනවා.
192.168.1.10 ↔ 203.0.113.10
මේ mapping එක automatically වෙන Public IP එකකට මාරු වෙන්නේ නැහැ.
Static NAT internal servers වගේ fixed mapping එකක් අවශ්ය situations වල භාවිතා කරන්න පුළුවන්.
Static NAT Configuration
මුලින් LAN-facing interface එක NAT inside විදිහට configure කරමු.
Router(config)# interface g0/0
Router(config-if)# ip nat inside
Internet-facing interface එක NAT outside විදිහට configure කරනවා.
Router(config)# interface g0/1
Router(config-if)# ip nat outside
දැන් Static NAT mapping එක හදමු.
Router(config)# ip nat inside source static 192.168.1.10 203.0.113.10
මෙහි:
192.168.1.10 = Inside Local
203.0.113.10 = Inside Global
ඒ කියන්නේ සරලව:
192.168.1.10 → 203.0.113.10
2. Dynamic NAT
Dynamic NAT වලදිත් Private IP addresses Public IP addresses වලට translate කරනවා.
හැබැයි Static NAT වගේ එක Private IP එකකට permanently එක Public IP එකක් map කරන්නේ නැහැ.
Dynamic NAT වලදි අපි Public IP Pool එකක් හදනවා.
උදාහරණයක්:
203.0.113.10
203.0.113.11
203.0.113.12
203.0.113.13
203.0.113.14
Inside device එකකට translation එකක් අවශ්ය වුණාම pool එකේ available Public IP address එකක් භාවිතා කරනවා.
192.168.1.10 → 203.0.113.10
192.168.1.20 → 203.0.113.11
192.168.1.30 → 203.0.113.12
Dynamic NAT Configuration
මුලින් Public IP Pool එක හදමු.
Router(config)# ip nat pool PUBLIC 203.0.113.10 203.0.113.20 netmask 255.255.255.0
මෙතන PUBLIC කියන්නේ Public IP එකක් නෙවෙයි. ඒක NAT pool එකට අපි දීපු නම විතරයි.
අපිට කැමති නමක් දෙන්න පුළුවන්:
PUBLIC
NATPOOL
ISP_POOL
MYPOOL
දැන් NAT කරන්න ඕන inside network එක ACL එකකින් identify කරමු.
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
මේකෙන් 192.168.1.0/24 network එක match කරනවා.
දැන් ACL එක NAT Pool එකට connect කරමු.
Router(config)# ip nat inside source list 1 pool PUBLIC
Interfaces configure කරන්නත් අමතක කරන්න එපා.
Router(config)# interface g0/0
Router(config-if)# ip nat inside
Router(config)# interface g0/1
Router(config-if)# ip nat outside
දැන් Dynamic NAT configuration එක ready.
Dynamic NAT එකේ limitation එක
හිතමු office එකේ computers 100ක් තියෙනවා. හැබැයි NAT pool එකේ Public IP addresses තියෙන්නේ 10ක් විතරයි.
100 Private IPs
↓
10 Public IPs
Public IP addresses 10ම translations සඳහා use වෙලා තියෙන වෙලාවක තවත් translation එකකට available Public IP එකක් නැති වෙන්න පුළුවන්.
මේ problem එක solve කරන්න ගොඩක් networks වල භාවිතා කරන solution එක තමයි PAT.
3. PAT - Port Address Translation
PAT කියන්නේ Port Address Translation.
මේකට NAT Overload කියලත් කියනවා.
PAT වල ලොකුම advantage එක තමයි devices ගොඩකට එක Public IP address එකක් share කරන්න පුළුවන් වීම.
192.168.1.10 \
192.168.1.20 \
192.168.1.30 ---> 203.0.113.5 ---> Internet
192.168.1.40 /
192.168.1.50 /
එහෙනම් Router එක connections වෙන වෙනම identify කරන්නේ කොහොමද?
මෙතන තමයි Port Numbers වැදගත් වෙන්නේ.
Concept එක සරලව:
192.168.1.10:5001 → 203.0.113.5:30001
192.168.1.20:5002 → 203.0.113.5:30002
192.168.1.30:5003 → 203.0.113.5:30003
Public IP address එක එකම වුණත් translation entries වෙන්කරලා තියාගන්න port information භාවිතා කරන්න පුළුවන්.
PAT Configuration
මුලින් NAT කරන්න ඕන inside network එක ACL එකකින් identify කරමු.
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
LAN-facing interface එක:
Router(config)# interface g0/0
Router(config-if)# ip nat inside
Internet-facing interface එක:
Router(config)# interface g0/1
Router(config-if)# ip nat outside
දැන් PAT configure කරමු.
Router(config)# ip nat inside source list 1 interface g0/1 overload
මෙතන වැදගත්ම keyword එක තමයි:
overload
overload keyword එක multiple inside hosts වලට outside interface එකේ IP address එක share කරගෙන NAT translations හදාගන්න ඉඩ දෙනවා.
CCNA question එකක:
Which keyword in a NAT configuration enables the use of one outside IP address for multiple inside hosts?
Answer එක overload.
Dynamic NAT Pool එකක් එක්ක PAT
PAT එක Public IP Pool එකක් එක්කත් configure කරන්න පුළුවන්.
Router(config)# ip nat pool PUBLIC 203.0.113.10 203.0.113.20 netmask 255.255.255.0
ACL එක:
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
දැන් overload එක්ක NAT configuration එක:
Router(config)# ip nat inside source list 1 pool PUBLIC overload
Static NAT vs Dynamic NAT vs PAT
| NAT Type | Translation | සරල අදහස | |---|---|---| | Static NAT | One-to-One | එක inside address එකකට fixed global address එකක් | | Dynamic NAT | Addresses to Pool | Public IP Pool එකෙන් available address එකක් | | PAT | Many-to-One / Many-to-Few | Port information භාවිතා කරලා Public IP addresses share කරනවා |
සරලව මතක තියාගන්න:
Static NAT
1 Private IP → 1 Public IP
Dynamic NAT
Private IPs → Public IP Pool
PAT
Many Private IPs → Public IP
+
Port Numbers
NAT Configuration Verify කරන්නේ කොහොමද?
NAT translations බලන්න:
Router# show ip nat translations
NAT statistics බලන්න:
Router# show ip nat statistics
Dynamic NAT translations clear කරන්න:
Router# clear ip nat translation *
Full PAT Configuration Example
LAN network එක:
192.168.1.0/24
LAN interface එක G0/0 සහ Internet-facing interface එක G0/1 කියලා හිතමු.
Complete configuration එක:
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# interface g0/0
Router(config-if)# ip nat inside
Router(config-if)# exit
Router(config)# interface g0/1
Router(config-if)# ip nat outside
Router(config-if)# exit
Router(config)# ip nat inside source list 1 interface g0/1 overload
දැන් 192.168.1.0/24 network එකේ devices වලට G0/1 interface එකේ address එක භාවිතා කරලා PAT හරහා outside network එකට communicate කරන්න පුළුවන්.
අවසානයේ මතක තියාගන්න
NAT කියන්නේ inside සහ outside networks අතර IP addresses translate කරන්න භාවිතා කරන mechanism එකක්. Static NAT වලදි one-to-one fixed mapping එකක් තියෙනවා. Dynamic NAT වලදි Public IP Pool එකකින් available address එකක් භාවිතා කරනවා. PAT වලදි devices ගොඩකට Public IP address එකක් share කරන්න පුළුවන්. ඒ සඳහා port information භාවිතා කරනවා.
Static = One-to-One
Dynamic = Pool
PAT = Ports + Overload