一、實現目的node
有三臺服務器,分別爲node1,node2(nat),node3,其中node2作nat轉換。在node1不能與node3直接通訊的狀況下,經過node2 nat地址轉換,實現node1能與node3通訊。
服務器
node1:192.168.0.73ide
node2:192.168.0.74 【nat機器】spa
node3:192.168.0.189ip
二、環境配置路由
node1不能與node3同窗,在node3上開啓防火牆,it
在node3上操做io
# systemctl start firewalld.service
table
# iptables -A INPUT -s 192.168.0.73 -j REJECTclass
將全部來自於192.168.0.73的請求拒絕。
三、NAT服務器配置
node2上的操做
首先打開內核ip地址轉發功能
# cat /proc/sys/net/ipv4/ip_forward //查看,1爲打開,0爲關閉
# echo "1" >/proc/sys/net/ipv4/ip_forward
# systemctl start firewalld.service
# iptables -t nat -A PREROUTING -s 192.168.0.73 -j DNAT --to-destination 192.168.0.189 //作目標地址轉發,將全部來自node1的請求的目的地址轉換成node3,因爲在路由器是看不到原地址的,因此只有作目的地址轉換。
# iptables -t nat -A POSTROUTING -d 192.168.0.189 -j SNAT --to 192.168.0.74
// 因爲PREROUTING鏈作的目的地址轉換,因此在POSTROUTING鏈看到的就是指向node3的數據包,所以在這裏對目的地址爲node3的數據包作SNAT(源地址轉換),將源地址node1轉換成node2的,
通過目的地址轉換和源地址轉換後,發往node3的數據包就是S:node2,D:node3,所以跳過了node3的防火牆規則。