linux系統之iptables其三NAT的用法

2021-09-21 09:00:00 字數 1611 閱讀 2584

在之前己經介紹過iptables的原理及其基本命令的註解與用法,下面將介紹nat技術。

前言:從根本上來說,nat就是允許一台或者多台機器共享乙個公網ip位址;第一種情況,以內網為例,把這些機器的預設閘道器設定為 nat伺服器後,這樣所有的報文都會通過閘道器傳送出去(snat),還有一種情況,如果我們內網有多個對外網的伺服器,基於節約ip位址資源的考慮也可以使用的nat技術,將內網中的多個伺服器給外網使用者提供服務(dnat).

一、nat之snat

nat伺服器能夠改變報文的源和目的位址成另外乙個不同的位址。nat 伺服器接收到乙個報文,接著就改寫它的源/目的位址,其次在重新計算這個報文的校驗和。其中很重要的乙個用途就是源位址nat(snat),源位址nat其實就是解決只有乙個公網 ip,但是有多台計機器需要上網,這樣我們就開啟snat功能,這樣內網中多台計算機就能夠共享這乙個公網ip 位址上網了。(如圖,下圖如引起您的各種不適,與本人無關)

注:另外乙個 snat 就是偽裝(masquerade),它主要應用於動態位址分配的場合,對於masquerade它會自動用出介面上面的位址作為報文新位址。

上圖註解

源位址192.168.1.20

目標位址

www.essun.org

規則#echo 1 >/proc/sys/net/ipv4/ip_forward(臨時啟用**)

#sysctl -p

#iptables -t nat -i postrouting -s 192.168.1.0/24 --dport 80 -j snat --to-source 202.106.32.132

注:如果是動態獲取公網ip,可使用(masquerade)

#iptables -t nat -i postrouting -s 192.168.1.0/24 --dport 80 -o eth1 -j masquerade

二、nat之dnat

dnat 在我們假設自己的伺服器時候特別有用。首先它能夠幫助我們節約 ip 位址(多台伺服器共享乙個ip),其次在 nat 伺服器和實際的伺服器之間相當於增加了乙個防護體系,增強了伺服器的安全係數。例如一些公司可能對外網執行 web 和 ftp 伺服器,他們可能在同一臺機器上面,也有可能是物理上分開的機器,這樣就可以借助dnat,通過同乙個ip提供上述的所有服務。(如圖)

上圖註解

目地位址

202.106.32.132

源位址6.6.6.6

規則#echo 1 >/proc/sys/net/ipv4/ip_forward(臨時啟用**)

#sysctl -p

#iptables -t nat -a prerouting -d 202.106.32.132 -p tcp --dport 80 -j dnat --to-destination 172.16.1.20:80

***********************************====完****************************************=

linux使用iptable做閘道器

linux 需要兩個網絡卡 乙個外網網絡卡乙個內網網絡卡 乙個外網絡卡 cat etc sysconfig network scripts ifcfg eth0 device eth0 type ethernet onboot yes nm controlled yes bootproto none...

Linux 之系統美化

美的系統介面,讓人看了心曠神怡,工作起來時心情也是美美的,美化既是對美的一種追求,我覺得只使用預設的系統介面,使用的系統不負責,更是對自己不負責 需要安裝tweaks以及它的擴充套件模組 apt get install gnome tweak tool apt get install gnome s...

linux之系統服務

linux伺服器的主要任務就是為本地或遠端使用者提供各種服務。通常linux系統上提供服務的程式室友執行在後台的守護程序 daemon 來執行。乙個實際執行中的linux系統一般會有多個這樣的程式在執行。這些後台守護程序在系統開機後就執行了,並且在時刻地監聽前台客戶地服務請求,一旦客戶發出了服務請求...