======NAT======
- NAT全名為 Network Address Translation 即是網路位址轉換。
- 通常大多數家裡都用IP分享器接ADSL上網,其實都是用NAT的技術,把私有IP(ex:192.168.1.x,172.16.x.x,10.x.x.x等)轉換成實際IP連上internet。
- 在Linux世界裡防火牆(NetFilter)就有這項NAT的功能,因此學會防火牆的架設及觀念,NAT的技術自然就瞭解了。
- 本實驗主要利用Linux主機NAT功能,在區域網裡讓眾多電腦以私有IP連上網路。
=====圖示說明=====
{{:linux:nat建置網路架構圖.png?700|}}
=====NetFilter簡易的Table與Chain相關性=====
{{:linux:iptables_內建table與chain的關聯圖.gif?500 |}}
=====SNAT=====
使內部區域網路(192.168.139.0/24)透過eth0網卡連上網路。
[rootlocalhost~]#echo "1" >/proc/sys/net/ipv4/ip_forward(使NAT主機具有ip路由的能力)
[rootlocalhost~]#iptables -t nat -A POSTROUTING -s 192.168.139.0/24 -o eth0 -j MASQUERADE(MASQUERADE表封包儰裝)
[rootlocalhost~]#iptables -L -t nat (查看設定資訊)
另一個方法不用儰裝,利用連上網路的一端(這裡是 192.168.1.100)出去。
[rootlocalhost~]#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.100
[rootlocalhost~]#iptables -L -t NAT
=====DNAT=====
若192.168.139.0/24的區段需架設伺服器(例如WEB SERVER),讓Internet都能連進來。
[rootlocalhost~]#iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.139.2:80