網關服務器iptables的SNAT與DNAT地址轉換
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地址轉換