1. 程式人生 > >網關服務器iptables的SNAT與DNAT地址轉換

網關服務器iptables的SNAT與DNAT地址轉換

SNAT DNAT iptables DNS

技術分享圖片

SNAT(Source Network Address Translation 源地址轉換)是Linux防火墻的一種地址轉換操作,也是iptables命令中的一種數據包控制類型,其作用是根據指定條件修改數據包的源IP地址。
DNAT(Destination Network Address Translation 目標地址轉換)是Linux防火墻的另一種地址轉換操作,同樣也是iptables命令中的一種數據包控制類型,其作用是可以根據指定條件修改數據包的目標IP地址和目標端口。

實驗描述

需求分析:

  • DNSserver搭建分離解析;
  • 內網解析www.yun.com為192.168.100.88;
  • 外網解析www.yun.com為12.0.0.1;
  • 利用SNAT和DNAT實現網址轉換成eth1端口IP;
  • 使得內外網pc機均可使用www.yun.com域名訪問;

實驗環境:

  • DNSserver采用DNS分離解析;
  • 內網WEB服務器提供Apache網站服務;
  • Apache版本2.2;
  • Linux系統版本Redhat6.5;

實驗部署

1、搭建DNS分離解析

為DNSserver搭建分離解析服務,並設置解析域名為"www.yun.com"詳細過程可參見DNS分離解析服務。
設定eth0為內網網卡,eth1為外網網卡。

2、iptables防火墻規則設置

搭建完成DNS分離解析,為了使服務器啟動路由轉發功能:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1    //設置為1,開啟路由轉發功能

sysctl -p // 刷新sysctl.conf文件,使修改立即生效

①SNAT實現內網訪問外網地址轉換成eth1地址

iptables -F //清空防火墻默認規則
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j SNAT --to-source 12.0.0.1
//將內網pc機訪問外網時IP均變為 12.0.0.1

②DNAT實現外網訪問內網地址轉換成eth1地址

iptables -t nat -A PREROUTING -i eht1 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.88

//讓外網pc訪問外網網卡eth1即可轉發到內網web服務器上。

此處列舉外網pc機配置和訪問情況:
技術分享圖片

網關服務器iptables的SNAT與DNAT地址轉換