国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

解析iptables中SNAT和MASQUERADE之間的區別

2020-07-10 11:18:36
字體:
來源:轉載
供稿:網友

一、SNAT與DNAT概念

IPtables中可以靈活的做各種網絡地址轉換(NAT),網絡地址轉換主要有兩種:SNAT和DNAT。

SNAT是source network address translation的縮寫,即源地址目標轉換。比如,多個PC機使用ADSL路由器共享上網,每個PC機都配置了內網IP,PC機訪問外部網絡的時候,路由器將數據包的報頭中的源地址替換成路由器的ip,當外部網絡的服務器比如網站web服務器接到訪問請求的時候,他的日志記錄下來的是路由器的ip地址,而不是pc機的內網ip,這是因為,這個服務器收到的數據包的報頭里邊的“源地址”,已經被替換了,所以叫做SNAT,基于源地址的地址轉換。

DNAT是destination network address translation的縮寫,即目標網絡地址轉換,典型的應用是,有個web服務器放在內網配置內網ip,前端有個防火墻配置公網ip,互聯網上的訪問者使用公網ip來訪問這個網站,當訪問的時候,客戶端發出一個數據包,這個數據包的報頭里邊,目標地址寫的是防火墻的公網ip,防火墻會把這個數據包的報頭改寫一次,將目標地址改寫成web服務器的內網ip,然后再把這個數據包發送到內網的web服務器上,這樣,數據包就穿透了防火墻,并從公網ip變成了一個對內網地址的訪問了,即DNAT,基于目標的網絡地址轉換。
二、MASQUERADE概念

MASQUERADE,地址偽裝,在iptables中有著和SNAT相近的效果,但也有一些區別,但使用SNAT的時候,出口ip的地址范圍可以是一個,也可以是多個,例如:

如下命令表示把所有10.8.0.0網段的數據包SNAT成192.168.5.3的ip然后發出去,


復制代碼
代碼如下:
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT –to-source 192.168.5.3

如下命令表示把所有10.8.0.0網段的數據包SNAT成192.168.5.3/192.168.5.4/192.168.5.5等幾個ip然后發出去


復制代碼
代碼如下:
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT –to-source 192.168.5.3-192.168.5.5

這就是SNAT的使用方法,即可以NAT成一個地址,也可以NAT成多個地址,但是,對于SNAT,不管是幾個地址,必須明確的指定要SNAT的ip,假如當前系統用的是ADSL動態撥號方式,那么每次撥號,出口ip192.168.5.3都會改變,而且改變的幅度很大,不一定是192.168.5.3到192.168.5.5范圍內的地址,這個時候如果按照現在的方式來配置iptables就會出現問題了,因為每次撥號后,服務器地址都會變化,而iptables規則內的ip是不會隨著自動變化的,每次地址變化后都必須手工修改一次iptables,把規則里邊的固定ip改成新的ip,這樣是非常不好用的。

MASQUERADE就是針對這種場景而設計的,他的作用是,從服務器的網卡上,自動獲取當前ip地址來做NAT。

比如下邊的命令:


復制代碼
代碼如下:
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE

如此配置的話,不用指定SNAT的目標ip了,不管現在eth0的出口獲得了怎樣的動態ip,MASQUERADE會自動讀取eth0現在的ip地址然后做SNAT出去,這樣就實現了很好的動態SNAT地址轉換。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐山市| 安义县| 乌兰察布市| 新平| 凤山市| 三台县| 濮阳县| 桦甸市| 噶尔县| 罗田县| 东乡| 汝城县| 青岛市| 栾城县| 大同市| 定襄县| 涿州市| 宜兰县| 金秀| 贵南县| 辽中县| 沈丘县| 维西| 海城市| 集贤县| 息烽县| 双牌县| 凤山市| 大荔县| 贡觉县| 商洛市| 揭阳市| 内江市| 阳城县| 古交市| 云浮市| 尉犁县| 英吉沙县| 崇州市| 长治市| 景东|