DAY5 DHCP與NAT - daniel-qa/Network GitHub Wiki

DHCP & NAT服務

我們先來談談NAT服務, 最前面幾天我捫有說到私有IP&外部IP, NAT這個服務就是協助我們將內部私有IP帶到外面網際網路的重點,

  • NAT

進行網路IP位置的封裝轉換 。

之前也有說到這個主要目的是要解決目前IPv4網路上IP位置不夠的問題。 雖然IPv4已經慢慢準備要被IPv6取代掉,但那也是好久之後的事情, NAT 的轉換方式除了整個網段的轉換(封裝)之外, 他也可以針對特定port進行轉換,我捫稱為NAPT

這個 NAPT 跟一般的NAT不太一樣,一般的 NAT 是我內部連接到外部, 而且不管是要連接甚麼特定服務都幫你轉換(雖然也可以指限制轉換,例如只讓你連接到80&443) 但這邊的NAPT是反過來使用的,也就是原本是內部連接外部,

那現在外部連接到內部該怎麼處理呢?

假使我在我的電腦本機(10.10.10.10)上建立的一個測試用的網站(HTTP),我想讓客戶看到我的網站。 但我的IP位置是私有IP,外面一般來說是看不到!!該怎麼辦? 這時候就是得看NAPT的反向轉換。

EX:

公司私有網段:10.10.10.0/24 , 外部IP 11.11.11.11/32 ,服務 HTTP(TCP-80)

內部 → 外部網路 10.10.10.0/24 轉換成 11.11.11.11出去連接網際網路

所以不管是我個人的IP:10.10.10.10/3或者我同事10.10.10.11/32連接出去都是遇同樣的IP。

外部 → 內部

之前有說過了,內部IP一般外面是無法連接的,除了不知道外,私有IP是不被承認的。 所以現在要用NAPT了。

我在NAT服務上面設定10.10.10.10的 TCP -80 直接綁定到11.11.11.11 TCP:80上, 這個時候別人**只要連接http://11.11.11.11,就會由NAPT幫我顯示我電腦上的測試網站了。**

外部IP → 11.11.11.11 (由NAPT協助導向10.10.10.10)去。這也是一種保護內部主機的方法

簡單聊完了NAT & NAPT,現在要來聊聊 DHCP。 在公司內部多數單位都是設定固定IP,會有少部分的電腦主機或者客戶的電腦上都沒有固定的IP位置, 那在沒有設定IP的狀況下,我們該如何上網呢?

這個時候就得靠 DHCP(Dynamic Host Configuration Protocol)功能了! 分派動態IP,當然派發動態IP是需要先設定好的, 設定好你要分派的IP範圍(EX:10.10.10.11-10.10.10.20), 設定好租用時間(代表多久候需要重新要求一個新的動態IP位置,因為IP位置不夠用,總不能讓人租用了之後一直占用著吧!)

而DHCP租用的邏輯這邊就不多談, 只是要注意DHCP派發的範圍要注意不要跟有設定固定IP的位置重疊, 不然會發生IP衝突的狀況,也就是有可能一下網路通一下不通的狀況,或者直接拿到169.254.X.X網段。 附帶一提,當DHCP的動態IP位置派發完之後,沒辦法拿到動態IP的主機也會變成169.254.X.X網段

那為什麼這兩個東西會放在一起討論,是因為現在許多的網路設備都是直接把這兩個服務包在裡面變成商品後一起出售,像現在大家最常用到的無線基地台(WIFI設備),若是直接租用中華電信的WIFI功能,工程師會在裝機的那天直接把你家的外部IP設定成NAT的外部IP位置,而內部私有IP則會透過DHCP去進行派發因為不可能要求你在智慧型裝置上一台一台的設定固定IP位置,這樣是一個很不明智的行為

所以大家之後可以在連上WIFI網路後,檢查看看自己手機內的IP位置,是不是都不一樣,但卻又能夠上網呢?

今天就分享到這,明天將接著介紹DNS服務 以及TCP&UDP的差別。

無線網路設備簡易架構圖如下:

NAT & DHCP

NAT & NAPT &DHCP